- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA教えてください)
VBA初心者のための複数条件に基づいた文字反映の方法
このQ&Aのポイント
- VBA初心者向けの質問です。B70からB20のセルの中に文字が入っている場合、その下のセルにA1の文字を反映する方法を知りたいです。複数の条件を満たすセルに対してのみ反映させる方法を教えてください。
- 提供されたコードでは、複数のセルにA1の文字が反映されてしまいます。実際には、B50セルに文字が入っている場合にのみ、B51セルに反映させたいです。
- 分かる方にコードを教えていただきたいです。よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
単に End IF の前に Exit For をつけてループを抜ければいいです。 ループを使わない次の方法もあります ' Sub Macro1() ' Dim i As Long ' i = [B70].End(xlUp).Row ' If i > 20 Then Cells(i + 1, "B") = [A1] End If ' End Sub []はrange の省略(但し、変数は使えない) End(xlUp) はCtrl+↓ Row は行位置です
その他の回答 (1)
- tsubu-yuki
- ベストアンサー率46% (179/386)
回答No.2
なんというか、とりあえず簡単な一例。 Sub sample() For i = 70 To 20 Step -1 If InStr(Cells(i, 2), Cells(1, 1)) Then 'Cells(i, 2)にCells(1, 1)の文字(列)が含まれていたら Cells(i + 1, 2) = Cells(1, 1) Exit Sub ' 処理中止 End If Next End Sub この後にも「別な」処理を続けるなら、 Exit SubではなくてExit Forの方が良いかも。
お礼
ありがとうございます 色々と方法を教えて頂き助かりました!