【发布时间】:2020-06-24 07:12:39
【问题描述】:
我想创建一个用户表单,可以在 E 列中找到“销售”值,然后将剩余数据输入到同一行。
Set APAC = Sheet2
APAC.Activate
Range("E18:E1888").Select
For Each D In Selection
If D.Value = "TWO.Sales.Value" Then
Exit For
End If
Next D
Rows(D.Row).Select
D.Offset(0, 2).Value = TWO.RSA.Value
D.Offset(0, 3).Value = TWO.Part.Value
D.Offset(0, 4).Value = Application.WorksheetFunction.VLookup(TWO.Part.Value, Worksheets("DataEntry").Range("T2:U70").Value, 2, False)
D.Offset(0, 5).Value = TWO.Program.Value
D.Offset(0, 6).Value = TWO.QTY.Value
Sheet2.Activate
这是我的代码,但是
运行时错误'91'
发生。
【问题讨论】:
-
哪一行出现错误?
-
如果两条记录的销售额相同怎么办?
-
我在 "Rows(D.Row).select" 行有错误
-
首先,声明所有变量。在代码模块的顶部添加
Option Explicit。你会发现TWO.RSA是一个没有被声明的对象。然后不要选择或激活任何东西。For Each D in Sheet2.Range("E18:E1888")的结果与您的 3 行代码生成的结果完全相同 - 减去杂乱。