Несоответствие типов VBA в rows.cut - PullRequest
0 голосов
/ 19 февраля 2020

У меня проблема с разрезанием нескольких листов и объединением их в один. Я получаю ошибку "Несоответствие типов". Можете посмотреть на мой код?

Public Sub Conc()
Dim ws  As Worksheet
Dim LR1 As Integer
Dim LR2 As Integer
Dim LR3 As Integer
Dim first As Integer
LR1 = 0
LR2 = 0
LR3 = 0
first = 1
With ThisWorkbook
    .Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = "Conc"
End With

For Each ws In ActiveWorkbook.Worksheets
    If ws.Name <> "Conc" Then
        LR1 = Sheets("Conc").Cells(Rows.Count, 2).End(xlUp).Row + 1
        LR2 = ws.Cells(Rows.Count, 2).End(xlUp).Row
        LR3 = LR1 + LR2
        Worksheets(ws).Rows(first & ":" & LR2).Cut
        Worksheets("Conc").Rows(LR1 & ":" & LR3).Insert
    End If
Next ws
End Sub

1 Ответ

0 голосов
/ 19 февраля 2020

Попробуйте:

Public Sub Conc()

    Dim ws  As Worksheet
    Dim LR1 As Long, LR2 As Log, LR3 As Long
    Dim first As Integer

    LR1 = 0
    LR2 = 0
    LR3 = 0
    first = 1

    With ThisWorkbook
        .Sheets.Add(After:=.Sheets(.Sheets.Count)).Name = "Conc"
    End With

    With ThisWorkbook.Worksheets("Conc")
        LR1 = .Cells(.Rows.Count, 2).End(xlUp).Row + 1
    End With

    For Each ws In ActiveWorkbook.Worksheets

        If ws.Name <> "Conc" Then

            With ws

                LR2 = .Cells(.Rows.Count, 2).End(xlUp).Row
                LR3 = LR1 + LR2
                .Rows(first & ":" & LR2).Cut
            End With

            ThisWorkbook.Worksheets("Conc").Rows(LR1 & ":" & LR3).Insert

        End If

    Next ws

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...