У меня проблемы с этим ...

Я хочу объединить несколько листов в один. но каждый раз, когда я запускаю этот код, он перезаписывает некоторые данные. Нужно просто скопировать и вставить все данные в один лист с именем "Комбинированный".

Dim ws As Worksheet
Set ws = Worksheets.Add(Before:=Worksheets(1))
ws.Name = "Combined"

Application.DisplayAlerts = False
Dim rng As Range, rng2 As Range
Set rng = Worksheets(2).Range("A1").CurrentRegion
rng.copy ws.Range("A1")

Dim i As Integer

Dim wsCopy As Worksheet, rngCopy As Range, rngDest As Range

For i = 3 To Worksheets.Count

    Set wsCopy = Worksheets(i)
    With wsCopy
        Set rngCopy = .Range("A1").CurrentRegion
        Set rngCopy = rngCopy.Offset(1, 0).Resize(rngCopy.Rows.Count - 1)
    End With

    With ws
        Set rngDest = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
    End With

    rngCopy.copy rngDest

Next i

' Delete original worksheets
For Each ws In Worksheets
    If ws.Name <> "Combined" Then ws.Delete
Next ws

У меня есть 3 рабочих листа. "Dept", "Saving" и "TimeDmnd" имеют одинаковый заголовок.

благодарю вас.

0