2017-07-14 12 views
-3

私は手がかりがないので、ステートメントが機能しません。エラーは発生しませんが、同時にシートに結果はありません。VBA:ステートメントが機能しない場合

Sub won() 
    Dim ws As Worksheet 
    Dim lastrow As Long 

    Set ws = ThisWorkbook.Sheets("Data imput") 
    lastrow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row 

    For i = 3 To lastrow 
     If ws.Cells(i, 6) = "customer" Then 
     ws.Cells(i, 16) = 1 
     End If 
    Next i 

    MsgBox "done!" 
End Sub 
+0

の先頭に次のコード行を置きますか? – David

+0

こんにちは、愚かな答えかもしれないが、正確に書かれた "顧客"です –

+0

それはあまりにも偽を表示されません。 – aannie

答えて

0

これは、あなたが列1内LASTROWを検索しているため、このようなコラム6のためにそれを実行してくださいかもしれません:

lastrow = ws.Cells(ws.Rows.Count, 6).End(xlUp).Row 
+0

それは今作動する!ありがとうございました! – aannie

0

あなたは変数iを定義するために忘れてしまいました。将来的にはこのエラーを防止するために

Dim i As Integer 

は、おそらくそれはは `false`に評価されていることで働いているマクロ

Option Explicit 
+0

'Long'として' i'変数を宣言すると、 'Integer'が16ビットで、-32,768と32,768の間であり、' Long'が32ビットで、-2,147,483,648と2,147,483,648の間であると考える方が良いでしょう。 – Tehscript

+0

True、Longあなたが既にLongとして宣言しているのでより良い。 – sourceCode

関連する問題