【发布时间】:2017-10-12 11:57:52
【问题描述】:
我正在尝试将以下公式 ='External Costs B0'!F73 插入连续列中工作表的同一行,但是在工作表“外部成本”中使用单元格引用“F73” " 指代备用列,例如 F73、H73、J73、L73 等。
这是带有注释公式的电子表格的屏幕截图
Screen Capture of formula sheet
这是我尝试过的代码,但我正在努力弄清楚如何让替代列引用工作。
Dim CostColumns As Long
'选择单元格开始插入公式
Range("E26").Select
'从“外部成本 B0”表中的 F (6) 列开始,然后逐个交替列
For CostColumns = 6 To 600 Step 2
ActiveCell.Formula = "= ""'External Costs B0'!"" & Rows(73)Columns(CostColumns)"
移动到下一个单元格以插入公式并将列引用前进 2 列
ActiveCell.Offset(0, 1).Select
Next CostColumns
最终结果是我在许多帖子中看到的相同错误:
应用程序定义或对象定义的错误。
以下是我尝试过但没有成功的公式插入的许多其他语法。任何帮助是极大的赞赏。根据上面的示例,以下引用的是外部成本 B0 表中的第 40 行而不是第 73 行。
Range("E26").Select
For CostColumns = 6 To 66 Step 2
'ActiveCell.FormulaR1C1 = "= worksheets("""External Costs B0""").Cells(40,6).Value"
'ActiveCell.FormulaR1C1 = "='External Costs B0'!R[14]C[CostColumns]"
'Range("E26:AK26").FormulaR1C1 = "='External Costs B0'!R[14]C[CostColumns]"
'ActiveCell.FormulaR1C1 = "= worksheets('External Costs B0')!" & " Rows(40)Columns(CostColumns)"
'Range("E26:AK26").FormulaR1C1 = "='External Costs B0'!R[14]C[+2]"
'Range("E26:AK26").FormulaR1C1 = "=Wksht.Cells(40,CostColumns) &"
'Range("E26:AK26").Formula = "=worksheets('External Costs B0'!)" & ".Cells(40,6)"
'ActiveCell.Formula = "= worksheets('External Costs B0'!).Cells(40,6).Value"
ActiveCell.Offset(0, 1).Select
Next CostColumns
【问题讨论】:
标签: excel excel-formula vba