2016-04-15 11 views
0

enter image description here私はB coloumnで着色した細胞の数を見つけようとしています。私はColourfilled細胞の数を数えます。

クール満たさ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でメソッドを使用するたびにWorkbookを開くように見えます。あなたのコードの後半にあなたのLASTROW和変数を設定しているとき

tabWS = Worksheets("Tabelle1") 

は今、あなたは何度も何度もブックを開くしようとしません。代わりに次に等しいtabWSを設定してみてください。

編集(以下のコメントからの続き)*:

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

関連する問題