Как можно очистить столбец, сохраняя заголовок, перед выполнением макроса? Макрос копирует со второго листа окрашенные ячейки на первый лист. Спасибо за него tolikt
Sub GoodsList()
Dim j As Long, ListCol As Long
Dim C As Range
Dim S1 As Worksheet, S2 As Worksheet
Set S1 = Sheets("примерный список вещей")
Set S2 = Sheets("точно берем с собой")
ListCol = 4 ' столбец списка
With S2
j = .Cells(.Rows.Count, ListCol).End(xlUp).Row
If j > 1 Then
.Range(.Cells(2, ListCol), .Cells(j, ListCol)).ClearContents
End If
j = .Cells(.Rows.Count, ListCol).End(xlUp).Row + 1
End With
For Each C In S1.UsedRange
If Trim(C) <> "" And C.Interior.ColorIndex = 6 Then
S2.Cells(j, ListCol) = C
j = j + 1
End If
Next
End Sub
И который столбец? С каким заголовком? Если как в примере, то наверное что-то такое: Range("D2:D" & j).ClearContents - очищаем столбец D от 2 до последней строки. Делать до начала цикла но после "j=..."
Т.к. из примера непонятно почему все смещается вниз (возможно еще макросы какие-то в Вашем файле работают, может еще что-то не озвученное в Вашей теме), тогда можно проще: Range("D2:D1000").ClearContents Вместо "1000" подставьте свой номер последней строки (с запасом)