マクロを実行した時に、マクロの保存先によって実行されないという問題を解決する方法を教えてください。
マクロ
Sub データ変更()
Dim f_Path As String
Dim tmp As String
f_Path = ActiveWorkbook.Path & "\"
tmp = Dir(f_Path & "*.erirct")
If tmp = "" Then Exit Sub
Application.Workbooks.OpenXML _
Filename:=f_Path & tmp, _
LoadOption:=xlXmlLoadImportToList
If Len(Dir(f_Path & "FDデータ.xlsx")) > 0 Then
Kill f_Path & "FDデータ.xlsx"
End If
ActiveWorkbook.SaveAs Filename:=f_Path & "FDデータ.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True
End Sub
が有ります。マクロを実行すると拡張子「.erirct」のファイルを「.xlsx」に変更出来ます。
しかし、マクロの保存先によって実行されないという問題があり、元々マクロがあるブッを違うファイル名で保存をし、その新しいブックを開いてマクロを実行してもマクロが実行されません。
元々のファイルと新しい名前で保存したファイルとは別々のフォルダで作業を行います。
新しい名前で保存したファイルでも上記のマクロを実行出来る方法を教えてください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは
>マクロを実行してもマクロが実行されません。
どのようなトリガーで実行しているのか不明ですが、実行できているのではないでしょうか?
最初の方の Exit Sub で終了しているだけであろうと想像します。
ご提示のコードは、実行時の状態に依存するコードになっていますので、それが質問者様の意図と違うのではないでしょうか?
(どのようにしたいのか不明なので、なさりたいように記述するとしか書けませんが・・)
要は、「ActiveWorkbook」を基準に実行するようになっているので、
・実行時の ActiveWorkbook がどのブックになっているのか
(普通であれば、ThisWorkbookと一致しますが、トリガーによっては異なる)
・ActiveWorkbook のディレクトリがどこか
に依存します。
質問文の雰囲気からすると、固定アドレスで良さそうなので、ベタで記述しておけば良さそうに思われます。
そうすれば、マクロのあるブックがどこにあっても対象ディレクトリを固定できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
- Access(アクセス) エクセルのマクロについて教えてください。 2 2023/02/04 14:20
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル終了時の保存確認メッ...
-
VBAを一度起動するとずっと出て...
-
別のパソコンでエクセルのマク...
-
コピーしたファイルのマクロを...
-
アクセスでファイルを開いたと...
-
エクセルの単票を一覧表に
-
excelファイルに使われているVB...
-
excelのマクロ実行でブロックさ...
-
マクロが使えるExcelViewer
-
VBA マクロ実行時エラー’1004Ra...
-
EXCEL マクロ クリップボードク...
-
エクセルマクロにてパワーポイ...
-
エクセル2013vbaで、見えない名...
-
マクロを実行するとパス名が無...
-
秀丸で保存時のフォルダを固定...
-
マクロを消すマクロは不可能?
-
Excelが勝手にシート移動してし...
-
エクセルファイルを自身のファ...
-
「開いているすべてのブック」...
-
Powerpoint 2003 でのVBA UserF...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル終了時の保存確認メッ...
-
VBA マクロ実行時エラー’1004Ra...
-
VBAを一度起動するとずっと出て...
-
別のパソコンでエクセルのマク...
-
コピーしたファイルのマクロを...
-
マクロを消すマクロは不可能?
-
昨日まで動いていたエクセルの...
-
エクセルファイルを自身のファ...
-
エクセル2013vbaで、見えない名...
-
Excelマクロ ファイル名が変わ...
-
エクセルマクロ実行中に別ファ...
-
excelファイルに使われているVB...
-
Excelが勝手にシート移動してし...
-
Word用のマクロが急に働かなく...
-
EXCEL マクロ クリップボードク...
-
【マクロ】エラーが発生⇒実行時...
-
excelが別プロセスで起動してし...
-
エクセルマクロを有効にしない...
-
アクセスでファイルを開いたと...
-
excelでpersonal.xlsを常に開く...
おすすめ情報
回答ありがとう御座います。
上手く説明が出来ずに申し分けありません。
貴者のおっしゃるとおり
実行時の状態に依存するコードでは無く
マクロのあるブックがどこにあってもマクロが実行出来るように設定をしたいです。
解決方法をよろしくお願いします。