嗨,我不熟悉 VBA 代码,但我知道 Java。我想创建一个宏来检查单元格是否为空,并使用上方的公式自动填充同一行另一列中的单元格。有什么想法吗?
975 805040 2065bc210 325647998522
976 802030 2089bc212 325647956721
977 *325647964751*
978 *325647967866*
979 *325647964452*
抱歉,没有提供详细信息。这是我的 excel 的一个示例,左侧是当我手动添加星号中的数字时需要自动填充其他列的行数。其他列的信息来自公式。我无法发布图片,因为我的声誉很低。
类似的东西,但没有用
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
答案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
注意:这些例子非常基础和模糊,因为您在问题中没有提供很多细节。
答案2
经过更好的互联网搜索和测试后,我发现该代码有效。
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