• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA セルの空白から、行挿入するしないを変更する)

VBAでセルの空白から行挿入する方法と注意点

このQ&Aのポイント
  • VBAを使用して、セルの空白から行を挿入する方法について教えてください。
  • 表作成のために作成したコマンドボタンについて、再計算時にC列の挿入を回避する方法が知りたいです。
  • 可能であれば、C1セルの値で判断してC列の挿入を制御したいですが、できない場合はエラーメッセージを表示する方法でも構いません。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

あ、ごめんなさい、質問内容を勘違いしていました。 空の時に中断するんですね。逆にしていました。 また、空かどうかのチェックはSheet2のC1セルだけで良いのですね。 If WorksheetFunction.CountA(Range("C:C")) <> 0 Then ↓ If Range("C1") = "" Then で、如何でしょう

guchi_yama
質問者

お礼

ありがとうございます。 できました。 因みに、別シートからの実行だったので、 Rangeの前にSheet名を入れてあげないとうまく動きませんでしたが、 Sheet2と入れてあげるとうまく出来ました! 本当に助かりました。ありがとうございました。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー If Sheet2.Range("C1") = "" Then MsgBox ("Sheet2のC行を削除後、再度実施して下さい") Application.ScreenUpdating = True Exit Sub End If ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

取り敢えず、「Sheet2.Select」の後に↓このコードを追加すると、お望みの動きになると思います。 If WorksheetFunction.CountA(Range("C:C")) <> 0 Then   MsgBox ("Sheet2のC行を削除後、再度実施して下さい")   Application.ScreenUpdating = True   Exit Sub End If

guchi_yama
質問者

補足

ご回答ありがとうございます。 上記の式を入れてみたところ、 メッセージボックスが出てくる為、 削除を実施し、再度ボタンを押しましたが、 また、同様に”Sheet2のC列を削除後、、”のメッセージが 出てきてしまいます。CountA関数を使用しているようなので、 Range("C:C")の部分をC1のみに限定してやってみましたが うまくいきませんでした;; 何処がおかしいのでしょうか? ご確認頂けると助かります。 よろしくお願いいたします。

関連するQ&A