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 10:45:50

低代码AI开发平台:技术实现拆解与开发技巧全解析

目录 一、底层架构&#xff1a;低代码AI平台的“双核心”技术底座 1. 接入层&#xff1a;多模态需求的“统一入口” 2. AI引擎层&#xff1a;平台智能能力的“核心发生器” &#xff08;1&#xff09;模型层&#xff1a;多模型协同的“技术基石” &#xff08;2&#xff0…

作者头像 李华
网站建设 2026/4/16 12:16:50

Python全栈工程师薪资待遇高吗?

Python全栈工程师凭借“前端后端数据库”的复合技能&#xff0c;成为企业争抢的香饽饽&#xff0c;薪资水平远高于单一方向开发岗。那么Python全栈工程师薪资待遇高吗?什么是全栈工程师?通过下文为大家介绍一下。什么是Python全栈工程师?Python全栈工程师是指能够熟练掌握前…

作者头像 李华
网站建设 2026/4/16 12:21:40

2026亚洲展剧透:3D打印机+玩具潮玩,下一个百万级市场正在孵化

一转眼&#xff0c; 2025年TCT亚洲展已经过去了半年。这场亚太地区增材制造行业风向标盛会交出了今年份优秀的答卷&#xff0c;同时也点燃了更多期待。现在&#xff0c;就让我们一起翻开这本“回忆相册”用一组数据&#xff0c;回望这场行业盛事留下的热度与高光瞬间~TCT亚洲展…

作者头像 李华
网站建设 2026/4/16 10:44:07

【生产环境必看】连接器日志配置的7个致命错误及规避方法

第一章&#xff1a;连接器日志配置的核心意义 在分布式系统与微服务架构广泛应用的今天&#xff0c;连接器作为不同服务间通信的关键组件&#xff0c;其运行状态的可观测性直接影响系统的稳定性与故障排查效率。日志配置是实现这一可观测性的基础手段&#xff0c;合理的日志策略…

作者头像 李华
网站建设 2026/4/16 10:42:14

【Python大数据毕设选题】基于Hadoop+Django的高校数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习

✍✍计算机毕设指导师** ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡有什么问题可以…

作者头像 李华