Excel 仅当前一列中有数据时,才在VBA中填写公式
抱歉,我是新来的。我做了很多搜索,但都没有找到答案,头发也掉光了。 我的数据被分成了几行。下面是一个例子: 第1组Excel 仅当前一列中有数据时,才在VBA中填写公式,excel,vba,Excel,Vba,抱歉,我是新来的。我做了很多搜索,但都没有找到答案,头发也掉光了。 我的数据被分成了几行。下面是一个例子: 第1组 8月4日 萨姆 鲍勃 罗西 第2组 3月13日 卡尔 乔恩 我想插入一列,并在第一列中有数据的地方在该列中添加公式。代码块的长度和位置各不相同。任何帮助或提示都将不胜感激 以下是我到目前为止得到的信息,但它只填补了第一个部分: Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
8月4日
萨姆
鲍勃
罗西 第2组
3月13日
卡尔
乔恩 我想插入一列,并在第一列中有数据的地方在该列中添加公式。代码块的长度和位置各不相同。任何帮助或提示都将不胜感激强> 以下是我到目前为止得到的信息,但它只填补了第一个部分:
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B8").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(TRIM(RC[-1]),participants.xlsx!R2C1:R1000C4,3,FALSE)"
Range("B8").Select
Selection.AutoFill Destination:=Range(Range("B8"), Range("A8").End(xlDown).Offset(0, 1)) ```
可以在区域中循环(此代码假定单元格不包含公式): 起始数据为橙色,代码添加绿色
编辑以插入列。如果满足您的需要,您可以在开头只插入一列。为什么需要插入一列?右侧还有一些数据也很重要。。
Sub x()
Dim r As Range
For Each r In Columns(1).SpecialCells(xlCellTypeConstants).Areas
r.Offset(, 1).Insert shift:=xlToRight
r.Offset(, 1).Formula = "=row()+1"
Next r
End Sub