pointer
是基地址A8,ref
是在表格中导航。
错误:pointer
在单元格A8中取值而不是地址$A$8
;即使指针设置为字符串,它也会在第5行中导致“ type mismatch ”
Dim ref As Range, pointer As Range
Dim diff as Integer
Set pointer = Range("A8").Address
Set ref = pointer.Offset(diff, 0)
ref.Value = Date
答案 0 :(得分:0)
您正在使用不同类型的变量混合不同类型的数据。
在您的代码中,您将Pointer
定义为范围,因此行Set pointer = Range("A8").Address
不正确,因为Range.Address返回字符串值。
所以只需将Set pointer = Range("A8").Address
替换为Set pointer = Range("A8")
答案 1 :(得分:0)
澄清差异
Range("A8")
属于Range
类型,代表单元格A8 及其所有属性。Range("A8").Address
的类型为String
,代表单元格A8的地址,即" $ A $ 8"。Range("A8").Value
表示单元格的值。所以你需要决定你想要什么。
例如.Offset(diff, 0)
仅适用于范围,但不适用于地址。所以你可能想要使用Set pointer = Range("A8")
。要访问pointer
的地址,您可以使用pointer.Address
。