对于 VBA 上的 i 循环函数"type mismatch"编译器错误



我在下面的循环函数上获得了编译错误'键入不匹配'。我正在尝试将多个工作表组合在主工作表中,这将有助于通过它们具有循环功能。任何帮助将不胜感激。

谢谢,

Public Sub combine2()
    Dim i As Worksheet
    For i = 1 To Worksheet.Count
        Worksheets(i).Select
        Columns("A:B").Select
        Selection.copy
        Sheets("sheet").Select
        Selection.End(xlDown).Select
        Selection.End(xlUp).Select
        ActiveSheet.Paste
        Range("A1").Select
        Selection.End(xlDown).Select
        Selection.End(xlDown).Select
        Selection.End(xlUp).Select
    Next i
End Sub

下面的代码将复制从A和B列(除字幕)(Septh1除外)(除外)的所有内容到工作簿中的第一个工作表。您可能需要对其进行一些修改才能完成您真正想要的事情。

Public Sub combine2()
    Dim Master As Worksheet
    Dim Ws As Worksheet
    Dim Rng As Range
    Dim Rl As Long
    Dim i As Integer
    Set Master = Worksheets(1)
    Application.ScreenUpdating = False
    For i = 2 To Worksheet.Count
        Set Ws = Worksheets(i)
        With Ws
            Rl = .Cells(.Rows.Count, "A").End(xlUp).Row
            Set Rng = Range(.Cells(2, "A"), .Cells(Rl, "B"))
            Rng.Copy
        End With
        With Master
            Rl = .Cells(.Rows.Count, "A").End(xlUp).Row + 1
            .Cells(Rl, "A").PasteSpecial xlValues
        End With
    Next i
    With Application
        .CutCopyMode = False
        .ScreenUpdating = True
    End With
End Sub

在第一行中,您将变量" i"声明为类型工作表的对象,然后去分配一个数字的值。您不能这样做,因为您特别说这是一个工作表 - 不是数字类型(例如整数)。那是一种不匹配的类型。

也应该是工作表 - 不是工作表

Dim i As Integer
For i = 1 To Worksheets.Count

相关内容

最新更新