vba - "Object not set"错误

标签 vba excel object

我的 Excel VBA 中有一个宏给我一个错误。我在启动 Excel 后第一次运行它,它运行完美,但是当我尝试此后任何时间运行它时,它会在 nameRow = nameRange.Row 行上出错,给出错误 对象未设置,我真的很困惑为什么。

Sub AssignGroups()

    Dim membership As Worksheet
    Dim wb As Workbook
    Dim groups As Worksheet
    Dim nameRow As Long
    Dim fullNameString As String
    Dim nameRange As Range
    Dim groupRange As Range
    Dim nameRange2 As Range
    Dim nameIndex As Long
    Dim userNameString As String
    Dim barIndex As Long



    Set wb = ActiveWorkbook
    Set membership = Sheets("User Group Membership")
    Set groups = Sheets("User Assigned to Groups")

    membership.Activate
    Set nameRange = membership.Range("A:A").Find("user -name")
    nameRow = nameRange.Row
    fullNameString = membership.Cells(nameRow, "A").Value
    nameIndex = InStr(fullNameString, "user -name")
    barIndex = InStr(fullNameString, "|")
    userNameString = Mid(fullNameString, nameIndex + 12, ((barIndex - 4) - (nameIndex + 12)))

    groups.Activate
    Set nameRange2 = groups.Range("A:CH").Find(userNameString)
    nameColumn = nameRange2.Column



    membership.Activate
    membership.Cells(nameRow, "A").Activate

    Do
        ActiveCell.Offset(1).Activate

        If Not IsEmpty(ActiveCell.Value) Then

            cellValue = ActiveCell.Value
            groups.Activate
            Set groupRange = groups.Range("A:CH").Find(cellValue, , , lookat:=xlWhole)
            groupRow = groupRange.Row
            groups.Cells(groupRow, nameColumn).Activate
            ActiveCell.Value = "X"
            membership.Activate

         End If



        Loop Until IsEmpty(ActiveCell.Value)




End Sub

这可能是因为我引用 ActiveCell 的方式吗?

最佳答案

代码中有一个后续的 Find 操作,指定仅查看整个单元格。此设置将持续存在,因此您可能只需要指定不在第一个 Find 调用中查看整个单元格:

Set nameRange = membership.Range("A:A").Find(What:="user -name", Lookat:=xlpart)

关于vba - "Object not set"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33305433/

相关文章:

java - 我正在尝试从位于数组中的特定 JSON 对象检索数据,但无法访问 "value"对象中的各个项目

excel - 如何在 ADODB SELECT 期间捕获 Escape 键(Excel VBA)

c# - 使用 OpenXML 将数据集转换为 Excel

excel - 复制粘贴宏正在诱导 'grouped' -工作表功能?

javascript - 重新排列 javascript 对象结构

javascript - 为什么这里一般调用 hasOwnProperty?

excel - 如何修改此代码以通过 FileDialog 导入文本文件?

Excel VBA : referencing another worksheet using a cell value

string - 字符串格式的疯狂问题

java - 使用 java 在 Excel 中创建下拉菜单