【发布时间】:2022-01-21 22:05:21
【问题描述】:
我会尽量用最好的方式解释这一点:
我有一个名为“设备清单”的 ws,它是库存概览。我还有几个称为“请求列表 1”、“请求列表 2”等的 ws。 “设备清单”包含每个项目的序列号,但“请求清单”包含除序列之外的所有信息。
我有一个调用可用工作表(“请求列表”)的用户窗体,然后我可以选择合适的。
我还设法在 A 列“设备列表”中创建了一个 DoubleClick“检查”功能,基于此信息我想:
-
当按下“导出”按钮时,我希望它将“设备列表”中的 C、D、E 和 F 列中的信息与我选择的“请求列表”中的相同列进行比较。 (ListBox1.Value)
-
然后根据 A 列中的“检查”,从“设备列表”中复制唯一的“序列”(B 列),并将其粘贴到“请求列表”中找到的匹配行和列中。
-
然后将“请求列表”(H1)中的“位置”带到“设备列表”中的位置列 我已经开始研究宏,但无法提出任何有用的东西。
请了解我在 VBA 方面的技能有限,但我有兴趣了解更多信息,如果有人可以帮助我,我将不胜感激。
我已经成功了,所以它会根据 col A 中的信息复制行这是我目前所拥有的:
Private Sub cbnExport_Click()
For Each Cell In Sheets("Equipment List").Range("A4:A9999")
If Cell.Value = ChrW(&H2713) Then
matchRow = Cell.Row
Rows(matchRow & ":" & matchRow).Select
Selection.Copy
Sheets(ListBox1.Value).Select
Range("A" & Rows.Count).End(xlUp).Offset(1).PasteSpecial
Paste:=xlPasteValues
Sheets("Equipment List").Select
End If
Next
Worksheets("Equipment List").Columns("A").ClearContents
Sheets(ListBox1.Value).Select
Application.ScreenUpdating = True
Unload Me
End Sub
【问题讨论】:
-
你能解释一下你的代码有什么问题吗?您是否需要使用 4 列而不是 1 列中的条件来查找值?
-
我的代码有效,但我想修改它以查找匹配项并将序列号从设备列表填充到请求列表。它需要匹配所有列(C、D、E、F)以确保其相同。如果它只与其中一个匹配,它很可能会用错误的序列号填充行。
-
请澄清您的具体问题或提供更多详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
标签: excel vba match copy-paste