我正在尝试编写一些代码,将一个特定命名范围单元格的值复制到另一个命名范围中。
代码如下:
If Not Intersect(Target, Target.Worksheet.Range("RaceDrop")) Is Nothing Then
If Range("RaceDrop") = Range("Races").Cells(1, 1) And Range("ClassDrop") = Range("Classes").Cells(1, 1) Or Range("Races").Cells(1, 1) And Range("ClassDrop") = Range("Classes").Cells(1, 2) Then
Range("OriginDrop") = Range("Origins").Cells(1, 1)
每个像 "Range("X") = Range("Y").Cells(x, x)" 这样的语句都会在 If 语句和结果中给出错误。但是,如果我将其设为静态语句,例如 Range("Races").Cells(1, 1) 的 "Human"。虽然此解决方法有效,但我想让所有引用动态化,以便更改或移动数据值所需的时间少得多。
例如,我尝试过 Range("Origins").Cells(1, 1).Text ,但它仍然不起作用。还有其他方法可以解决这个问题吗?
编辑:我还应该补充一点,我得到的错误是“对象'_Worksheet'的方法'范围'失败”
添加:
Cells() 的引用是因为它们引用实际范围,而不仅仅是一个单元格。有些指的是大表,所以有时它会是 Range("Table").Cells(5, 3),它并不总是指 1, 1。我不确定引用特定单元格的另一种方式在一张桌子上。
例如,我想做的一点是: Range("OriginDrop") = Range("Origins").Cells(4, 1)