返回列表 上一主題 發帖

[發問] 尋解答

[發問] 尋解答

如A1數(A2-A50)內有那些儲存格是藍色(因某些儲存格做了一些conditional formatting )!
要在A1 格內顯示有多少格!
VBA 如何編寫!

回復 1# wwh126


    您好:

請試試如下
Sub aa()
   
    Dim mSht As Worksheet
    Dim mRng As Range, mRng1 As Range
    Dim s%
   
    Set mSht = ActiveSheet
    With mSht
        Set mRng1 = .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
        For Each mRng In mRng1
       If mRng.Interior.ColorIndex = 5 Then '儲存格顏色
            'If mRng.Font.ColorIndex = 5 Then '儲存格字型顏色            
                s = s + 1
            End If
        Next
        If s > 0 Then
            .Range("a1") = "藍色儲存格合計 :" & s
        End If
    End With
End Sub

TOP

回復 1# wwh126

是要計算符合條件格式為藍色的儲存格數量嗎?
那要針對格式條件做計算
學海無涯_不恥下問

TOP

本帖最後由 handsometrowa 於 2013-8-22 09:28 編輯

回復 2# dechiuan999


    版大
   Set mRng1 = .Range("a2", .Range("a" & .Rows.Count).End(xlUp))

這行陳述式,要抓A2:A50 最後使用的  .End(xlUp)  這樣子可以嗎@@?

先看到先回我還沒試驗,拍謝

使用End(xlDown) 這樣子 會不會比較好@@?

還是我搞混了?

TOP

回復 4# handsometrowa
如果資料範圍內不包含空格
那麼End(Xlup)與End(Xldown)會得到相同結果
但若中間包含空格
End(Xldown)則會只取到空格處
學海無涯_不恥下問

TOP

但如果藍色儲存格是由conditional formatting 轉成的則顯示不了!

TOP

回復 2# dechiuan999

但藍色儲存格是由設定格式化條件中....儲存格的值是大於零時該儲存格會變成藍色,則COUNT 不出來。

求解決.....

TOP

回復 7# wwh126


    大大你好:

   Hsieh版主大大有說明如果是要
計算符合條件格式為藍色的儲存格數量,
那要針對格式條件做計算。

  所以,應該無法直接依已格式化的
儲存格顏色做計算。

是否可改成針對格式條件來做計算呢?

例如:
a2:a20儲存格設定大於100時,
顏色顯示為藍色。

Sub aa()
   
    Dim mSht As Worksheet
    Dim mRng As Range, mRng1 As Range
    Dim s%
   
    Set mSht = acitvesheet
    With mSht
        Set mRng1 = .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
        For Each mRng In mRng1
            If mRng.Value > 100 Then
                s = s + 1
            End If
        Next
        
        .Range("c1") = "符合格式條件合計 :" & s
    End With
End Sub

TOP

回復 8# dechiuan999


    Sub aa()
   
    Dim mSht As Worksheet
    Dim mRng As Range, mRng1 As Range
    Dim s%
   
    Set mSht = ActiveSheet
    With mSht
        Set mRng1 = .Range("a2:A1000", .Range("a" & .Rows.Count).End(xlUp))
        For Each mRng In mRng1

      If mRng.FormatConditions(1).Interior.ColorIndex = 5 Then  

                s = s + 1
            End If
        Next
        If s > 0 Then
            .Range("a1") = "" & s
        End If
    End With
End Sub



紅色個句有錯誤, 請問點解決!!

TOP

回復 9# wwh126


    大大您好:

小弟對excel vba的理解實在有限。
目前也是邊學邊實習階段。
我想還是由版主及各位大大幫您
會比較好。
另外,是否可提供範例讓小弟
也有學習的機會呢?

TOP

        靜思自在 : 要比誰更受誰.不要比誰更怕誰。
返回列表 上一主題