中易网

求一个vba小程序,谢谢

答案:3  悬赏:0  
解决时间 2021-01-29 07:38
求一个vba小程序,谢谢
最佳答案
Sub 合并至总表()
 Dim Rng As Range, Rng1 As Range, Rng2 As Range, Sh As Worksheet
 Dim Dic As Object, i1&, j1&, i2&, j2&, K1$, K2$, K3$, i0&
 K1 = "水果": K2 = "其他1": K3 = "其他2"
 Set Dic = CreateObject("Scripting.Dictionary")
 Application.ScreenUpdating = False
 Application.DisplayAlerts = False
 Application.EnableEvents = False

 For Each Sh In Worksheets
  Dic(Sh.Name) = ""
 Next Sh
 If Not Dic.exists("总表") Then
  Worksheets.Add before:=Worksheets(1)
  ActiveSheet.Name = "总表"
 Else
  Worksheets("总表").Cells.ClearContents
 End If

 i0 = 0
 With Worksheets("总表")
  For Each Sh In Worksheets
   If Sh.Name <> .Name Then
    Set Rng = Sh.Cells.Find(what:=K1)
    '总表采用第一个分表的两行表头
    If (Not Rng Is Nothing) And i0 = 0 Then
     Rng.Resize(2, 9).Copy .Cells(1, 1)
     i0 = 2
     j1 = 3: j2 = 3
    End If
    Set Rng1 = Sh.Cells.Find(what:=K2)
    Set Rng2 = Sh.Cells.Find(what:=K3)
    If Rng Is Nothing Or Rng1 Is Nothing Or Rng2 Is Nothing Then
    Else
     Set Rng = Rng.Offset(i0, 0)
     .Cells(j1, 1).Resize(Rng1.Row - Rng.Row, 5) = Rng.Resize(Rng1.Row - Rng.Row, 5).Value
     .Cells(j2, 6).Resize(Rng2.Row - Rng.Row, 4) = Rng.Offset(0, 5).Resize(Rng2.Row - Rng.Row, 4).Value
     j1 = j1 + Rng1.Row - Rng.Row
     j2 = j2 + Rng2.Row - Rng.Row
    End If
   End If
  Next Sh
  .Cells(1, 1).Resize(Application.WorksheetFunction.Max(j1, j2) - 1, 9).Borders.LineStyle = xlContinuous
 End With
 Application.EnableEvents = True
 Application.DisplayAlerts = True
 Application.ScreenUpdating = True
 Set Dic = Nothing
End Sub
追问:你果然是大神,666
全部回答
可以帮你写 私信我
文件呢?
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
K1071次列车列车长办公室在几号车厢?定员多
你们OPPOr11都贴的什么膜啊,我的还是原装出
做obs这软件的公司怎么 盈利
请问谁有CAV-AV-1086中文说明书
江西临川二中高三理科有几个零班和次零班
为什么x分之一的导数是负的x平方分之一?负号
人字加一个笔画,组成3个字,都有哪3个字呢?
“口小肚大”难行走“成长中的烦恼”何时休
求11G101-1~3电子版图集、
QT 如何在文件中查找是否有该字符或字符串?
上联,叔侄赏月齐同去, 下联,
如果油汽俩用车水温传感器坏了会不会影响燃气
急求!!!怎么截取dos命令执行结果的第2行?
朋友们php现在平均月薪是多少?php还能发展几
调查一下1.8T迈腾的真实油耗是多少
推荐资讯
为什么日本坦克比德国坦克小
该不该去日企,如何选择
任氏婚纱摄影地址在什么地方,想过去办事
关于一氧化碳成键的问题
估算24x8应该是多少
水泥路面裂缝怎么处理才能保证不渗水?
千裏铺锦绣是什么意思
现实中,我的朋友很少,大家似乎都刻意远离我
二人转演员爱开黄色笑话, 而且有的带有屁,
郫县九九红手工工作室靠谱吗?
从操控性来说高尔夫6和菲亚特博悦哪个更好
Can l take this bus ____ home? A、to B、&#
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?