0
Sub NewNightLetter()
Dim NewFile As String
WorkBookPath = Application.ActiveWorkbook.Path
ProgramSelected = DataPuller.Home.Range("F4").Value
Set mySource = MyObject.GetFolder(WorkBookPath & "\" & ProgramSelected)
NewFile = ProgramSelected & "_PT Metrics_" & Format(Date, YYYYMMDD) & "xlsm"
ActiveWorkbook.SaveAs (mySource & " \ " & NewFile)
End Sub

ここの 4 行目で、「オブジェクトが必要です」というエラーが表示されます。そして、私がそれを次のようにコーディングすると、

ProgramSelected=Workbooks(datapuller).Sheets(Home).Range("F4").Value

「添え字が範囲外です」というエラーが発生します...助けてもらえますか?

4

3 に答える 3

0

ワークブックまたはワークシートを名前で参照する場合は、二重引用符で囲みます

ProgramSelected=Workbooks("datapuller").Sheets("Home").Range("F4").Value

于 2013-10-25T05:20:15.617 に答える
0

ワークブック名​​を参照し、シート名を参照する文字列と仮定datapullerし ます。以下の構文は機能します。Homedatapullerhome

Dim datapuller As String
    datapuller = "Book2"

    Dim Home As String
    Home = "sheet1"

    ProgramSelected = Workbooks(datapuller).Sheets(Home).Range("F4").Value
于 2013-10-25T05:20:26.507 に答える
0

これを試して:

コードのこの部分を置き換えます

ProgramSelected = DataPuller.Home.Range("F4").Value

これとともに:

ProgramSelected = Workbooks("DataPuller").Sheets("Home").Range("F4").Value

またはこれにより、柔軟性が向上します。

Dim ws as Worksheet

Set ws = Workbooks("DataPuller").Sheets("Home")
ProgramSelected = ws.Range("F4").Value

また、DataPuller ワークブックを開く必要があることに注意してください。そうしないと、エラーが発生し
ます。Subscript Out of Range

于 2013-10-25T05:21:11.037 に答える