• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA教えてください)

VBA初心者のための複数条件に基づいた文字反映の方法

このQ&Aのポイント
  • VBA初心者向けの質問です。B70からB20のセルの中に文字が入っている場合、その下のセルにA1の文字を反映する方法を知りたいです。複数の条件を満たすセルに対してのみ反映させる方法を教えてください。
  • 提供されたコードでは、複数のセルにA1の文字が反映されてしまいます。実際には、B50セルに文字が入っている場合にのみ、B51セルに反映させたいです。
  • 分かる方にコードを教えていただきたいです。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • SI299792
  • ベストアンサー率47% (788/1647)
回答No.1

単に   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 は行位置です

kousukebojto
質問者

お礼

ありがとうございます 色々と方法を教えて頂き助かりました!

その他の回答 (1)

回答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の方が良いかも。

関連するQ&A