エクセルから値を取得する方法(3つの方法) | 備忘録 (。・_・。)ノ
sample エクセルを開く命令なし(開かない)
sample1 エクセルを開く命令なし(開かない)
sample2 エクセルを開く命令あり(開く)
いずれも値が取れます。
稼働確認環境 Windows7 Excle2013

Option Explicit
Sub sample()
    MsgBox ExecuteExcel4Macro("'C:\temp\[1405勤怠.xlsx]フレックス出勤簿'!合計")     '名前
    MsgBox ExecuteExcel4Macro("'C:\temp\[1405勤怠.xlsx]フレックス出勤簿'!R38C18")   'R1C1
End Sub

Sub sample1()
Dim des As Range
    Set des = ActiveSheet.Range("A1:A1")
    des.Formula = "='C:\temp\[1405勤怠.xlsx]フレックス出勤簿'!R38"
    MsgBox des.Value
    Set des = Nothing
End Sub

Sub sample2()
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim strFilename As String                                           'ファイル名(フルパス)
Dim strSheetName As String                                          'シート名
    strFilename = "C:\temp\1405勤怠.xlsx"                           'ファイル名をセット
    strSheetName = "フレックス出勤簿"                               'シート名をセット
    
    Set xlApp = CreateObject("Excel.Application")                   'Application生成
    Set xlApp = New Excel.Application
    
    xlApp.Workbooks.Open Filename:=strFilename, UpdateLinks:=0      'EXCELを開く
    xlApp.Visible = False                                           'EXCELの非表示
    Set xlBook = xlApp.Workbooks(Dir(strFilename))                  'Workbook
    Set xlSheet = xlBook.Worksheets(strSheetName)                   'Worksheet
    MsgBox xlSheet.Cells(38, 18).Value
    xlBook.Close saveChanges:=False                                 'ブックを保存せずに終了
    xlApp.Quit                                                      'EXCELを閉じる
    
    Set xlSheet = Nothing                                           'オブジェクトの解放
    Set xlBook = Nothing                                            'オブジェクトの解放
    Set xlApp = Nothing                                             'オブジェクトの解放

End Sub