Всем привет! Как правильно записать код, который бы заполнял формулу только в пустых ячейках выделенного диапазона. Диапазон A22:R950000. Всегда работало, а тут программа не справляется, даже если выбрать диапазон до 60 тыс. строк
Всем привет! Как правильно записать код, который бы заполнял формулу только в пустых ячейках выделенного диапазона. Диапазон A22:R950000. Всегда работало, а тут программа не справляется, даже если выбрать диапазон до 60 тыс. строкМурад
Макрос ориентируется на пустые ячейки в столбце "A". Если в столбце "A" ячейка пустая, то в эту строку, в столбцы "A:R" копируются данные из вышестоящей строки. [vba]
Код
Sub Заполнить_пустые()
Dim rng As Range, ar As Range, lr As Long
lr = Columns("A:AB").Find(What:="*", LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _ , SearchFormat:=False).Row On Error Resume Next Set rng = Range("A9:A" & lr).SpecialCells(xlCellTypeBlanks).EntireRow On Error GoTo 0 If rng Is Nothing Then MsgBox "Пустых ячеек нет!", vbExclamation Exit Sub End If
Application.ScreenUpdating = False
For Each ar In rng.Areas ar.Columns("A:R").Value = ar.Rows(1).Columns("A:R").Offset(-1).Value Next
Application.ScreenUpdating = True
MsgBox "Готово!", vbInformation
End Sub
[/vba]
Макрос ориентируется на пустые ячейки в столбце "A". Если в столбце "A" ячейка пустая, то в эту строку, в столбцы "A:R" копируются данные из вышестоящей строки. [vba]
Код
Sub Заполнить_пустые()
Dim rng As Range, ar As Range, lr As Long
lr = Columns("A:AB").Find(What:="*", LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False _ , SearchFormat:=False).Row On Error Resume Next Set rng = Range("A9:A" & lr).SpecialCells(xlCellTypeBlanks).EntireRow On Error GoTo 0 If rng Is Nothing Then MsgBox "Пустых ячеек нет!", vbExclamation Exit Sub End If
Application.ScreenUpdating = False
For Each ar In rng.Areas ar.Columns("A:R").Value = ar.Rows(1).Columns("A:R").Offset(-1).Value Next
Karataev, а нельзя поправить код, под такие нужды: заполняется так же элементов со строки ниже(если она не пустая. а может быть и пустой), только есть условие чтобы элементы соседнего столбца равнялись друг другу. пример приложил.
Karataev, а нельзя поправить код, под такие нужды: заполняется так же элементов со строки ниже(если она не пустая. а может быть и пустой), только есть условие чтобы элементы соседнего столбца равнялись друг другу. пример приложил.exelskatyazhelyi