Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA:下标超出范围_Vba_Excel - Fatal编程技术网

VBA:下标超出范围

VBA:下标超出范围,vba,excel,Vba,Excel,有人问过类似的问题,但我认为我有一个不同的问题: Workbooks.Open Filename:=filepath & "PLT.xlsx" Worksheets("Sheet1").Range(Worksheets("Sheet1").Range("A1:B1"), Worksheets("Sheet1").Range("A1:B1").End(xlDown)).Copy Windows("XXX.xslm").Activate w1.Range("A4").PasteSpeci

有人问过类似的问题,但我认为我有一个不同的问题:

 Workbooks.Open Filename:=filepath & "PLT.xlsx"

Worksheets("Sheet1").Range(Worksheets("Sheet1").Range("A1:B1"), Worksheets("Sheet1").Range("A1:B1").End(xlDown)).Copy
Windows("XXX.xslm").Activate
w1.Range("A4").PasteSpecial Paste:=xlPasteValues
第二行是问题。事实上,它不会复制我想要的单元格。当我打开工作簿时,整个工作表都被选中


我不明白我为什么会犯这样的错误。

哎呀。如果要以简单的方式将值复制到其中:

Global fso As New FileSystemObject

Public Sub CopyValuesTest()

    ' Get references to the files
    Dim wb1 As Workbook, wb2 As Workbook
    Set wb1 = Workbooks.Open(fso.BuildPath(filepath, "PLT.xlsx"))
    Set wb2 = Workbooks("XXX")

    ' Get references to the sheets
    Dim ws1 As Worksheet, ws2 As Worksheet
    Set ws1 = wb1.Sheets("Sheet1")
    Set ws2 = wb2.Sheets("Sheet1")

    ' Count non-empty rows under A1. Use 2 columns
    Dim N As Integer, M As Integer
    N = CountRows(ws1.Range("A1")): M = 2

    ' This copies the values
    ws2.Range("A4").Resize(N, M).Value = ws1.Range("A1").Resize(N, M).Value
End Sub

Public Function CountRows(ByRef r As Range) As Long
    If IsEmpty(r) Then
        CountRows = 0
    ElseIf IsEmpty(r.Offset(1, 0)) Then
        CountRows = 1
    Else
        CountRows = r.Worksheet.Range(r, r.End(xlDown)).Rows.Count
    End If
End Function

并确保定义了
文件路径。还要使用
FileSystemObject
请参见上面的
w1
是什么?它在哪里定义,在哪里赋值?