2017-09-24 16 views
1

セルL26以下でループスルー範囲以下のVBAコードがあります。うまくいきますが、セルが空白の場合はスキップしたいと思います。Excel VBAループ範囲とスキップブランク

For i = 10 To 49 
    Cells(i, 4).Select 
    If Cells(i, 4).Value <> "" Then 
     code.... 
    End If 

上記のコードを私のVBAコードに変更するには、アドバイスをいただきありがとうございます。ありがとうございます。

Sub PLANNER() 

Dim loopRng As Range 
Dim r As Range 

Application.ScreenUpdating = False 
For Each r In Sheet7.Range("L26", Range("L" & Rows.Count).End(xlUp)) 
    Sheet7.Range("L19").Value = r.Value 
    Set loopRng = Worksheets("setting").Range("L21") 
    ActiveWindow.ScrollRow = loopRng 
    Application.CutCopyMode = False 
    Call planner_Mail 
Next r 
Sheet2.Range("D2").Select 

End Sub 

答えて

1

コードのコメントには、以下の私のコードを参照してください。説明(およびいくつかの質問):

Option Explicit 

Sub PLANNER() 

Dim loopRng As Range 
Dim R As Range 
Dim Sht As Worksheet 

Application.ScreenUpdating = False 

Set Sht = Sheet7 ' <-- make sure this is the worksheet you have your data 
With Sht 
    For Each R In .Range("L26", .Range("L" & .Rows.Count).End(xlUp)) 
     If Trim(R.Value) <> "" Then ' check that cell is not blank 
      .Range("L19").Value = R.Value 
      Set loopRng = Worksheets("setting").Range("L21") ' Not sure if Sheet7 = Worksheets("setting") 
      ActiveWindow.ScrollRow = loopRng 
      Application.CutCopyMode = False 
      planner_Mail ' you can "drop" the "Call" 
     End If 
    Next R 
End With 
Application.ScreenUpdating = True 

End Sub 
+0

ブラボー!あなたのコードは完璧に動作しています、あなたは私のコードを正しく読んでいます!これで10時間のグーグルと試行錯誤が終わりました。ありがとうございました! – robin

+0

@robinよろしくお願いします;) –

1

私はこれを行うべきだと思います。

Sub PLANNER() 
Dim loopRng As Range 
Dim r As Range 

Application.ScreenUpdating = False 
    For Each r In Sheet7.Range("L26", Range("L" & Rows.Count).End(xlUp)) 
     If r.Value <> "" Then 
      Sheet7.Range("L19").Value = r.Value 
     End If 
    Set loopRng = Worksheets("setting").Range("L21") 
ActiveWindow.ScrollRow = loopRng 
Application.CutCopyMode = False 
    Call planner_Mail 
Next r 

Sheet2.Range("D2").Select 
End Sub 
+0

やあ、共有するためのおかげで、しかし、コードが動作していないが、それは空白のセルをスキップしませんでした。 – robin

+0

@robin Hm、それはうまくいったはずです。あなたは本当に空白のセルが本当に空白ですか? – dwirony

+0

こんにちは、はい、セルが空白です、私はここでコードを変更している、まだ動作しません。例えば。私は範囲内に10個の細胞を持っています。 L26〜L35の間には空白のセルがいくつかありますが、コードはL35の最後までちょうど繰り返され、空白の場合はスキップされません。 – robin

関連する問題