【发布时间】:2020-09-02 02:33:49
【问题描述】:
一直在尝试解决以下问题,但到目前为止没有运气,寻求您的帮助:
-
vba 公式返回额外的两个“@”,如何修复代码或删除单元格 R1 中的“@”?
-
如果我想循环并运行从单元格 R1 到 R30 的 vba 代码,我应该修改哪部分代码?
Dim PartPoError As Range Dim PART As Range Dim PO As Range Dim lastrow As Long lastrow1 = Sheets("TEMPLATE").Cells(Rows.Count, "A").End(xlUp).Row x = "J" & lastrow1 t = "A" & lastrow1 V = "B" & lastrow1 Set PartPoError = Sheets("rpt_sense").Range("A1", x) Set PART = Sheets("rpt_sense").Range("A1", t) Set PO = Sheets("rpt_sense").Range("B1", V) With Worksheets("rpt_sense") .Range(.Cells(2, 23), .Cells(lastrow1, 23)).ClearContents .Range(.Cells(2, 23), .Cells(lastrow1, 23)).Formula = "=A2&B2" End With lastrow2 = Sheets("template").Cells(Rows.Count, "A").End(xlUp).Row For s = lastrow2 To 16 Step -1 If Sheets("template").Cells(s, 10).Value = "" Then ' Stuck in below formula error....it retunred with extra two "@" in cell formula R1..... Sheets("template").Cells(s, 10) = "=INDEX('rpt_sense'!r:r" & ",MATCH('template'!c8" & "&'template'!B" & s & ",'rpt_sense'!a:a" & "&'rpt_sense'!f:f" & ",0),1)" End If Next s
picture file - index match id and date in yellow from another worksheet
【问题讨论】:
-
在公式中添加
@本身并没有错误。 Excel 添加了这个来控制溢出,这很可能是你想要的。真正的问题是,这个公式有效吗?另一个是您是否想要单元格中的公式或其结果。我总是不太愿意让 VBA 编写公式而不是自己完成工作(可能使用相同的函数)。 -
您好,感谢您的信息并注明。该公式不适用于额外的“@”,我需要用 CTRL + H 将其替换为空白。我这样做的原因是因为我有一个从 R1 到 R30 的范围需要搜索和查找另一个数据工作表,我正在寻找更好的方法来做到这一点。
-
如果您告诉我们查找值、数据在哪里以及您想要的结果在哪里,我们可能会想出您想要的代码。但就目前情况而言,我们无法通过查看不起作用的代码来了解您需要什么。尝试另一种方法来解释您的问题。
-
.Formula2(例如rng.Formula2 = "=...")呢? @talentgreatness