news 2026/4/16 12:43:06

vb copy target range

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
vb copy target range

Sub BatchMergeExcelFiles()
Dim sourceFolder As String
Dim newWorkbook As Workbook
Dim sourceWorkbook As Workbook
Dim fileDialog As fileDialog
Dim targetRow1 As Long ' new.xlsx Sheet1的目标粘贴行
Dim targetRow2 As Long ' new.xlsx Sheet2的目标粘贴行

' 1. 选择目标文件夹(手动选择,避免硬编码路径)
Set fileDialog = Application.fileDialog(msoFileDialogFolderPicker)
With fileDialog
.Title = "请选择要遍历的文件夹"
If .Show <> -1 Then Exit Sub
sourceFolder = .SelectedItems(1) & "\"
End If

' 2. 创建新工作簿 new.xlsx
Set newWorkbook = Workbooks.Add
newWorkbook.SaveAs Filename:=sourceFolder & "new.xlsx", FileFormat:=xlOpenXMLWorkbook

' 初始化目标粘贴行(从第1行开始)
targetRow1 = 1
targetRow2 = 1

' 3. 遍历文件夹内所有xlsx文件
Dim fileName As String
fileName = Dir(sourceFolder & "*.xlsx")

Application.ScreenUpdating = False ' 关闭屏幕更新,提升效率
Application.DisplayAlerts = False ' 关闭弹窗提示

Do While fileName <> ""
' 跳过新建的new.xlsx,避免自循环
If fileName <> "new.xlsx" Then
' 打开源文件
Set sourceWorkbook = Workbooks.Open(sourceFolder & fileName)

' ========== 复制 Sheet1!B7:G8 到 new.xlsx Sheet1 ==========
With sourceWorkbook.Worksheets("Sheet1")
.Range("B7:G8").Copy
newWorkbook.Worksheets(1).Range("A" & targetRow1).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
End With
targetRow1 = targetRow1 + 2 ' 每次复制2行,目标行递增2

' ========== 复制 Sheet1!B51:G58 到 new.xlsx Sheet2 ==========
With sourceWorkbook.Worksheets("Sheet1")
.Range("B51:G58").Copy
newWorkbook.Worksheets(2).Range("A" & targetRow2).PasteSpecial Paste:=xlPasteValuesAndNumberFormats
End With
targetRow2 = targetRow2 + 8 ' 每次复制8行,目标行递增8

' 关闭源文件,不保存修改
sourceWorkbook.Close SaveChanges:=False
End If

' 读取下一个文件
fileName = Dir
Loop

' 收尾操作
Application.CutCopyMode = False
Application.ScreenUpdating = True
Application.DisplayAlerts = True
newWorkbook.Save ' 保存new.xlsx
newWorkbook.Close

MsgBox "批量合并完成!" & vbCrLf & "新文件路径:" & sourceFolder & "new.xlsx", vbInformation

' 释放对象
Set sourceWorkbook = Nothing
Set newWorkbook = Nothing
Set fileDialog = Nothing
End Sub

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 11:49:50

AI写论文哪个软件最好?别再被“秒出万字”骗了——真正能陪你走到答辩的,是那个连代码和问卷都给你配齐的“科研搭子”

你可能用过这样的AI写论文工具&#xff1a; 输入关键词&#xff0c;唰一下吐出8000字&#xff0c;语言流畅、结构完整&#xff0c;看起来“完美无缺”。 可当你兴冲冲交给导师&#xff0c;却换来一句&#xff1a; “参考文献在哪查的&#xff1f;知网上没有。” “这个图表没数…

作者头像 李华
网站建设 2026/4/16 13:24:29

R与Python变量传递实战指南(附7个高危陷阱及避坑策略)

第一章&#xff1a;R与Python变量传递机制概览在数据分析和科学计算领域&#xff0c;R 与 Python 是两种广泛使用的编程语言。尽管它们在语法和生态上存在差异&#xff0c;但理解其变量传递机制对编写高效、可预测的代码至关重要。变量传递方式直接影响函数调用时数据是否被复制…

作者头像 李华
网站建设 2026/4/15 15:42:55

设备管理看得清、管得住、省得多?用好这个平台就可以了!

设备台账Excel记&#xff0c;维修靠老师傅经验&#xff0c;采购报废流程一堆表……这是不是您工厂的日常&#xff1f;设备管理&#xff0c;看似小事&#xff0c;却天天在消耗着管理者的精力&#xff0c;隐藏着巨大的成本黑洞。别担心&#xff01;摩尔元数的设备管理系统&#x…

作者头像 李华
网站建设 2026/4/16 11:33:41

无刷直流电机BLDC双闭环调速仿真探索

无刷直流电机BLDC双闭环调速仿真 模块&#xff1a; &#xff08;1&#xff09;DC直流源、三相逆变桥、无刷直流电机、PI控制器、PWM发生器、霍尔位置解码模块、驱动信号控制等构成。 &#xff08;2&#xff09;采用转速和电流双闭环控制算法&#xff1b; &#xff08;3&#xf…

作者头像 李华
网站建设 2026/4/15 13:50:54

【内存优化终极指南】:揭秘高性能系统背后的8大内存管理技术

第一章&#xff1a;内存优化的核心概念与重要性内存优化是提升系统性能和应用程序响应速度的关键环节。在资源受限或高并发场景下&#xff0c;不合理的内存使用可能导致应用崩溃、延迟升高甚至服务不可用。因此&#xff0c;理解内存管理的基本机制并实施有效的优化策略至关重要…

作者头像 李华