実装方法のヒントを下さい:エクセルデータαを作成し、エクセルデータαにあるマクロ機能からエクセルデータβを起動したいと考えています。

このエクセルデータβでは、エクセルデータαの値を参照し計算処理を行い、エクセルデータαではその計算結果をコピーして結果を表示します。

エクセルデータβには簡単な計算式やマクロなどが設定されており、
エクセルデータαの値を用い計算処理をします。

知りたい点は、、、

①エクセルからエクセルを開くコマンドを作れるか?
②エクセルからVBA付きエクセルファイルを開くとき、ウイルス警告がでるか?
③エクセルデータβからαの値を参照する方法
④エクセルデータβの値をαにコピーする方法

です。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:2008/12/30 13:02:31
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:SALINGER No.1

回答回数3454ベストアンサー獲得回数969

ポイント400pt

①エクセルからエクセルを開くコマンドを作れるか?

こんな感じでエクセルデータβ.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

http://q.hatena.ne.jp/

②エクセルから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
id:harunoharuno

ありがとうございます。とても参考になります。

2008/12/26 22:41:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません