excel - VBA复制粘贴代码不粘贴任何东西
问题描述
有人可以让我知道为什么我的代码没有将源数据中的任何内容粘贴到目标文件中吗?此代码的目标是选择满足特定条件的行,将其复制粘贴到另一个工作簿中,代码如下所示:
Sub Copy_Source_LRE()
Dim LastRow As Integer, i As Integer, erow As Integer
Workbooks.Open _
"C:\Users\sjiang\OneDrive - Canada Pension Plan Investment Board\Desktop\IOA Exposure\AAPAF_strategy_loadings_2019-04-01_2020-04-01 (2).csv"
Worksheets("AAPAF_strategy_loadings_2019-04").Activate
Set sht = ActiveSheet
'Workbooks("AAPAF_strategy_loadings_2019-04-01_2020-04-01 (2).csv").Sheets("AAPAF_strategy_loadings_2019-04").Activate
LastRow = sht.Cells(sht.Rows.Count, "B").End(xlUp).Row
For i = 2 To LastRow
For Each d In Array("4/1/2019", "5/1/2019", "6/3/2019", "7/1/2019", "8/1/2019", "9/2/2019", _
"10/1/2019", "11/1/2019", "12/2/2019", "1/2/2020", "2/3/2020", "3/2/2020")
If Cells(i, 2) = d And Cells(i, 3) = "Real Estate" And Cells(i, 4) = "Listed Real Estate" And Cells(i, 5) = "AAPAF_SA" Then
Range(Cells(i, 2), Cells(i, 12)).Select
Selection.Copy
Workbooks.Open _
"C:\Users\sjiang\OneDrive - Canada Pension Plan Investment Board\Desktop\IOA Exposure\pull data.xlsm"
Worksheets("Sheet1").Select
erow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
ActiveSheet.Cells(erow, 1).Select
ActiveSheet.Paste
ActiveWorkbook.Save
'ActiveWorkbook.Close
End If
Next d
Next i
Application.CutCopyMode = False
End Sub
解决方案
这是一种非常简单且基本的方法,我一直使用它来将数据复制到新工作簿中。在此示例中,我将一个名为“MasterData”的命名范围复制到一个新的空白工作簿中。然后我用密码保存那本新书并重新激活当前工作簿。
Dim newfilename As String
newfilename = "/Users/" & userName & "/Desktop/savedWorkbook.xlsx"
Dim NewBook As Workbook
Set NewBook = Workbooks.Add
ThisWorkbook.Activate
Sheets("Datasheet").Select
Range("MasterData").Copy
NewBook.Activate
NewBook.Sheets(1).Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
NewBook.SaveAs Filename:=newfilename, Password:="examplepassword", AccessMode:=xlExclusive, ConflictResolution:=Excel.XlSaveConflictResolution.xlLocalSessionChanges
NewBook.Close (True)
ThisWorkbook.Activate
推荐阅读
- excel - 使用 Excel 工作表的 MailEnvelope 对象时出现运行时错误
- grails - 如何实现跨会话请求锁定。
- javascript - 如何在此 Google Apps 脚本中格式化时间?
- ruby - 如何为现有的 Rake 任务添加异常处理?
- azure - Azure 服务结构:容器映像未刷新
- node.js - Node.js 多中间件导出模式
- android - 在 Android RecyclerView 中减少解析所需日期时间格式的延迟的步骤?
- javascript - 在 Firefox 和 Edge 上隐藏默认日期输入菜单
- ruby-on-rails - postgres 中枚举类型的 schema.rb 崩溃
- php - Codeigniter - 如何根据日期和时间在会议室应用程序中获取可用房间