お世話になります。
「データソース名をシートから得ていたPowerQueryを別ブックのVBAから起動するとエラーになってしまう」
についてです。
お判りになる方いらっしゃいましたら、お教えいただけると幸いです。
1. ブック A にデータソース名をシートセルから得ている PowerQuery があります
M
1let 2 ファイルパス = Excel.CurrentWorkbook(){[Name="InDirPath"]}[Content]{0}[Column1], 3 ソース = Folder.Files(ファイルパス),
※名前 "InDirPath" で定義しているセルにファイルのフルパスが入っています。
2. ブック A の PowerQuery は VBA でリフレッシュしています
- ブック A の VBA
VBA
1Dim ws As Worksheet 2Set ws = ThisWorkbook.Worksheets(sheetName) 3Dim tbl As ListObject 4Set tbl = ws.ListObjects(1) 5 6Set ws = Nothing 7 8tbl.QueryTable.Refresh BackgroundQuery:=False 9 10Set tbl = Nothing
この VBA はブック A で実行すると正常終了します。
エラーとなってしまうのは、ブック B の VBA からブック A の VBA を実行した際に
- ブック B の VBA
VBA
1Application.Run (ブック A の名前 & "!" & マクロ名)
ブック A の以下の箇所で
VBA
1tbl.QueryTable.Refresh BackgroundQuery:=False
のエラーとなってしまいます。
「親(ブックB)の VBA」から「子(ブックA)の VBA」を呼び出しているので、PowerQuery の Excel.CurrentWorkbook() が参照出来ていないのではないかと推測はしています。
こちら解決法ご教示いただけないでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。