3

範囲を割り当てようとしているサブの一部として、次のコードがあります。

'Set xlApp = CreateObject("Excel.Application")

Dim xlApp As Object
Set xlApp = GetObject(, "Excel.Application")
xlApp.Visible = False
xlApp.ScreenUpdating = False

Dim CRsFile As String
Dim CRsMaxRow As Integer

' get the CR list
CRsFile = "CRs.xls"
Set CRsWB = xlApp.Workbooks.Open("C:\Docs\" + CRsFile)
With CRsWB.Worksheets("Sheet1")
  .Activate
  CRsMaxRow = .Range("A1").CurrentRegion.Rows.Count

  Set CRs = .Range("A2:M" & CRsMaxRow)

End With

Dim interestingFiles As Range

' get the files names that we consider interesting to track
Set FilesWB = xlApp.Workbooks.Open("files.xlsx")
With FilesWB.Worksheets("files")
    .Activate
    Set interestingFiles = .Range("A2:E5")
End With

実行時の型の不一致エラーが発生する理由がわかりましたか?

4

2 に答える 2

0

以下のコードのように xlApp オブジェクトを設定してください。また、ワークブックを開くときに、ワークブックの完全なパスを提供します。

Sub test()
        Dim interestingFiles As Range
        Dim xlApp As Object

        Set xlApp = GetObject(, "Excel.Application")
        ' get the files names

        Dim path As String
        path = "C:\Users\Santosh\Desktop\file1.xlsx"

        Set FilesWB = xlApp.Workbooks.Open(path)
        With FilesWB.Worksheets(1)
            .Activate
            Set interestingFiles = .Range("A2:E5")
        End With

    End Sub
于 2013-05-05T13:00:36.970 に答える