このエクセルデータβでは、エクセルデータαの値を参照し計算処理を行い、エクセルデータαではその計算結果をコピーして結果を表示します。
エクセルデータβには簡単な計算式やマクロなどが設定されており、
エクセルデータαの値を用い計算処理をします。
知りたい点は、、、
①エクセルからエクセルを開くコマンドを作れるか?
②エクセルからVBA付きエクセルファイルを開くとき、ウイルス警告がでるか?
③エクセルデータβからαの値を参照する方法
④エクセルデータβの値をαにコピーする方法
です。
①エクセルからエクセルを開くコマンドを作れるか?
こんな感じでエクセルデータβ.xlsに記述し、エクセルデータα.xlsを開きます。
Sub WorkBookOpen() Dim pass As String pass = ThisWorkbook.Path & "/エクセルデータα.xls" If Dir(pass) <> "" Then Workbooks.Open pass Else MsgBox "ファイルが存在しません。", vbExclamation End If End Sub
②エクセルからVBA付きエクセルファイルを開くとき、ウイルス警告がでるか?
セキュリティの警告はでません。
③エクセルデータβからαの値を参照する方法
こんな感じでできます。ただし、エクセルデータα.xlsが開いていなければなりません。
Sub AlfaValue() MsgBox Workbooks("エクセルデータα.xls").Worksheets(1).Range("A1").Value End Sub
④エクセルデータβの値をαにコピーする方法
この場合も開いていないとエクセルデータα.xlsにアクセスできないので①の方法で開いてください。
Sub AlfaCopy() Workbooks("エクセルデータα.xls").Worksheets(1).Range("A1").Value = Range("A1").Value End Sub
ありがとうございます。とても参考になります。