Excelを使用してテーブルを操作するマクロを作成しています。私は必要なものを行うためのコードを作成することができました。問題は、テーブル名が常に同じではない可能性があることです。一例として、VBAでアクティブなテーブルを参照する
:
Range("DATA_INPUT4[MFG Catalog]").Copy
このコードだけで結構私のテーブル内のコピーMFGカタログの列が、テーブルには、常に「DATA_INPUT4」と命名される予定されていません。
私はアクティブなテーブルで動作させるためにいくつかのことを試してみましたが、私は近くにいるように感じていますが、進歩はありません。
Sub Copy_Active_Table()
Dim activeTable As String
activeTable = ActiveSheet.ListObjects(1).Name
MsgBox activeTable 'To make sure it's pulling the correct table name
Range("activeTable[MFG Catalog]").Copy
End Sub
これはおそらく完全に間違っているが、私はそれで行くよどこで見ることができます: 私がしようと試みてきました。
私はDim activeTable As ListObject
にしなければならないと感じていますが、私はそれも理解できませんでした。
この一見単純な問題は私を苦労させています。どんな助けも素晴らしいでしょう。コメントで回答
おかげで、
ブライアン
はい、本当に近いです。これを試してください: 'Range(activeTable&" [MFG Catalog] ")。コピー' – Ralph
Huzzah!ありがとう、これは完全に働いた! –
スクリプトはアクティブなテーブルを取らず、シート上の最初のテーブルを取ります。 – chukko