проблема с установкой условия при объединении вкладок - PullRequest
0 голосов
/ 10 февраля 2020

В настоящее время я пытаюсь объединить свои вкладки в один лист объединения, но я не хочу объединять их с одним листом. Имя листа называется таблицей 1. В настоящее время он может объединять все, но я не могу sh объединить одну из вкладок. Было бы полезно, если бы вы могли мне помочь. Спасибо

Option Explicit

Sub Combine()
    Dim i As Integer
    Dim combinedWs As Worksheet, ws As Worksheet
    Dim copyRng As Range
    Dim lastRow As Long

    ' Add combined worksheet and populate headers
    Set combinedWs = Worksheets.Add(Before:=Sheets(1))
    combinedWs.Name = "Combined"
    Sheets(2).Rows(1).Copy combinedWs.Rows(1)

    ' Loop through rest of Sheets
    For i = 2 To Sheets.Count
        Set ws = Sheets(i)
        With ws
            lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
            Set copyRng = Range(.Cells(2, 1), .Cells(lastRow, "N"))
            copyRng.Copy combinedWs.Cells(.Rows.Count, 1).End(xlUp).Offset(1)
            If ws = ("Table 1") Then Exit For



        End With
    Next i
End Sub

1 Ответ

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

Вы можете добавить оператор If к вашему l oop. вот так:

For i = 2 To Sheets.Count
        If Sheets(i).Name <> "table 1" Then
            Set ws = Sheets(i)
            With ws
                lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
                Set copyRng = Range(.Cells(2, 1), .Cells(lastRow, "N"))
                copyRng.Copy combinedWs.Cells(.Rows.Count, 1).End(xlUp).Offset(1)

            End With
        End If
    Next i

и удалите строку If ws = ("Table 1") Then Exit For. Таким образом, вы не выходите из for loop при переходе на лист таблицы 1, а переходите на следующий лист, не копируя ничего.

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