Excel VBA質問箱 IV

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

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


7503 / 13644 ツリー ←次へ | 前へ→

【38696】マクロの参照 an 06/6/8(木) 16:51 質問[未読]
【38698】Re:マクロの参照 Jaka 06/6/8(木) 17:11 発言[未読]
【38725】Re:マクロの参照 an 06/6/8(木) 23:51 質問[未読]
【38706】Re:マクロの参照 ハチ 06/6/8(木) 18:35 発言[未読]
【38709】Re:マクロの参照 an 06/6/8(木) 20:31 質問[未読]
【38728】Re:マクロの参照 ハチ 06/6/9(金) 0:38 発言[未読]
【38741】Re:マクロの参照 an 06/6/9(金) 11:05 質問[未読]
【38743】Re:マクロの参照 ハチ 06/6/9(金) 11:18 発言[未読]
【38752】Re:マクロの参照 an 06/6/9(金) 12:57 お礼[未読]

【38696】マクロの参照
質問  an  - 06/6/8(木) 16:51 -

引用なし
パスワード
   大変困っている者です。
宜しくお願いします。

複数のマクロ処理をしているファイル(10数枚のシート)のうち、
4枚のシートをコピーして別ファイルを作り、別名で保存をして
複数の方に添付ファイルで送るという処理をしています。

困っていることは、コピーした4枚のシートのうち1枚目に
フォームでマクロボタン(他の3枚のシートを印刷)を
作っておりますが、そのボタンが思ったように動きません。

現在テンプレートファイルに印刷マクロを書いており、そのファイルに
4枚のシートをコピーしておりますが、以下のコードを使うと
マクロ参照できず、エラーが出てしまいます。

テンプレートファイル→印刷test.xlt
マクロ名→印刷test


 Dim myfolder As String, mycode As String
   Const mypath As String = "\\test\"
    
      ThisWorkbook.Sheets(Array("aaa", "bbb", "ccc","ddd")).Copy After:= _
      Workbooks.Add(Template:=ThisWorkbook.Path & "\印刷test.xlt").Worksheets(1)
      'Worksheets(1).Delete
      Worksheets("aaa").Shapes("Button 1").OnAction = _
      ActiveWorkbook.Name & "!印刷test"

どなたかお分かりになる方がいましたら、アドバイス頂けると助かります。

【38698】Re:マクロの参照
発言  Jaka  - 06/6/8(木) 17:11 -

引用なし
パスワード
   最初のスレッドに書こうとしていた者ですが....。

方法として
テンプレート.xltファイルのマクロ名を「MM1」とします。
コピー元のシートにあるボタンにマクロ登録する時、
テンプレートを開いた時に出来るテンプレートで作ったブックの「MM1」をマクロ登録して保存。

一応2つのファイルを閉じる。
テンプレートをWクリックすると〇〇ブックが出来ます。
テンプレートデ作ったブックにコピー元のシートを複製コピー。
確認の為、コピー元のブックを閉じる。
テンプレートで作ったブックにコピーしたシートのボタンを押しても、
テンプレーで作ったブックのマクロが実行されます。
このファイルを名前を付けて保存後、再度開いてボタンを押してみてください。
テンプレーで作ったブックのマクロが実行されます。

ややこしい書き方になったけど、意味ガ通じますか?
ここのスレッドをまだ読んでないので、解釈が間違っているのかも...。

【38706】Re:マクロの参照
発言  ハチ  - 06/6/8(木) 18:35 -

引用なし
パスワード
   ▼an さん:
Worksheets("aaa")にコントロールでボタンを作り直して
"aaa"のモジュールに

Private Sub CommandButton1_Click()
 Call 印刷test
End Sub

自分はこの方法でやってますが、
いまのところ問題は出ていません。

【38709】Re:マクロの参照
質問  an  - 06/6/8(木) 20:31 -

引用なし
パスワード
   ▼ハチ さん:

ありがとうございます。
大変感謝しております。

コントロールは恥ずかしながら使ったことがなく
どのように(フォームボタンのように)ワークシート上に
表示させるか良く分かりません。

Load UserForm1

↑ユーザーフォーム上に作り、上のコードを書くこと
でシート上に表示させることが出来るのだと思いますが、、

コピーするファイルは手順書のようになっていて
出来ればボタンのみ表示させたいのですが、
コントロールで出来るのでしょうか?

大変申し訳ありませんが、教えていただけると助かります。

【38725】Re:マクロの参照
質問  an  - 06/6/8(木) 23:51 -

引用なし
パスワード
   ▼Jaka さん:

ありがとうございました<m(__)m>

途中で意味がよく読み取れなくなってしまったのですが、
操作としては、コピー元にあるフォームボタンの
マクロ登録参照先を、テンプレートファイル
をダブルクリックして開いたファイルにあるマクロに設定
するだけでしょうか?

その操作を実行しましたところ、エラーになり1人目
しか正常に動きませんでした。
全部で5人に自動送信するのですが、2人目以降は動かなく
なりました。
原因を解明中です。

【38728】Re:マクロの参照
発言  ハチ  - 06/6/9(金) 0:38 -

引用なし
パスワード
   ▼an さん:
>▼ハチ さん:
>
>ありがとうございます。
>大変感謝しております。
>
>コントロールは恥ずかしながら使ったことがなく
>どのように(フォームボタンのように)ワークシート上に
>表示させるか良く分かりません。

表示>ツールバー>コントロールツールボックス
コマンドボタン を選んで配置。
作ったボタンをダブルクリックするとコードが書けるようになります。
「デザインモードの終了」で動作するようになります。
ボタンを再整形したい場合は、
「デザインモード」にすると編集できるようになります。

Excel97で使えるかどうかは・・・
97を使ったことがないのでわかりません><

【38741】Re:マクロの参照
質問  an  - 06/6/9(金) 11:05 -

引用なし
パスワード
   ▼ハチ さん:
大変感謝しております。

ご教示のようにコントロールで作ってみました。

ボタンをクリックするだけで、印刷マクロ
が呼び出されるはずですよね。。

しかしながら、コントロールボタンをクリックしても
動きがありません。

マクロ名は印刷にしてあります。
シートモジュールに以下のコードを入れました。
デザインモードにはなっておりません。

Private Sub CommandButton1_Click()
Call 印刷
End Sub

windowsXP、Office2003です。

【38743】Re:マクロの参照
発言  ハチ  - 06/6/9(金) 11:18 -

引用なし
パスワード
   ▼an さん:

>Private Sub CommandButton1_Click()
>Call 印刷
>End Sub
>
>windowsXP、Office2003です。

押すとどうなります?
「Sub またはFuncitonが定義されていません。」のエラーになりますか?
なるとすれば"印刷"マクロを呼び出せてないことになります。
"印刷"は標準モジュールに書いてますか?

Private Sub CommandButton1_Click()
 MsgBox "押した!"
 Call 印刷
End Sub
と変更して"押した!"が出るかどうか試してみてください。

MsgBoxが出て、最初のエラーにならないとすれば、
Callした"印刷"のマクロの問題だと思います。

【38752】Re:マクロの参照
お礼  an  - 06/6/9(金) 12:57 -

引用なし
パスワード
   ▼ハチ さん:

ありがとうございます!!
マクロ名を変更しましたら、思ったように
動きました。
嬉しくて涙が出ました。

本当に々ありがとうございました。
今後ともよろしくお願いいたします。

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