excel - 如何复制活动单元格并将它们粘贴到已打开的新工作簿中?
问题描述
我在“Workbook_1.xlsx”中选择活动单元格并启动宏。
宏必须复制该单元格,将其粘贴到同一工作簿中的单元格 I2(“value_for_j2”)中,从单元格 J2 中获取一个值并打开工作簿“Bank accounts.xlsx”并在 I:I 列中搜索 J2 的值(来自“ Workbook_1.xlsm") + 字母“DD”。
然后在找到搜索值的同一行上,它必须在 D 列上复制另一个值 =“accnumber”,打开工作簿“dd.mm.yyyy.xlsx” - WB 名称每天都不同,因此引用必须是动态的(因为每天新文件被提取),这就是为什么我在“Workbook_1.xlsm”的单元格 K2 中放置一个 =today() 公式,所以它总是在宏中被引用,然后它需要在那里粘贴一个过滤器,必须复制过滤后的范围,打开一个新的工作簿,将 A12 中的范围粘贴到那里,返回“Workbook_1.xlsm”,复制最初活动的单元格(在启动宏时,第一个单元格)加上同一行右侧的 3 个单元格(如果活动单元格是 C4,然后复制范围 C4:F4),返回到粘贴过滤范围时创建的新工作簿,并将该信息粘贴到 C7 行。
到目前为止,这是我的简单代码:
Dim wb As Workbook
ddmmyyyy_workbook = Range("K2").Value
Set wb = Workbooks(Format(ddmmyyyy_workbook, "dd.mm.yyyy") & ".xlsx")
accnomer = ActiveCell
Dim value_for_J2 As Range
Selection.Copy
Range("I2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Criteria = Range("J2").Value
Windows("Bank Accounts.xlsx").Activate
Set batch = Range("I:I").Find(Criteria & "TT")
If Not value_for_j2 Is Nothing Then
value_for_j2.Select
End If
ActiveCell.Offset(0, -5).Range("A1").Select
wb.Activate
ActiveSheet.Range("$A$1:$G$654").AutoFilter field:=5, Criteria1:=accnomer
Range("C1").Activate
Selection.CurrentRegion.Select
Application.CutCopyMode = False
Selection.Copy
Workbooks.Add
Range("A12").Select
ActiveSheet.Paste
缺少如何返回“Workbook_1.xlsm”并复制活动单元格和另外 3 个(例如 C4:f4)并返回新创建的工作簿并粘贴到 C7 中。
这个问题令人困惑且冗长,我试图只解释整个问题的一部分,但它变得更加令人困惑,所以现在我向你解释我想在我的项目中做的整个过程。
拜托,如果你能帮助我,我将不胜感激。
解决方案
推荐阅读
- javascript - 是的,使用新的验证字段更新架构
- android - android 2-way data-binding kotlin mthod没有被调用
- c# - 使用原始请求标头 C# 在请求正文中发送参数和文件
- sql-server - T-SQL 将 XML 数据解析为单行
- ios - 即使正确设置,也隐藏在 ViewController 中的大标题
- intellij-idea - 如何通过右键单击在 Intellij 中运行 .sh?
- docker - 如何将我的代码安装到容器中,然后运行它?
- jsf - 禁用/启用primefaces keyFilter
- postgresql - Postgres 查询有时需要很长时间
- json - 使用 Helm 创建包含引用元素列表的 json 可解析 k8s 配置映射