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

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Wantanar
Сообщения: 1
Зарегистрирован: 17 мар 2010, 18:21

очень прошу о помощи
Задача такая
есть столбец, в котором часть ячеек заполнена, а часть пустая.

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

помогите плз сам в макросах не разбираюсь, а формулой не получается, т.к. проверка на заполненность ячейки в этой же ячейке возвращает 0
nilem
Сообщения: 112
Зарегистрирован: 14 ноя 2008, 01:59
Откуда: Уфа

Может быть, так (ячейка А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
SAS888
Сообщения: 156
Зарегистрирован: 16 янв 2008, 08:28

Можно обойтись без цикла:

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

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
Ответить