2017-07-13 17 views
1

AccessのVBAモジュールからExcel表計算に新しいテーブルを作成する際に問題があります。ここでMS Access VBAはExcelで新しいテーブルobjを作成できません

は私のコードです:私に問題を与えている

Option Compare Database 
Option Explicit 

Sub QueryExportMod() 

Dim db As DAO.Database 
Set db = CurrentDb 

Dim xlApp As Excel.Application 
Dim wb As Excel.Workbook 
Dim ws As Excel.Worksheet 
Set xlApp = New Excel.Application 
Set wb = xlApp.Workbooks.Open(CurrentProject.Path & "\ExportExcelTest.xlsm") 
Set ws = wb.Worksheets("Sheet1") 

ws.ListObjects.Add(xlSrcRange, Range("$A$20:$B$21"), , xlYes).Name = "tb2" 

xlApp.Visible = True 

xlApp.Run "callAG" 

Set xlApp = Nothing 
Set wb = Nothing 
Set ws = Nothing 

End Sub 

ラインは、私はランタイムエラー5取得していますws.ListObjects.Add(xlSrcRange, Range("$A$20:$B$21"), , xlYes).Name = "tb2"

です:「無効なプロシージャ呼び出しまたは引数」私は実際のVBAドキュメントに基づいてこの行を書きました。 Excelでテーブルを作成するためのマクロを記録し、まったく同じ行を得ました。

どうすればこの問題を解決できますか?

+0

ワークブックとワークシートを2回開いています。あなたの範囲は修飾されていません。それらをワークシートに属するように定義します。 – Gustav

+0

返信ありがとう@Gustav。私はお詫びします、下の余分なサブはちょうど私が試したものでした、私は修正するコードを編集しました。私の範囲が適格であることを確認するにはどうすればいいですか? –

+0

はどのように範囲を修飾するかを考え出しました、ありがとうございます! –

答えて

0

解決済みの問題 - 範囲は限定されていませんでした。

Dim rng As Range 
Set rng = ws.Range(A20:B21) 

ws.ListObjects.Add(xlSrcRange, rng, , xlYes).Name = "tb2" 
関連する問題