【发布时间】:2020-05-05 17:21:41
【问题描述】:
我正在努力解决可能是一个简单的问题,但谷歌并没有帮助我。
With Worksheets("Fake").Range("A5:BE5")
Set GrandTotal = .Find("Grand Total", LookIn:=xlValues)
If Not GrandTotal Is Nothing Then
GrandTotal = GrandTotal.Address
GrandTotalColumn = Range(GrandTotal).Column
GrandTotalColumnLetter = Split(Cells(1, GrandTotalColumn + 1).Address, "$")(1)
Debug.Print GrandTotal
Debug.Print GrandTotalColumn
Debug.Print GrandTotalColumnLetter
End If
End With
Cells(9, GrandTotalColumn + 1).Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-21]="""","""",IF(ISNUMBER(SEARCH(""total"",RC[-21])),"""",RC[-22]))"
Cells(9, GrandTotalColumn + 1).Select
Selection.Copy
Debug.Print GrandTotalColumnLetter
With Worksheets("Fake")
.Range(.Cells(9, GrandTotalColumn + 1), .Cells(10000, GrandTotalColumn + 1)).Select
'ERROR HERE
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.Range(.Cells(9, GrandTotalColumn + 1), .Cells(10000, GrandTotalColumn + 1)).Select
Application.CutCopyMode = False
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End With
但显然它不起作用...我如何引用这个..? 我也尝试过获取“GrandTotalColumnLetter”,但我仍然不知道如何将其插入到要选择的范围中,即使我知道如何获取列号和字母..
【问题讨论】:
-
(不是我的 DV)但我真的建议你阅读如何做
Range和Cell参考。Cells中有 3 个参数。 -
使用
offset... -
GrandTotal = GrandTotal.Address没有意义,因为一个是范围,另一个是字符串,而且这一行是不必要的。 -
我只是不太确定用谷歌搜索的正确方法是什么。我拥有的是一个动态列和一组静态行。因此,我尝试定位动态列,但现在我已经找到它,我似乎无法找出如何将我的列索引号与多行一起使用..
-
这似乎是一个 X-Y 问题。您不需要复制/粘贴特殊。只需一步将公式写入整个范围。然后您可以在同一范围内调用
.Value = .Value。