VBA:将值存储到variables
子testing()''testingmacros'
Dim aRange As Range Dim i 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
结束小组
Sub CopyContents()Dim currentRange As Range Dim genderAndDiscipline As String
Set currentRange = Range(ActiveCell.Address) 'get the gender and dicipline Set genderAndDiscipline = ActiveCell.Offset(-1, 0).Value 'genderAndDiscipline = genderAndDiscipline.Split(" ")
结束小组
嗨在那里,我试图将一个单元格值存储在一个variables中。 但不知何故,它不断给我一个编译错误。 “所需对象”
在我看来,我告诉variables的方面一个string和单元格包含一个string,debugging器说。
你能帮我吗?
currentRange在这里是'A7',上面的单元格包含一个string'200m men'
Set genderAndDiscipline = ActiveCell.Offset(-1, 0).Value
genderAndDiscipline
被声明为一个string。
分配给string的正确方法是使用Let
而不是Set
(用于分配对象)。
为了摆脱错误,请从导致错误的行中删除单词Set
,或将Set
replace为Let
。
那是:
genderAndDiscipline = ActiveCell.Offset(-1,0).Value
要么
Let genderAndDiscipline = ActiveCell.Offset(-1, 0).Value
从Set genderAndDiscipline = ActiveCell.Offset(-1, 0).Value
移除Set
Set genderAndDiscipline = ActiveCell.Offset(-1, 0).Value
Set
关键字适用于Objects
。 既然你只是为了保存价值,你应该离开这个。 即改变:
Set genderAndDiscipline = ActiveCell.Offset(-1, 0).Value
至:
genderAndDiscipline = ActiveCell.Offset(-1, 0).Value