excel - VBA UserForm:根据条件复制和粘贴
问题描述
我正在 VBA 中创建一个用户窗体,它将从包含 3000 多个唯一框大小的单独工作表中查找特定的框大小,并仅将该大小的相应列返回到另一个工作表中。
我已经尝试了许多类型的循环,每个循环都不起作用。因此,我尝试创建一个复制和粘贴方法,该方法将复制第一列与我的组合框中的值匹配的所有行。我继续遇到的问题是我的目标/粘贴范围的代码行。我收到运行时错误 1004“您无法在此处粘贴,因为复制区域和粘贴区域的大小不同”。
这是单击 Enter 按钮后我当前在用户窗体中的 VBA 代码。作为参考,包含我要搜索的所有数据的工作表是 Lookup Draft,我要粘贴匹配行的工作表是 Box Lookup Data。
Sub EnterButton_Click()
Dim ws As Worksheet
Dim datawks As Worksheet
Set ws = Worksheets("Box Lookup Data")
Set datawks = Worksheets("Lookup Draft")
Dim LastRow As Long
Dim i As Long, j As Long
'Find the last used row
With datawks
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
'first row number to paste values
With ws
j = .Cells(.Rows.Count, "B").End(xlUp).Row + 1
End With
'copy from datawks to ws
For i = 1 To LastRow
With datawks
If .Cells(i, 1).Value = ComboBox.Text Then
.Rows(i).Copy Destination:=ws.Range("B" & j)
j = j + 1
End If
End With
Next i
End Sub
我试图将包含目标的代码行更改为单元格引用,但这也不起作用。我希望粘贴的范围包括所有匹配的行,而不仅仅是找到的第一个匹配项——这是我在尝试复制/粘贴之前遇到的问题。
我要粘贴的工作表有 5 个标记列:(B)Box Size、(C)Customer、(D)Price、(E)Quantity 和 (F)Order Date
有什么想法吗?
解决方案
推荐阅读
- excel - Excel中有没有办法根据单元格样式对单元格进行排序?
- python - 将标签添加到 OneLineAvataListItem Python kivy
- c++ - 命名空间范围在 C++ 中如何工作?
- php - 来自子文件夹 MVC PHP 的访问控制器
- c# - 测试结束时未调用 Specflow.Autofac IDisposable
- javascript - 使用严格相等运算符而不是普通相等运算符获得未定义
- python - Django - POST 端点以更新多个表。返回包含所有相关数据的响应
- javascript - 如何在不包含节点模块文件夹的情况下将我的 React 项目上传到 GitHub
- git - 我需要合并 git repo 的 2 个分支,但浅分支历史导致与子模块 ref 发生冲突(即使我加深了历史)
- reactjs - 如何从我在 firebase 上的文档中获取 doc id