Диапазон копирования вставки не копирует все значения в диапазоне

#excel #vba #range #copy-paste

Вопрос:

Я пытаюсь скопировать ячейки, начиная с C4 до D123, на одном листе и вставить их в новый лист, начиная со столбца D13. Диапазон динамичен, поэтому он не всегда заканчивается на D123, но всегда должен начинаться с C4. Моя проблема сейчас в том, что, похоже, я копирую и вставляю только 9 ячеек вместо всего, что было в C4:D123 в одном экземпляре. Лист, с которого я копирую, выглядит так:

введите описание изображения здесь

 Dim ws As Worksheet
Dim targetws As Worksheet
Dim LastRow As Long
Dim TransactionColumn As Variant

TransactionColumn = "D"
LastRow = Cells(Rows.Count, TransactionColumn).End(xlUp).Row

Set targetws = Sheets("targetwsname")

For Each ws In ActiveWorkbook.Worksheets

    If ws.Name Like "*" amp; " - Pay" amp; "*" Then
        ws.Range("C4:D" amp; Range("D" amp; Rows.Count).End(xlUp).Row).Copy Destination:=targetws.Range("D" amp; Rows.Count).End(xlUp).Offset(1)
    End If
Next ws
 

Конец Суб

Комментарии:

1. Range("D" amp; Rows.Count).End(xlUp).Row у него нет родительского листа, поэтому он использует активную таблицу. Вы, наверное, хотите: ws.Range("D" amp; Rows.Count).End(xlUp).Row

2. БОЛЬШОЕ ТЕБЕ СПАСИБО, СКОТТ!! Это все исправило :’) Я не могу поверить, что пропустил это… Еще раз спасибо вам!