• ベストアンサー

別Book値を参照し現在のBookに計算後値入力

閉じているデスクトップの"B"Booksheet1に入力しているA1=3,B2=4の掛けた値12を現在開いている"A"Booksheet1 A3に計算式ではなく値のみを入力したいのですがVBAコードがどなたかお分かりになる方宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

素直にB、Bookを開いて処理した方が良いですね Sub Test()   Dim myPath As String, a As Long, b As Long   Application.ScreenUpdating = False   myPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")   With Workbooks.Open(myPath & "\B.xls")     a = .Worksheets("Sheet1").Range("A1").Value     b = .Worksheets("Sheet1").Range("B2").Value     .Close False   End With   ThisWorkbook.ActiveSheet.Range("A3").Value = a * b   Application.ScreenUpdating = True End Sub

kuma0220
質問者

お礼

有難うございます、助かりました。構文を理解できるよう勉強します。

その他の回答 (1)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

>閉じているデスクトップの"B"Booksheet1に入力している B.xls の Sheet1 としています。 Dim myPath As String Dim a As Long, b As Long myPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") myPath = "'" & myPath & "\[B.xls]Sheet1'!" a = Application.ExecuteExcel4Macro(myPath & "R1C1") b = Application.ExecuteExcel4Macro(myPath & "R2C2") ActiveSheet.Range("A3").Value = a * b

関連するQ&A

専門家に質問してみよう