[英]Setting the value of an excel cell referenced by another cell with VBA
我目前有一个名为“ DataMap”的电子表格,该电子表格具有键/值的布局。 关键是对另一个电子表格和单元格的引用,该值由用户输入。
例如,键列可能具有以下各个引用:
此页面上还有一个名为“传输数据”的按钮。
当按下“传输数据”时,运行一个宏,该宏将值复制到键列引用的单元格中。
该页面的重点是在一个位置,可以从第3方系统注入数据,而无需了解其他excel工作簿-除非存在“ DataMap”表。
当前,我遍历“ DataMap”中的每个键/值对行,并可以使用以下代码将值注入到“ = Sheet1!B25”中:
reference = Replace(Sheets("MAPPINGS").Range("A" & row).Formula, "=", "")
refSplit = Split(reference, "!")
Sheets(refSplit(0)).Range(refSplit(1)) = Sheets("MAPPINGS").Range("B" & row).Value
如果使用字符串替换,我也可以处理“ ='Sheet 2'!B25”的情况。
但是,我在命名表方面遇到了很大的麻烦。
可能吗? 或者,是否有人建议更好的方法来专门处理将值复制到“键”列所引用的单元格中(无论引用的格式如何)?
谢谢
Dim sht As Worksheet
Dim ref As Range
Set sht = Sheets("MAPPINGS")
Set ref = Application.Evaluate(Replace(sht.Range("A" & Row).Formula, "=", ""))
ref.Value = sht.Range("B" & Row).Value
见下文。
Dim sht As Worksheet
Dim address As Range
Set sht = Sheet2
Set address = Range(Replace(sht.Range("A" & 5).Value, "=", vbNullString))
address.Value = sht.Range("B" & 5).Value
几个建议:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.