Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3247 / 13646 ツリー ←次へ | 前へ→

【63305】VBA Call macro kousen 09/10/25(日) 16:18 質問[未読]
【63306】Re:VBA Call macro かみちゃん 09/10/25(日) 16:25 発言[未読]
【63307】Re:VBA Call macro kousen 09/10/25(日) 16:44 質問[未読]
【63309】Re:VBA Call macro かみちゃん 09/10/25(日) 16:57 発言[未読]
【63313】Re:VBA Call macro kousen 09/10/25(日) 18:14 質問[未読]
【63314】Re:VBA Call macro かみちゃん 09/10/25(日) 22:06 発言[未読]
【63320】Re:VBA Call macro kousen 09/10/26(月) 14:54 お礼[未読]

【63305】VBA Call macro
質問  kousen E-MAIL  - 09/10/25(日) 16:18 -

引用なし
パスワード
   モジュールのエクスポート インポートを繰り返しているうちに
Call Macroの部分だけが反応しなくなりました?
Module1のMacro1()の中に、Module2のMacro5()を呼び出せるようにしていたのですが反応しません。
エクスポート インポートの際に何か手順の間違いでもあったのでしょうか?

【63306】Re:VBA Call macro
発言  かみちゃん  - 09/10/25(日) 16:25 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> 反応しません。

反応しないというのは、どのようなコードでどのように反応しないのでしょうか?
また、新規ブックにインポートするとどうなるのでしょうか?

【63307】Re:VBA Call macro
質問  kousen E-MAIL  - 09/10/25(日) 16:44 -

引用なし
パスワード
   ▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>> 反応しません。
>
>反応しないというのは、どのようなコードでどのように反応しないのでしょうか?
>また、新規ブックにインポートするとどうなるのでしょうか?
早速の回答有難うございます
新しいブックにインポートすると、マクロ単体は作動します、
たとえばMacro1を実行すると今まで道理作動します、またMacro5を実行するとこれも作動します、
Macro1の最後に(End Subの前に)Call macro5を入れています
エキスポート前に作動確認をしたときは、ちゃんとMacro5を呼び出して作動していました、
ちょっと引っかかっているのが、エキスポートをした後にエキスポートされたモジュールの名を変更したのがよくなかったのかと思い、元に戻したのですが
状況は変わりませんでした。

【63309】Re:VBA Call macro
発言  かみちゃん E-MAIL  - 09/10/25(日) 16:57 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>状況は変わりませんでした。

どのようなコードをどのモジュールに記述しているのでしょうか?

以下のようなコードを標準モジュールModule1に記述すると、きちんと動作します。

Sub SampleMacro1()
 MsgBox "SampleMacro1を実行します"
 Call SampleMacro5
 MsgBox "終了しました"
End Sub

Sub SampleMacro5()
 MsgBox "SampleMacro5を実行します"
End Sub

【63313】Re:VBA Call macro
質問  kousen E-MAIL  - 09/10/25(日) 18:14 -

引用なし
パスワード
   ▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>状況は変わりませんでした。
>
>どのようなコードをどのモジュールに記述しているのでしょうか?
>
>以下のようなコードを標準モジュールModule1に記述すると、きちんと動作します。
>
>Sub SampleMacro1()
> MsgBox "SampleMacro1を実行します"
> Call SampleMacro5
> MsgBox "終了しました"
>End Sub
>
>Sub SampleMacro5()
> MsgBox "SampleMacro5を実行します"
>End Sub

Sub Macro1()
ActiveWorkbook.Worksheets("1113(ゲスリレ)").Range("D2:D90").Copy _
ThisWorkbook.Worksheets("1").Range("BI3")

ActiveWorkbook.Worksheets("1116(東)").Range("D2:D90").Copy _
ThisWorkbook.Worksheets("1").Range("BJ3")

ActiveWorkbook.Worksheets("1117(東)").Range("D2:D90").Copy _
ThisWorkbook.Worksheets("1").Range("BK3")

ActiveWorkbook.Worksheets("1103(東臨時)").Range("D2:D90").Copy _
ThisWorkbook.Worksheets("1").Range("BL3")

ActiveWorkbook.Worksheets("1118(東)").Range("D2:D90").Copy _
ThisWorkbook.Worksheets("1").Range("BM3")

ActiveWorkbook.Worksheets("1111(西メイン)").Range("D2:D90").Copy _
ThisWorkbook.Worksheets("1").Range("BN3")

ActiveWorkbook.Worksheets("1112(西メイン)").Range("D2:D90").Copy _
ThisWorkbook.Worksheets("1").Range("BO3")

ActiveWorkbook.Worksheets("1110(西メイン)").Range("D2:D90").Copy _
ThisWorkbook.Worksheets("1").Range("BP3")

ActiveWorkbook.Worksheets("1115(団体)").Range("D2:D90").Copy _
ThisWorkbook.Worksheets("1").Range("BQ3")

Call macro41

End Sub

Sub macro41()
  Range("BI4:BI11").Select
  Application.CutCopyMode = False
  Selection.Copy
  Range("D4").Select
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
      .
      .
      .
Range("BQ49:BQ50").Select
  Application.CutCopyMode = False
  Selection.Copy
  Range("D153").Select
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
End Sub
上のような式を入れています。
Macro1で他のブックからデーターを読み込み、Macro41でデータの順番を変更しながら、表の中に取り込んでいきます。
別々にMacro1とMacro41を実行すると作動します。



【63314】Re:VBA Call macro
発言  かみちゃん E-MAIL  - 09/10/25(日) 22:06 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>Sub macro41()
>  Range("BI4:BI11").Select
>  Application.CutCopyMode = False
>  Selection.Copy
>  Range("D4").Select
>  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
>    :=False, Transpose:=False
>      .
>      .
>      .
> Range("BQ49:BQ50").Select
>  Application.CutCopyMode = False
>  Selection.Copy
>  Range("D153").Select
>  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
>    :=False, Transpose:=False
>End Sub
>上のような式を入れています。
>Macro1で他のブックからデーターを読み込み、Macro41でデータの順番を変更しながら、表の中に取り込んでいきます。

動作確認してみましたが、
Sub macro41()

End Sub
は、きちんと実行されますね。

試しに、
Sub macro41()
 MsgBox "macro41を実行します"
 Range("BI4:BI11").Select
 ' 以下省略
End Sub
としてみて、MsgBoxが表示されるか確認してみてください。

なお、

  Range("BI4:BI11").Select
  Application.CutCopyMode = False
  Selection.Copy
  Range("D4").Select
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

の処理は、どのブックのどのシートのどのセルに対して、何をしようとしているか
ご理解されていますか?

たぶん何かにおかしいと気づいていただけると思います。

【63320】Re:VBA Call macro
お礼  kousen E-MAIL  - 09/10/26(月) 14:54 -

引用なし
パスワード
   ▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>Sub macro41()
>>  Range("BI4:BI11").Select
>>  Application.CutCopyMode = False
>>  Selection.Copy
>>  Range("D4").Select
>>  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
>>    :=False, Transpose:=False
>>      .
>>      .
>>      .
>> Range("BQ49:BQ50").Select
>>  Application.CutCopyMode = False
>>  Selection.Copy
>>  Range("D153").Select
>>  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
>>    :=False, Transpose:=False
>>End Sub
>>上のような式を入れています。
>>Macro1で他のブックからデーターを読み込み、Macro41でデータの順番を変更しながら、表の中に取り込んでいきます。
>
>動作確認してみましたが、
>Sub macro41()
>
>End Sub
>は、きちんと実行されますね。
>
>試しに、
>Sub macro41()
> MsgBox "macro41を実行します"
> Range("BI4:BI11").Select
> ' 以下省略
>End Sub
>としてみて、MsgBoxが表示されるか確認してみてください。
>
>なお、
>
>  Range("BI4:BI11").Select
>  Application.CutCopyMode = False
>  Selection.Copy
>  Range("D4").Select
>  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
>    :=False, Transpose:=False
>
>の処理は、どのブックのどのシートのどのセルに対して、何をしようとしているか
>ご理解されていますか?
>
>たぶん何かにおかしいと気づいていただけると思います。
かみちゃん、有難うございました。
かみちゃんのアドバイスのどのブックの、でわかりました
マクロ初心者なもんで、マクロの自動記録を使い、それを修正したり張り付けたりで使っているうちに、ThisWorkbook.Activateの一行を削除していたようです。
やっとすっきりしました、又何かありましたらよろしくお願いします。
有難うございました。

3247 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free