Excel 宏如何自动填充单元格?

Excel 宏如何自动填充单元格?

嗨,我不熟悉 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

相关内容