excel - 如何将数据从用户窗体插入到具有特定值的特定行
问题描述
我想创建一个用户表单,可以在 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”行有错误 – Jacob 2 分钟前
这意味着"TWO.Sales.Value"
没有找到Range("E18:E1888")
,因此D
什么都不是。您需要检查是否找到该值。我也有一种感觉,你想要If D.Value = TWO.Sales.Value Then
而不是If D.Value = "TWO.Sales.Value" Then
也没有必要Select/Activate
。您可以直接使用对象。您可能想查看如何避免在 Excel VBA 中使用 Select
每当您使用 时VLookup
,最好处理在未找到匹配项时可能弹出的错误。有多种方法可以做到这一点。我在下面的代码中展示了一种方法。
这是你正在尝试的吗?(未经测试)
Option Explicit
Sub Sample()
Dim APAC As Worksheet
Dim curRow As Long
Dim aCell As Range
Dim Ret
Set APAC = Sheet2
With APAC
For Each aCell In .Range("E18:E1888")
If aCell.Value = TWO.Sales.Value Then
curRow = aCell.Row
Exit For
End If
Next aCell
If curRow = 0 Then
MsgBox "Not Found"
Else
.Range("G" & curRow).Value = TWO.RSA.Value
.Range("H" & curRow).Value = TWO.Part.Value
On Error Resume Next
Ret = Application.WorksheetFunction.VLookup(TWO.Part.Value, _
Worksheets("DataEntry").Range("T2:U70").Value, 2, False)
On Error GoTo 0
If Ret <> "" Then .Range("I" & curRow).Value = Ret
.Range("J" & curRow).Value = TWO.Program.Value
.Range("K" & curRow).Value = TWO.QTY.Value
End If
End With
End Sub
注意:如果范围.Range("E18:E1888")
是动态的,那么您可能希望找到最后一行,如此处所示,然后将范围用作.Range("E18:E" & LastRow)
推荐阅读
- python - 如何通过变量更新mysql中的某些内容
- sql - 如何在表格的字段中搜索具有字母 r 然后是 s 的元素,但按此顺序?
- sql - 如何分隔访问字段的行?
- javascript - 您可以通过 MUI DataCode 中的代码取消选中复选框吗?
- kubernetes - 如何知道在 helm 图表中暴露了哪些值/可以自定义哪些值?
- python-3.x - locust主节点支持的最大worker数?
- c# - 如何将数据元素从 HTML 传递到代码页 Razor 组件
- mouse - 为什么我的鼠标只能左右不工作而滚轮是当我移动鼠标时我的鼠标根本不移动
- php - Laravel Dump,Die dd() 未显示完整结果
- html - 如何在项目符号中添加框图标并在我的网站中添加编号?