excel - 如果满足条件,复制并粘贴到另一个工作簿
问题描述
我正在尝试创建 VBA 代码,该代码从一个工作簿(Test Report.xlsx)复制行,然后将该复制的行粘贴到另一个工作簿(Test Final Report.xlsx)中,如果它在单击命令按钮时满足特定条件。复制和粘贴的条件是,如果表中第二列中的单元格包含条件 3'5,则复制该行,然后将其粘贴到另一个工作簿中。我尝试了以下方法,但是当我运行时,它只选择 End Sub 之前的代码行中指定的单元格。我需要这方面的帮助,请参阅下面一直让我失望的代码。我做错了什么,我应该怎么做才能使它正确?
Private Sub CommandButton1_Click()
a = Worksheets("Mar'19").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To a
If Worksheets("Mar'19").Cells(i, 2).Value = "3'5" Then
Worksheets("Mar'19").Rows(i).Copy
Worksheets("3.5").Activate
b = Worksheets("3.5").Cells(Rows.Count, b).End(xlUp).Row
Worksheets("Sheet2").Cells(b + 1, 1).Select
ActiveSheet.Paste
Worksheets("Sheet1").Activate
End If
Next
Application.CutCopyMode = False
ThisWorkbook.Worksheets("Mar'19").Cells(1, 1).Select
End Sub
解决方案
这行得通吗?
Private Sub test()
a = Worksheets("Mar'19").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To a
If Worksheets("Mar'19").Cells(i, 2).Value = "3'5" Then
Worksheets("Mar'19").Rows(i).Copy
Worksheets("3.5").Cells(ThisWorkbook.Sheets("3.5").Cells(1048576, 1).End(xlUp).row + 1, 1).Paste
End If
Next
Application.CutCopyMode = False
ThisWorkbook.Worksheets("Mar'19").Cells(1, 1).Select
End Sub
推荐阅读
- blazor-webassembly - 带有 Enter 按钮的 Blazor InputText 触发函数
- python-3.x - 如何在类中使用 Python 的 websockets 和 asyncio 以及现有的事件循环
- matlab - Matlab:如何将“日期时间”数据导出到外部文件?“使用 fprintf 时出错。没有为‘单元’输入定义函数。”
- oracle - 如何在 SQL plus 中的列值之前修剪尾随空格
- amazon-web-services - 挂载S3桶系统后目录日期显示为1970
- angular - Angular 应用程序在更改时停止重新加载
- javascript - 使用 Javascript 在另一个选项卡或窗口中提交表单
- javascript - 即使我与页面交互也无法录制音频
- javascript - 静态文件不在一个模板上加载,而是在另一个模板上加载
- javascript - Vue 3 refs 在渲染函数中未定义