Можно ли как то в VBA не просто акивировать лист и нужную ячейку, типа
Код:
Worksheets(1).Activate
Range("BU54").Select
Код:
Worksheets(1).Activate
Range("BU54").Select
Kiljes
Где-то так
Подробнее...
...есть у кого нибудь развернутый реестр FaceID...
Range("A1").Select
lRow = ActiveCell.Row
lCol = ActiveCell.Column
For l1 = lRow + 1 To 1000
If Cells(l1, lRow) = "" Then
Cells(l1, lRow) = Cells(l1 - 1, lCol)
End If
Next l1
End Sub
Cells.Replace What:="#ЗНАЧ!", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("A1").Select
lRow = ActiveCell.Row
lCol = ActiveCell.Column
For l1 = lRow + 1 To 1000
If Cells(l1, lRow) = "" Then
Cells(l1, lRow) = Cells(l1 - 1, lCol)
End If
Next l1
End Sub
Зачем выделять ячейку, а потом получать ее строку и столбец? Если и так понятно что это строка 1 и столбец 1...
Если вы хотите запускать цикл по произвольному столбцу, то оформите этот цикл в виде подпрограммы и передавайте ей параметры "Sub xxx(lRow As Integer, lCol As Integer)"
Даже когда я меняю наим. ячейки (что в первой строке), макрос всё равно вставляет данные в первый столбец.
Объясните, что Вы хотите? перебрать все строки от указанной ячейки до строки 1000 в этом столбце?Да
Или перебрать все столбцы от указанной ячейки до столбца 1000 (???) в этой строке?И это тоже, для формирования отчёта на одном этапе времени надо пройтись по столбцам, на другом - пройтись по строкам.
3. Чем Вас не устраивает предложенный вариант без каких либо циклов?
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
Предыдущая тема: VS 2010