Страница 1 из 1

Помогите в написаине простого макроса

Добавлено: 17 мар 2010, 18:55
Wantanar
очень прошу о помощи
Задача такая
есть столбец, в котором часть ячеек заполнена, а часть пустая.

Макрос должен уметь заполнять пустые ячейки исходя из правила: если ячейка А2 пустая, А1 копируется в А2, иначе переход на след ячейку

помогите плз сам в макросах не разбираюсь, а формулой не получается, т.к. проверка на заполненность ячейки в этой же ячейке возвращает 0

Re: Помогите в написаине простого макроса

Добавлено: 22 мар 2010, 10:51
nilem
Может быть, так (ячейка А1 должна быть не пустой):

Private Sub Заполнение()
Dim rng As Range, cell As Range

Set rng = ActiveSheet.Range("A1:A25")

For Each cell In rng
If IsEmpty(cell) Then
cell.Value = cell.Offset(-1, 0).Value
End If
Next cell

End Sub

Re: Помогите в написаине простого макроса

Добавлено: 22 мар 2010, 11:16
SAS888
Можно обойтись без цикла:

Код: Выделить всё

Sub Main()
    Dim x As Range, y As Range: On Error Resume Next
    Set x = Range([A1], Cells(Rows.Count, 1).End(xlUp))
    Set y = x.SpecialCells(xlBlanks)
    If y Is Nothing Then Exit Sub
    y.FormulaR1C1 = "=R[-1]C": x.Value = x.Value
End Sub