Страницы: 1
RSS
Копирование на новый лист в пустую строку
 
Друзья, добрый день. Подскажите, пожалуйста, есть макрос, который при заполненном столбце А на листе 1, копирует значения на лист 2. Однако, он копирует на лист 2 в те же самые строки, где находились значения на листе 1. Можно ли сделать так, чтобы макрос копировал с листа 1 на лист 2 в последнюю пустую строку? Не эксперт в vba, буду благодарна за помощь.
Код
Private Sub Worksheet_Activate()
    Dim a(), i&, ii&, x&
    a = Sheets(1).UsedRange.Value
    ReDim b(1 To UBound(a, 1), 1 To UBound(a, 1))
    For i = 1 To UBound(a)
        If Len(a(i, 1)) Then
            ii = ii + 1
                b(ii, 1) = a(i, 1) 'столбец A
                b(ii, 2) = a(i, 2) 'столбец B
                b(ii, 3) = a(i, 3) 'столбец C
        End If
    Next
    [a1].Resize(ii, UBound(b, 1)) = b
End Sub
 
Добрый вечер!
Код
Private Sub Worksheet_Activate()
    Dim a(), i&, ii&, x&
    a = Sheets(1).UsedRange.Value
    ReDim b(1 To UBound(a, 1), 1 To UBound(a, 1))
    For i = 1 To UBound(a)
        If Len(a(i, 1)) Then
            ii = ii + 1
                b(ii, 1) = a(i, 1) 'столбец A
                b(ii, 2) = a(i, 2) 'столбец B
                b(ii, 3) = a(i, 3) 'столбец C
        End If
    Next
lr = Cells(Rows.Count, 1).End(xlUp).Row
If lr > 1 Then lr = lr + 1
Range("A" & lr).Resize(ii, UBound(b, 1)) = b
End Sub
 
Настя_Nastya, спасибо, но Ваш код при каждом переходе с листа 1 на лист 2 копирует все, что находится на листе 1((
 
Код
Sub S()
    Dim a(), i&, ii&, x&
    a = Sheets(1).UsedRange.Value
    ReDim b(1 To UBound(a, 1), 1 To UBound(a, 1))
    For i = 1 To UBound(a)
        If Len(a(i, 1)) Then
            ii = ii + 1
                b(ii, 1) = a(i, 1) 'столбец A
                b(ii, 2) = a(i, 2) 'столбец B
                b(ii, 3) = a(i, 3) 'столбец C
        End If
    Next
lr = Cells(Rows.Count, 1).End(xlUp).Row
If lr > 1 Then lr = lr + 1
Sheets(2).Range("A" & lr).Resize(ii, UBound(b, 1)) = b
End Sub
Изменено: Настя_Nastya - 05.02.2021 10:53:05
Страницы: 1
Читают тему (гостей: 1)
Наверх