首页 文章

VBA:将值存储到变量

提问于
浏览
0

子测试()''测试宏''将范围调整为范围调整为整数设置a范围=范围(“A1:A255”)

范围( “A1”) . 选择
对于i = 1到aRange.Count - 1

如果是InStr(ActiveCell.Value,“姓氏”)那么
调用CopyContents
万一
ActiveCell.Offset(1,0) . 选择

接下来我
End Sub Sub CopyContents()Dim currentRange As Range Dim genderAndDiscipline As String Set currentRange = Range(ActiveCell.Address)

'得到性别和dicipline
设置genderAndDiscipline = ActiveCell.Offset(-1,0).Value
'genderAndDiscipline = genderAndDiscipline.Split(“”)
结束子

您好,我正在尝试将单元格值存储在变量中 . 但不知何故,它一直在给我一个编译错误 . “所需对象”

在我看来,正如调试器所说,我告诉变量是一个字符串,而单元格包含一个字符串 .

你能救我吗?

currentRange在这里是'A7',上面的单元格包含一个'200m men'的字符串

该错误发生在 Set genderAndDiscipline = ActiveCell.Offset(-1, 0).Value

3 回答

  • 3

    genderAndDiscipline 声明为字符串 .

    分配给字符串的正确方法是使用 Let 而不是 Set (用于分配对象) .

    为了消除错误,从导致错误的行中删除单词 Set ,或用 Let 替换 Set .

    那是:

    genderAndDiscipline = ActiveCell.Offset(-1,0).Value

    要么

    Let genderAndDiscipline = ActiveCell.Offset(-1, 0).Value
    
  • 1

    Set genderAndDiscipline = ActiveCell.Offset(-1, 0).Value 删除 Set

  • 1

    Set 关键字适用于 Objects . 既然你只想保存 Value ,你应该把它留下来 . 即改变:

    Set genderAndDiscipline = ActiveCell.Offset(-1, 0).Value
    

    至:

    genderAndDiscipline = ActiveCell.Offset(-1, 0).Value
    

相关问题