Добрый день, Не могу понять, как заставить макрос вставлять данные в новой книге не в А1 ячейку, а в А2. Чтобы строка 1 оставалась полностью пустой. Подскажите, пожалуйста. Если делаю Then Last Row = 2, то макрос поочередно перезаписывает все строки таблицы в строку 2. А если Last row = 1, то все ок, но мне нужно чтобы самая верхняя строка оставалась пустой.
Код
Dim A, B, i%, Sample, LastRow&, DeskTopPath$
Dim Cl As Range
Set B = ActiveWorkbook
Workbooks.Add
Set Sample = Workbooks(Workbooks.Count)
For Each Cl In B.Worksheets(1).[A11].CurrentRegion.Columns(1).Cells
i = 1
A = Cl.Resize(1, 31)
If Cl.Row >= 12 Then
If Not Cl.EntireRow.Hidden Then
With Sample
With .Worksheets("Лист1")
LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
If IsEmpty(.[A1]) Then LastRow = 1
.Cells(LastRow, 1) = A(i, 3)
.Cells(LastRow, 2) = A(i, 5)
.Cells(LastRow, 3) = A(i, 31)
End With
End With
End If
End If
Next
End Sub
закомментируйте или удалите (зачем вы вообще это туда написали, какая цель преследовалась?) и назвать переменную LastRow и присваивать ей значение на 1 больше за последней строкой... вы это делаете специально? если код достанется врагам - они хрен его поймут назовите NextRow или еще лучше FirstBlankRow если так любите осмысленные имена переменных)
И, кстати, да - если в первую строку не хотите писать, то запись эта не нужна, как Игорь выше и написал. Она, запись, нужна была только для того, чтобы в пустом столбце начать со строки 1, а не 2
Аааа, я поняла. Она без этой строки начинает со второй потому что .row+1. Правильно? А если я захочу с третьей начать? Чего-то если я row +2 делаю, то он через одну пустую вставляет строки. Помогите допонять).
И спасибо огромное, с нужной задачей уже справилась.
_Boroda_, Ухты, теперь поняла как с этим куском обращаться) Спасибо!
Ігор Гончаренко, Ахах) ну в общем... Однажды захотелось сделать макрос, на который возможностей макросрекордера не хватало. Погуглила, нашла нечто, примерно делающее, что мне надо и это нечто стало базой моего будущего макроса. На нем же училась и постепенно получила начальные самые поверхностные знания, позволяющие читать код (вот сейчас, наверное, последняя строчка той базы перестала быть таинственной)). После того, как первый настоящий (не рекордовый) макрос оброс всеми необходимыми функциями и заработал, решила переписать старые макросы, сделанные рекордером. Чтоб работало без кучи костылей). Пригодился кусок из первого макроса - благо переменные не корабли, как не назови - все равно работают! За что спасибо им)).
ну не скажите...Например, если назовете переменную Find или End или даже aS - можете поиметь проблемы Так что называть-то можно всяко, но только не зарезервированными константами и операторами. Это так, небольшая ремарочка к цитате.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...