我想每隔一列插入一个新列大约260次,然后我需要用一个公式来填充新列,该公式引用左边的立即列。以下是我要插入新列的内容:
Sub insert_column_every_other()
For colx = 2 To 266 Step 2
Columns(colx).Insert Shift:=xlToRight
Next
End Sub
但我坚持使用公式,它只是按原样复制公式..我需要更改C3值并将左侧的立即列引用(其他部分可能不是100%我是VBA的新手所以全部修正表示赞赏):
Sub Repeat()
For ColNum = 3 To 2000 Step 2
Range(Cells(2, ColNum), Cells(21, ColNum)).FormulaR1C1 ="=AVERAGE(OFFSET(C3,1,0,2,1))"
Next ColNum
End Sub
答案 0 :(得分:1)
我认为下一个代码应该做你想做的事情
Sub insert_column_and_Formula()
Dim colx As Long
Dim H As Worksheet
Set H = H3 'Replace H3 with the sheet that contains your data
For colx = 2 To 266 Step 2
'Insert the Column'
Call H.Columns(colx).Insert(Shift:=xlToRight)
'Put the formula in the new Column'
H.Range(H.Cells(2, colx), H.Cells(21, colx)).FormulaR1C1 = "=AVERAGE(OFFSET(RC[-1],1,0,2,1))"
Next colx
End Sub
希望这对您有所帮助,任何问题请告诉我