我在Excel中设置了以下表格。我希望用我在B列中成功试过的数组公式填充表格的其余部分。
下面的代码自动填充表格,但没有使用数组公式,仅使用公式,因此它不会返回所需的结果。如何更改它以便传播数组公式?
请注意用户数量&课程确实发生变化,因此范围的动态计算是固定的要求。
Dim LastCol As Long, LastRow As Long
LastCol = Cells(2, Columns.Count).End(xlToLeft).Column
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
Range("B3", Cells(LastRow, LastCol)).FormulaR1C1 Range("B3").FormulaR1C1
答案 0 :(得分:0)
编辑,因为它没有按预期工作。
我还会使用另外两种方法。
首先,最明显的是范围.AutoFill
方法:
Dim LastCol As Long, LastRow As Long
LastCol = Cells(2, Columns.Count).End(xlToLeft).Column
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
Range("B3").AutoFill Destination:=Range("B3", Cells(3, LastCol)), Type:=xlFillDefault
Range("B3", Cells(3, LastCol)).AutoFill Destination:=Range("B3", Cells(LastRow, LastCol)), Type:=xlFillDefault
哪种方法可以正常使用,您可以轻松控制公式的外观 另一个选择是迭代你范围内的所有单元格,只需复制公式,虽然它只是按原样复制公式,所有引用原始查找单元格,我怀疑它是什么,你正在寻找什么,但在这里它仍然是:
Dim LastCol As Long, LastRow As Long
LastCol = Cells(2, Columns.Count).End(xlToLeft).Column
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
For i = 3 To LastRow
For j = 2 To LastCol
Cells(i, j).FormulaArray = Cells(3, 2).FormulaArray
Next j
Next i
答案 1 :(得分:0)
对我有用的答案: -
Range("B3").Copy
Dim LastCol As Long, LastRow As Long
LastCol = Cells(2, Columns.Count).End(xlToLeft).Column
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
'Range ("C3:F12")
Range("C3", Cells(LastRow, LastCol)).Select
Selection.PasteSpecial xlPasteFormulas
Application.CutCopyMode = False
答案 2 :(得分:0)
我用它来使它工作.........
CREATE USER wordpressuser@localhost IDENTIFIED BY ‘password’;