基本的に、私は別のワークブックからかなりの数の図を収集する必要があります(これはユーザーフォームで見つかり、開くことができるため、場所と名前は可変です)。このデータをグラフに入力する必要があるため、これにはVBAを使用する必要があります。私はそれを行うために他のワークブックを開く必要がないことを望みますが、それがはるかに簡単であれば、それでも問題ありません。
ユーザーフォームが完了して正常に動作し、グラフにデータを入力するために必要なコードがありますが、VBAが他のブックからデータを取得して必要な変数に割り当てることができません。
VBAにこれを実行させる方法についてのアイデアはありますか?よろしくお願いします。
おかげで、
ロブ。
ファイル内のデータにアクセスする場合は、何らかの方法でファイルを開く必要があります。明らかに、1つの方法は、Excelアプリケーションインスタンスでそれを開くことです。例:-
(テストされていないコード)
Dim wbk As Workbook
Set wbk = Workbooks.Open("C:\myworkbook.xls")
' now you can manipulate the data in the workbook anyway you want, e.g. '
Dim x As Variant
x = wbk.Worksheets("Sheet1").Range("A6").Value
Call wbk.Worksheets("Sheet2").Range("A1:G100").Copy
Call ThisWorbook.Worksheets("Target").Range("A1").PasteSpecial(xlPasteValues)
Application.CutCopyMode = False
' etc '
Call wbk.Close(False)
別の方法としては、Excel ADODBプロバイダーを使用してファイルへの接続を開き、SQLを使用して目的のシートからデータを選択する方法がありますが、とにかくExcel内から作業しているので、単にワークブックを開くのではなく、これを行う理由。 Workbooks.Open()メソッドには、ブックを読み取り専用で開くなどのオプションのパラメーターがあることに注意してください。