0

第一次使用,如果我的问题不符合格式指南,我深表歉意。

我有几张每天都在变化的数据,我希望对其进行核对。在一张特定的表格中,详细列出了客户列表,其中包含有关他们的信息。作为和解的一部分,我需要随机选择其中一家公司并列出它们的某些详细信息

这些详细信息在第 3、5、7、14 和 20 列中。

下面我粘贴了代码,我计算出一天中有多少客户(最后一行)并随机选择一个客户并列出数据。

但是,我不断收到运行时错误 450:错误的编号争论或无效的属性分配。

谁能帮我?

'Regency
        Dim Regrows As Integer
        Dim RegCust As Integer
        Dim Regcustomer As Range

        AgedDebtors.Activate
        AgedDebtors.Sheets("Regency").Activate
        Regrows = Range("C" & Rows.Count).End(xlUp).Row
        RegCust = Int((Regrows - 45 + 1) * Rnd + 45)

        With AgedDebtors.Sheets("Regency")
            Regcustomer = Range(Cells(RegCust, 3), Cells(RegCust, 5), _
                                Cells(RegCust, 7), Cells(RegCust, 14), _
                                Cells(RegCust, 20))
            Regcustomer.Activate
        Selection.Copy

        End With
4

1 回答 1

1

Set将值分配给对象变量时需要使用,但您的主要问题是Range()无法按照您希望的方式工作。

Set Regcustomer = .Range(Replace("C?,E?,G?,N?,T?", "?", RegCust))

您不需要激活工作表来复制范围,也不需要激活范围

    Dim Regrows As Integer
    Dim RegCust As Integer
    Dim Regcustomer As Range

    With AgedDebtors.Sheets("Regency")
        Regrows = .Range("C" & .Rows.Count).End(xlUp).Row
        RegCust = Int((Regrows - 45 + 1) * Rnd + 45)
        .Range(Replace("C?,E?,G?,N?,T?","?",RegCust)).Copy
    End With
于 2013-11-01T21:46:18.667 回答