Excel VBA質問箱 IV

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

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


4469 / 13645 ツリー ←次へ | 前へ→

【56457】ブック名の変更されたマクロの実行方法 meguzo 08/6/18(水) 10:54 質問[未読]
【56459】Re:ブック名の変更されたマクロの実行方法 Abebobo 08/6/18(水) 11:36 発言[未読]
【56460】Re:ブック名の変更されたマクロの実行方法 meguzo 08/6/18(水) 11:42 発言[未読]
【56461】Re:ブック名の変更されたマクロの実行方法 ひげくま 08/6/18(水) 11:52 回答[未読]
【56462】Re:ブック名の変更されたマクロの実行方法 Abebobo 08/6/18(水) 12:03 発言[未読]
【56463】Re:ブック名の変更されたマクロの実行方法 meguzo 08/6/18(水) 12:44 お礼[未読]

【56457】ブック名の変更されたマクロの実行方法
質問  meguzo  - 08/6/18(水) 10:54 -

引用なし
パスワード
   適当な過去ログが見つからなかったため新規投稿させていただきます。

新規ブック(発注申請1)を作成し、保存するようなマクロを(注文書発行依頼書)というブックの中に作成しました。<下記>

ただ、(注文書発行依頼書)というブックは使用する人により、名前を変えられてしまう可能性があります。

そのため、下記のマクロだと、動かなくなってしまいます。

何かよい案はありませんでしょうか?

ただし、(注文発行依頼書)のブックはメールで送られてくるのですが、予めどこかに名前をつけて保存とかではなく、そのまま利用したいと思っています。

以上よろしくお願いします。

<作成したマクロ>
Sub Macro4()
'  '
  Workbooks.Add
  ChDir "C:\発注申請"
  ActiveWorkbook.SaveAs Filename:= _
    "C:\発注申請\発注申請1.xls", FileFormat:=xlNormal, _
    Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
    CreateBackup:=False
 
  Windows("注文書発行依頼書.xls").Activate
  Cells.Select
  Selection.Copy
  Windows("発注申請1.xls").Activate
  Cells.Select
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
  Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
  Cells.Select
  Application.CutCopyMode = False
  Range("A1").Select
  ActiveWorkbook.Save
End Sub

【56459】Re:ブック名の変更されたマクロの実行方法
発言  Abebobo  - 08/6/18(水) 11:36 -

引用なし
パスワード
   meguzo さん こんにちは

注文書発行依頼書.xls にマクロが書かれているんですよね。

'Windows("注文書発行依頼書.xls").Activate
     ↑
ThisWorkbook.Activate
 
に代えれば大丈夫?

【56460】Re:ブック名の変更されたマクロの実行方法
発言  meguzo  - 08/6/18(水) 11:42 -

引用なし
パスワード
   ▼Abebobo さん:こんにちは。返信ありがとうございます。

「注文書発行依頼書」を開きマクロを実行すると「新規ブック(発注申請1)」を作成します。
なので、その時点でActive なブックが「注文発行依頼書」から「発注申請1」に代わってしまいます。

【56461】Re:ブック名の変更されたマクロの実行方法
回答  ひげくま  - 08/6/18(水) 11:52 -

引用なし
パスワード
   検証していませんが、

Workbooks.Add

の前に、

Dim BookX As Workbook
Set BookX = ActiveWorkbook

というようにしておき、

Windows("注文書発行依頼書.xls").Activate



BookX.Activate

にすれば良いと思います。

当然ですが、BookX は、お好きな変数名で構いません。

【56462】Re:ブック名の変更されたマクロの実行方法
発言  Abebobo  - 08/6/18(水) 12:03 -

引用なし
パスワード
   meguzoさん すみません
ひげくま さん ありがとうございます。

【56463】Re:ブック名の変更されたマクロの実行方法
お礼  meguzo  - 08/6/18(水) 12:44 -

引用なし
パスワード
   ▼ひげくま さん:
まさにやりたい通りでした!

ありがとうございました☆

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