Макросы Excel, как автозаполнить ячейки?
Привет, я не знаком с кодом 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 ответа
Это может быть сделано несколькими способами;
(В этих примерах предполагается, что ячейка для проверки - 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
ПРИМЕЧАНИЕ. Эти примеры являются очень простыми и расплывчатыми, потому что вы не предоставили много деталей в своем вопросе.
После лучшего поиска в интернете и тестирования я обнаружил, что этот код работает.
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