• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで、タイトル行(1行目)が移動できないようにしたい。)

VBAでタイトル行が移動できないようにする方法は?

このQ&Aのポイント
  • VBAで、タイトル行(1行目)が移動できないようにしたい。以下のVBAで、最新仕入の情報はボタンを押すと(マクロを実行させると)別シートの正しい位置に移動します。しかし、 newWSの2行目に、データが無い場合でボタンを押すとタイトル行(1行目)が、ruiWS シートの最終行の下に入ってしまい、困っています。
  • newWS の2行目にデータが無い場合には、ボタンを押しても、タイトル行が移動できないようにして、メッセージボックスで『データがありませんよ』と知らせるには、どのようなプロシージャを書けばよいのか?教えていただきたくお願いします。
  • Sub Macro1() Dim newWS As Worksheet Dim ruiWS As Worksheet Dim newCcount As Long Dim newRcount As Long Dim ruiCcount As Long Dim ruiRcount As Long Set newWS = Worksheets("最新仕入れ情報") Set ruiWS = Worksheets("累積仕入れ情報") newRcount = newWS.UsedRange.Rows.Count ruiRcount = ruiWS.UsedRange.Rows.Count newWS.Range("A2:F" & newRcount).Cut ruiWS.Select Range("B" & (ruiRcount + 1)).Select ActiveSheet.Paste End Sub

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

  • ベストアンサー
  • taocat
  • ベストアンサー率61% (191/310)
回答No.1

コード途中から Set newWS = Worksheets("最新仕入れ情報") Set ruiWS = Worksheets("累積仕入れ情報") newRcount = newWS.UsedRange.Rows.Count ruiRcount = ruiWS.UsedRange.Rows.Count '現在のコードを尊重するのであれば ここに使用セルが1行目しかなかったら、 即ちヘッダーのみだったら、 処理を抜けるコード(次の一行)を挿入。 IF newRcount=1 Then Exit Sub  newWS.Range("A2:F" & newRcount).Cut ruiWS.Select Range("B" & (ruiRcount + 1)).Select ActiveSheet.Paste End Sub 以上です。

abouka
質問者

お礼

taocat 様 早速のご回答ありがとうございました。 ご指示の1行を入れて希望どおりの作業ができました。 この問題が解決できずに、初心者ですので、1ヶ月も考えあぐんでおりました。 本で『IF』のことも紙上では理解しましたが、それをここで、このように使えるとは、とても驚きました。ありがとうございました。 ご回答の中に、 >現在のコードを尊重するのであれば、、、とあり、 taocat 様の頭の中には、もっと、スマートが方法がおありのようですね? そのうち、私もそれを見つけられるように勉強します。

関連するQ&A