Привет, я не знаком с кодом VBA, но я знаю Java. Я пытаюсь создать макрос, который проверяет, является ли ячейка не пустой, и автоматически заполняет ячейки в другом столбце, но в той же строке с формулой над ними. Есть идеи??

    975   805040   2065bc210    325647998522
    976   802030   2089bc212    325647956721
    977                        *325647964751*
    978                        *325647967866*
    979                        *325647964452*

Извините за отсутствие деталей. Это пример моего превосходства, слева - номера строк, которые мне нужны для автозаполнения других столбцов, когда я вручную добавляю числа в звездочках. Другие столбцы получают информацию из формулы. Я не могу опубликовать фото, потому что у меня низкая репутация.

Нечто подобное, но не сработало

Sub CheckCell()
    Dim i As Integer
       i = 3

     Do
      Selection.AutoFill Destination:=Range("Ai:A(i+1)"), Type:=xlFillDefault  
     i = i+1
    Loop While (ActiveSheet.Range("Bi").Value != "")
 End Sub

2 ответа2

1

Это может быть сделано несколькими способами;
(В этих примерах предполагается, что ячейка для проверки - A2, а текст автозаполнения - для перехода в B2. Отрегулируйте соответственно)

С формулой (поместите в ячейку вы хотите текст автозаполнения)

=IF(ISBLANK(A2),"autofill text","")

С VBA

Sub CheckCell()

    If ActiveSheet.Range("A2").Value = "" Then
        ActiveSheet.Range("B2").Value = "Autofill"
    End If

End Sub

ПРИМЕЧАНИЕ. Эти примеры являются очень простыми и расплывчатыми, потому что вы не предоставили много деталей в своем вопросе.

0

После лучшего поиска в интернете и тестирования я обнаружил, что этот код работает.

Sub FillCells()

Dim i As Long
Dim k As Long
    With ActiveSheet
    k = .Cells(.Rows.Count, "K").End(xlUp).Row
    i = .Cells(.Rows.Count, "A").End(xlUp).Row
    End With
Range("a" & i & ":a" & k).Formula = Range("A" & i).Formula
Range("B" & i & ":B" & k).Formula = Range("B" & i).Formula
Range("C" & i & ":C" & k).Formula = Range("C" & i).Formula
Range("D" & i & ":D" & k).Formula = Range("D" & i).Formula
Range("E" & i & ":E" & k).Formula = Range("E" & i).Formula
Range("F" & i & ":F" & k).Formula = Range("F" & i).Formula
Range("G" & i & ":G" & k).Formula = Range("G" & i).Formula
Range("H" & i & ":H" & k).Formula = Range("H" & i).Formula
Range("I" & i & ":I" & k).Formula = Range("I" & i).Formula
Range("J" & i & ":J" & k).Formula = Range("J" & i).Formula
Range("M" & i & ":M" & k).Formula = Range("M" & i).Formula
Range("N" & i & ":N" & k).Formula = Range("N" & i).Formula
Range("O" & i & ":O" & k).Formula = Range("O" & i).Formula
Range("P" & i & ":P" & k).Formula = Range("P" & i).Formula
Range("U" & i & ":U" & k).Formula = Range("U" & i).Formula
Range("Y" & i & ":Y" & k).Formula = Range("Y" & i).Formula
Range("Z" & i & ":Z" & k).Formula = Range("Z" & i).Formula

End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .