vba - Excel VBA 复制和粘贴特定行数和新工作簿
问题描述
我有一个ContactsforEmails
从这个工作簿调用的主工作表,我正在将标题复制到每个新工作簿中。
然后,我从A2
直到I
列开始每 40 行复制和粘贴一次。新工作簿被保存并关闭。然后我想循环创建另一个新的工作簿名称“EmailList(下一个数字)”,然后复制下一个 40。然后运行直到A
列中的下一个单元格为空白。
我设法复制了标题,另存为新文档,然后复制了前 40 个。我还没有弄清楚如何让它正确循环,我怀疑它是使用DoUntil循环和Offset。但我希望在这方面更先进的人可以提供建议。
我遇到的错误是“运行时错误 9:下标超出范围”。
这是我的尝试:
'Copy Header
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Rows("1:1").EntireRow.AutoFit
'Save File As New Name
Dim fpath As String
Dim fcount As Integer
Dim fname As String
Do While Len(Dir(fpath & fname)) <> 0
fpath = "C:\Users\Path\"
fcount = fcount + 1
fname = "EmailList" & fcount & ".xlsx"
Loop
ActiveWorkbook.SaveAs Filename:=fpath & fname
'Copy and Paste 40
Windows("ContactsForEmails.xlsx").Activate
Dim fcopy As Range
Set fcopy = Range("A2:H41")
fcopy.Select
Selection.Copy
Windows(fname).Activate
Range("A2").Select
ActiveSheet.Paste
ActiveWorkbook.Save
ActiveWorkbook.Close
Do Until IsEmpty(fcopy)
fcopy.Offset(40, 0).Select
Selection.Copy
Windows(fname).Activate
Range("A2").Select
ActiveSheet.Paste
ActiveWorkbook.Save
ActiveWorkbook.Close
Loop
End Sub
解决方案
推荐阅读
- javascript - JS React Native / Expo 中的可选要求
- arrays - 列中当前值的计数
- javascript - 如何防止 jQuery click 事件同时在多个元素上触发?
- javascript - 剑道参数映射返回未定义
- ios - 使用 VNRectangleObservation 裁剪 UIImage
- python - 如何在 Beautifulsoup 4 中检索包含特定文本的 href?
- python - 只是想比较一个项目但得到一个 UndefinedVariableError
- php - 当我的用户尝试登录到他们的仪表板时,出现尝试获取非对象错误的属性
- python - 是否有更“pythonic”的方式从具有自定义分隔符的列表中生成字符串
- reactjs - Stripe redirectToCheckout - “TypeError:stripe.redirectToCheckout 不是函数”