
No.2ベストアンサー
- 回答日時:
おはようございます。
どの様なコードか不明ですが、例えば下記の様に記載でしょうか?
Dim I As Long
Do
処理
I=I+1
Loop Until Cells(I,1).value & Cells(I+1,1).value & Cells(I+2,1).value = ""
Cells(I,1).value & Cells(I+1,1).value & Cells(I+2,1).value = ""
→A列の値を3つ&で繋いで、全て何もない:"" なら、処理を終了とか。
下記が参考になるかと
https://www.limecode.jp/entry/difference/dowhile …
一応、WhileとUntilは、Doにも、Loopにも付けられます。
Doにつけると、条件によっては1回も処理しない事もあります。
Loopにつけると、必ず1回は、処理する事になります。(Do Loop内の処理)
Do While~Loop 又は、Do ~ Loop While
Do Until~Loop 又は、Do ~ Loop Until
No.3
- 回答日時:
こんにちは
>構文がわかりません。
Do ~ Loop をお使いならば、Loopを抜け出す条件式を設定していると思いますけれど、その条件を目的に沿った内容にしておけばよいです。
Whileを用いるか、Untilを用いるかで条件式の書き方が若干変わるのはご存じですよね?
どちらでも、書きやすい方で記述すれば宜しいとは思いますけれど。
仮に、行番号をrw、列番号をcolという変数で表すなら、ご質問の条件の場合は、「rw~rw+2のセルが空白の時」となりますので、3つぐらいの数であればベタに
Cells(rw, col) = "" And Cells(rw + 1, col) = "" And Cells(rw + 2, col) = ""
という条件にしておいても宜しいでしょう。
(↑ 既出の回答と、ほぼ同じ内容です)
3つではなく、数が多いような場合は、上記のように連続して書くのもかったるいので、シート関数を利用するなどの方法も考えられるでしょう。
例えば、
WorksheetFunction.CountBlank(Cells(rw, col).Resize(3)) = 3
などのような記述方法です。
(↑は「空白セルの数がが3だったら」という意味になります)
他にもいろいろ考えられると思いますが、「目的とする条件に合う条件式で判断する」という点では同じですね。
No.1
- 回答日時:
空白行をカウントする数字変数をあらかじめ設定(仮に”kuhakugyo"とします)したうえでLOOPの中で次の行をいれればいいと思います。
・セルが空白かどうか判定させて、空白行ならばkuhakugyoに1を加え、空白行でなければkuhakugyoをゼロにする
・LOOPの最後にkuhakugyoが3ならばループをぬける
Sub 繰り返し仮()
Dim i As Integer, kuhakugyo As Integer
i = 2
kuhakugyo = 0
Do While kuhakugyo = 3
処理内容
If Range("A" & i).Value = "" Then
kuhakugyo = kuhakugyo + 1
Else
kuhakugyo = 0
End If
i = i + 1
Loop
End Sub
上記で実行したところ、エラーはでないのですが処理が実行されませんでした。どのあたりが間違っているか自己解決できませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Excel(エクセル) Excelについて質問です(ver2019) 1 2023/06/30 21:20
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Visual Basic(VBA) 指定列最終行までのスペースを改行するVBAについて 2 2022/06/01 19:50
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Excel(エクセル) エクセル表作成について 5 2023/03/12 13:25
- Excel(エクセル) Vba エクセルマクロで、 A列の、A1セルからA10セルに空白のある行を削除する、のは Range 3 2022/11/05 17:44
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
Excel > ピボットテーブル「(空...
-
エクセルでCSVを編集するとき、...
-
エクセルで入力すると隣のセル...
-
ピボットテーブルで空白セルの...
-
「データ要素を線で結ぶ」がチ...
-
Excelで、入力文字の後に自動で...
-
形式貼り付けの「空白を無視す...
-
エクセルで上の行の値を自動的...
-
エクセルで数式の入ったセルの...
-
Excel:関数が入っているセルに...
-
エクセル セルのコピー元が空...
-
エクセルで、「複数のセルの中...
-
空白セル内の数式を残したまま...
-
エクセル 連番が途切れていると...
-
エクセルのIF関数で、隣のセル...
-
【Excel】 csvの作成時、空白セ...
-
【Excel】 Ctrl+方向キー で空...
-
関数TRANSPOSEで空白セルを0に...
-
エクセルでセルが空白だったら...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
IF関数で空欄("")の時、Null...
-
エクセルでCSVを編集するとき、...
-
空白セルに斜線(罫線)
-
Excel > ピボットテーブル「(空...
-
Excelで、入力文字の後に自動で...
-
エクセル 連番が途切れていると...
-
ピボットテーブルで空白セルの...
-
「データ要素を線で結ぶ」がチ...
-
Excel:関数が入っているセルに...
-
数式による空白を無視して最終...
-
空白セル内の数式を残したまま...
-
excel2010 空白セルにのみ貼り...
-
【Excel】 csvの作成時、空白セ...
-
エクセルで上の行の値を自動的...
-
エクセルのIF関数で、隣のセル...
-
エクセルで、「複数のセルの中...
-
形式貼り付けの「空白を無視す...
-
関数TRANSPOSEで空白セルを0に...
-
【Excel】 Ctrl+方向キー で空...
-
色つき行の一括削除は?
おすすめ情報