2016-04-15 112 views
0

enter image description here我正在嘗試查找B顏色填充的顏色填充單元格的數量。我想算和顯示考爾充滿coloumns計算填充顏色的單元格的數量

的個數,但我得到的錯誤:

Dim sum As Long 
Dim count As Long 
    sum = 0 
count = 0 
    strFileName = Application.GetOpenFilename("Excel files (*.xls*),*.xl*", Title:="Open data") 
    Set Target = Workbooks.Open(strFileName) 
    Set tabWS = Target.Worksheets("Tabelle1") 

    ' lastrow = tabWS.Range("D" & tabWS.Rows.count).End(xlUp).Row 'Trigger Description starts from 2 row A coloumn 
     lastrow = tabWS.Range("B" & tabWS.Rows.count).End(xlUp).Row 'Trigger Description starts from 2 row A coloumn 
     For j = 2 To lastrow 
     If tabWS.Cells(j, 2).Interior.ColorIndex = 4 Then 
     sum = sum + tabWS.Cells(j, 8).value 
     count = count + 1 
     End If 
     Next j 

     MsgBox ("the value is" & sum) 
     End sub 

我收到錯誤總和=總和+ tabs.cell(J,8).value的

我無法弄清楚爲什麼我得到這個錯誤。任何人都可以給我一個建議

回答

1

它看起來像我每次在tabWS上使用方法時打開工作簿。嘗試設置tabWS等於下列代替:

tabWS = Worksheets("Tabelle1") 

現在,當你設置你的LASTROW和總和變量在代碼中後期你會不會嘗試一遍又一遍打開工作簿。

編輯(從下面的評論待續)*:

lastrow = Worksheets("Tabelle1").Range("B" & Worksheets("Tabelle1").Rows.count).End(xlUp).Row 
    For j = 2 To lastrow 
    If Worksheets("Tabelle1").Cells(j, 2).Interior.ColorIndex = 4 Then 
    sum = sum + Worksheets("Tabelle1").Cells(j, 8).value 
    count = count + 1 
    End If 
    Next j 

    MsgBox ("the value is" & sum) 
    End sub 
+0

我得到錯誤438 – user2965711

+0

對不起,我忘了指定你需要改變變量的類型tabWS是。你可以嘗試完全刪除tabWS嗎?您的代碼如下所示:*(代碼在編輯答案中發佈的代碼) –

+0

代碼中出現同樣的錯誤 – user2965711

相關問題