• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロが実行しない)

マクロが実行しない

このQ&Aのポイント
  • マクロを使用して月の勤務割表を作成していますが、Macro1が実行されません。
  • Macro1とMacro2の間には、図形を枠線上にコピーしている処理があります。
  • マクロの実行方法として、Macro1が選択されずに実行される場合があります。

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

  • ベストアンサー
回答No.2

こんにちは。 構文としては、一般的なコードではないので、今回、試してみましたが、問題なく通りました。 ふつうなら、Case で、数多く分かれなければ、If構文になるはずです。またCaseの右に「:」を入れたら、1行で実行させるという意味になるはずです。 それはともかく、 a =Cells(i, j).Value '←このようなものを前に置いておきます。 >Select Case Cells(i, j).Value(移動する) >Case 1:(移動する) それで、考えられるのは、Cells(i, j).Value が、正しく取得出来ているかどうかだと思います。それで、上記の「←」で示したようなダミーコードを置いて、ローカルウィンドウで、値を取得しているか、みてください。

Rord
質問者

お礼

わざわざ御丁寧な回答有難うございます。パソコン特有の動作がおかしくなる 症状でした。無事に解決出来ました。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> Macro1の方が実行しません。 まったく呼び出されないのか、あるいはどこかの行で止まるのか。 Sub Macro1() ~ End Subまでの中、 どこかにカーソルを置いてクリックし、F8キー押して見てください。 黄色い行が表示されます。F8押せば進みます。飽きたらF5で残りを実行。 どこで止まるのか、教えてください。

Rord
質問者

補足

おっしゃるとおりにしたのですが、黄色い行の移動はできるもののSelect CaseとNext で移動が繰り返されています。図形は貼り付けられずです。 Sub Macro1()実行しません。 Dim i As Integer Dim j As Integer For i = 10 To 43 Step 2(移動する) For j = 10 To 103 Step 3(移動する) Select Case Cells(i, j).Value(移動する) Case 1:(移動する) ActiveSheet.Shapes("四角形1").Select Selection.Copy Cells(i + 1, j + 1).Select ActiveSheet.Paste End Select(移動する) Next(移動する) Next End Sub

関連するQ&A