当前位置: 首页 > wzjs >正文

申请付费网站百度网络科技有限公司

申请付费网站,百度网络科技有限公司,vi毕业设计代做网站,东营建设网站将当前工作簿 的所有工作表合并到到1个新的sheet, 新的sheet名称为 合并 分为2个vba脚本 , 不包含表头: 每个sheet的表头都是相同的,所以合并时不需要表头包含表头 VBA代码通过KIMI生成 1 不包含表头(标题行) Sub 合并所有工作表_不含表头()Dim ws As Worksheet, w…

将当前工作簿 的所有工作表合并到到1个新的sheet,
新的sheet名称为 合并

分为2个vba脚本 ,

  1. 不包含表头: 每个sheet的表头都是相同的,所以合并时不需要表头
  2. 包含表头

VBA代码通过KIMI生成

1 不包含表头(标题行)

Sub 合并所有工作表_不含表头()Dim ws As Worksheet, wsNew As WorksheetDim lastRow As Long, lastCol As LongDim destRow As LongDim copyRange As RangeApplication.ScreenUpdating = FalseApplication.DisplayAlerts = False'如已存在“合并”工作表,则删除On Error Resume NextSet wsNew = ThisWorkbook.Worksheets("合并")If Not wsNew Is Nothing Then wsNew.DeleteOn Error GoTo 0'新建“合并”工作表Set wsNew = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))wsNew.Name = "合并"destRow = 1   '目标行指针'遍历所有工作表For Each ws In ThisWorkbook.WorksheetsIf ws.Name <> "合并" ThenIf Application.WorksheetFunction.CountA(ws.Cells) > 0 Then'=== 关键修复:用 Find 取真正的最后一行/列 ===lastRow = ws.Cells.Find(What:="*", _After:=ws.Cells(1, 1), _SearchOrder:=xlByRows, _SearchDirection:=xlPrevious).RowlastCol = ws.Cells.Find(What:="*", _After:=ws.Cells(1, 1), _SearchOrder:=xlByColumns, _SearchDirection:=xlPrevious).Column'标题行:只在第一张工作表出现时复制If destRow = 1 ThenwsNew.Cells(destRow, 1).Value = "来源工作表"ws.Range(ws.Cells(1, 1), ws.Cells(1, lastCol)).Copy _Destination:=wsNew.Cells(destRow, 2)destRow = destRow + 1End If'复制数据区(不含标题)Set copyRange = ws.Range(ws.Cells(2, 1), ws.Cells(lastRow, lastCol))copyRange.Copy wsNew.Cells(destRow, 2)'在A列写入来源工作表名称wsNew.Range(wsNew.Cells(destRow, 1), _wsNew.Cells(destRow + copyRange.Rows.Count - 1, 1)).Value = ws.Name'移动目标行指针destRow = destRow + copyRange.Rows.CountEnd IfEnd IfNext wsApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueMsgBox "已完成合并,请查看“合并”工作表!", vbInformation
End Sub

2 包含表头(标题行)

Sub 合并所有工作表_含表头()Dim ws As Worksheet, wsNew As WorksheetDim lastRow As Long, lastCol As LongDim destRow As LongDim copyRange As RangeApplication.ScreenUpdating = FalseApplication.DisplayAlerts = False'如已存在“合并”工作表,则删除On Error Resume NextSet wsNew = ThisWorkbook.Worksheets("合并")If Not wsNew Is Nothing Then wsNew.DeleteOn Error GoTo 0'新建“合并”工作表Set wsNew = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))wsNew.Name = "合并"destRow = 1   '目标行指针'遍历所有工作表For Each ws In ThisWorkbook.WorksheetsIf ws.Name <> "合并" ThenIf Application.WorksheetFunction.CountA(ws.Cells) > 0 Then'=== 用 Find 取真正的最后一行/列 ===lastRow = ws.Cells.Find(What:="*", _After:=ws.Cells(1, 1), _SearchOrder:=xlByRows, _SearchDirection:=xlPrevious).RowlastCol = ws.Cells.Find(What:="*", _After:=ws.Cells(1, 1), _SearchOrder:=xlByColumns, _SearchDirection:=xlPrevious).Column'复制当前工作表全部内容(含表头)Set copyRange = ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, lastCol))copyRange.Copy wsNew.Cells(destRow, 2)   '从 B 列开始粘贴'在 A 列写入来源工作表名称wsNew.Range(wsNew.Cells(destRow, 1), _wsNew.Cells(destRow + copyRange.Rows.Count - 1, 1)).Value = ws.Name'移动目标行指针destRow = destRow + copyRange.Rows.CountEnd IfEnd IfNext wsApplication.DisplayAlerts = TrueApplication.ScreenUpdating = TrueMsgBox "已完成合并(含表头),请查看“合并”工作表!", vbInformation
End Sub
http://www.dtcms.com/wzjs/305640.html

相关文章:

  • 设计定制型网站建设企业培训课程名称
  • 瑞金网站建设推广网络品牌营销
  • 乌鲁木齐的网站建设杭州旺道企业服务有限公司
  • 网站开发程序流程图北京网络推广公司wyhseo
  • 做聊天网站的视频教程免费发布平台
  • 手机网站管理系统软文营销的技巧有哪些?
  • 宝宝投票网站怎么做的全媒体广告加盟
  • 怎样做的英文网站广告公司网站制作
  • 廊坊网站网站建设千锋培训学费多少钱
  • 长沙公司做网站seo含义
  • 新手java语言学做网站企业为何选择网站推广外包?
  • 合肥网站建设网站制作推广项目
  • icp网站备案流程百度外推代发排名
  • 商务网站运营与管理免费搭建网站平台
  • 网站推广需要几个人做网站名称查询
  • 怎么可以建网站网站搜索排名靠前
  • 网站建设管理相关规定无锡网站制作优化
  • 无锡网站排名优化公司哪家好郑州网络营销排名
  • 招聘H5在什么网站做最好一份完整的品牌策划方案
  • 企业查询天眼查入口seo排名优化推广报价
  • 当今做啥网站致富网络营销策划模板
  • 全国网站制作公司排名北京seo优化方案
  • 公司装修费用可以一次性入账吗免费seo培训
  • 壁画网站建设semiconductor
  • 张家界网站制作与代运营百度风云排行榜
  • 广东手机网站建设公司营销公司排行
  • 模具厂咋做网站如何提升网站搜索排名
  • 怎样查看网站的访问量seoul什么意思
  • 网站建设组织上海关键词排名优化公司
  • 大型房产网站建设网络推广平台网站推广