Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Копирование на новый лист в пустую строку
 
Настя_Nastya, спасибо, но Ваш код при каждом переходе с листа 1 на лист 2 копирует все, что находится на листе 1((
Копирование на новый лист в пустую строку
 
Друзья, добрый день. Подскажите, пожалуйста, есть макрос, который при заполненном столбце А на листе 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
Макрос стирает нужные ячейки
 
_Igor_61, за что мне на вас обижаться, спасибо за помощь, мне помог пост, который Вы скинули, все работает, ничего не стирается. sokol92, спасибо!
Макрос стирает нужные ячейки
 
_Igor_61, не понимаю про какую другую программу идет речь, я скинула файл в котором идет работа. Ошибка в синтаксисе
Макрос стирает нужные ячейки
 
Дмитрий(The_Prist) Щербаков, говорит, что ошибка в строчке  if not is array(a) then
Макрос стирает нужные ячейки
 
Добрый день, друзья. Нужна помощь в исправлении макроса. Макрос копирует из листа 1 на лист 2 столбцы A,B,C при условии, если заполнен столбец A. Однако, если попробовать написать что-нибудь в столбцах D, E, F и тд, и перейти со 2 листа на 1, то он стирает все, что было написано на 2 листе. Можно это как-нибудь исправить?
Код
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
Макрос копирования определенных ячеек после заполнения первого столца
 
Настя_Nastya, спасибо большое!
Макрос копирования определенных ячеек после заполнения первого столца
 
Друзья, добрый день. Помогите, пожалуйста, как поменять этот код макроса, чтобы при заполнении первого столбца происходило копирование на первый лист не всей строки, а только определенных ячеек, например, ячеек В,С,D?
Код
Private Sub Worksheet_Activate()
    Dim a(), i&, ii&, x&
    UsedRange.Clear
    a = Sheets(1).UsedRange.Value
    ReDim b(1 To UBound(a, 1), 1 To UBound(a, 2))
    For i = 1 To UBound(a)
        If Len(a(i, 1)) Then
            ii = ii + 1
            For x = 2 To UBound(a, 2): b(ii, x) = a(i, x): Next
        End If
    Next
    [a1].Resize(ii, UBound(b, 2)) = b
End Sub
Страницы: 1
Наверх