子测试()''测试宏'
” 昏暗的范围作为范围 Dim i As Integer
Set aRange = Range("A1:A255") Range("A1").Select For i = 1 To aRange.Count - 1 If InStr(ActiveCell.Value, "Last name") Then Call CopyContents End If ActiveCell.Offset(1, 0).Select Next i
End Sub
Sub CopyContents() 昏暗的currentRange作为范围 Dim genderAndDiscipline As String
Set currentRange = Range(ActiveCell.Address) 'get the gender and dicipline Set genderAndDiscipline = ActiveCell.Offset(-1, 0).Value 'genderAndDiscipline = genderAndDiscipline.Split(" ")
End Sub
您好,我正在尝试将单元格值存储在变量中。但不知何故,它一直在给我一个编译错误。 “需要对象”
在我看来,正如调试器所说,我告诉变量是一个字符串,而单元格包含一个字符串。
你可以帮帮我吗?currentRange在这里是'A7',上面的单元格包含一个'200m men'的字符串
发生错误
Set genderAndDiscipline = ActiveCell.Offset(-1, 0).Value
答案 0 :(得分:3)
genderAndDiscipline
被声明为字符串。
分配给字符串的正确方法是使用Let
而不是Set
(用于分配对象)。
为了消除错误,请从导致错误的行中删除单词Set
,或将Set
替换为Let
。
即,使用以下两种替代方案之一(相同):
genderAndDiscipline = ActiveCell.Offset(-1, 0).Value
或
Let genderAndDiscipline = ActiveCell.Offset(-1, 0).Value
答案 1 :(得分:2)
Set
关键字适用于Objects
。既然你只想保存价值,你应该把它留下来。即改变:
Set genderAndDiscipline = ActiveCell.Offset(-1, 0).Value
为:
genderAndDiscipline = ActiveCell.Offset(-1, 0).Value
答案 2 :(得分:1)
从Set
Set genderAndDiscipline = ActiveCell.Offset(-1, 0).Value