PTShare - 乐享影视 让小水管也玩得起PT!

 找回密码
 立即注册
搜索
查看: 444|回复: 0

感谢论坛大佬

[复制链接]
  • TA的每日心情
    难过
    2020-11-4 15:03
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2020-7-6 10:05:41 | 显示全部楼层 |阅读模式
    Sub 合并当前目录下所有工作簿的全部工作表()
    2 G% D7 v) w2 |+ L# V, h% H2 s3 v4 R1 |& k7 E
    Dim MyPath, MyName, AWbName
    7 C" X8 V  \( d" m# ^) \1 i  `( r/ j% r
    Dim Wb As Workbook, WbN As String( D7 B4 g( L, N

    # |9 [1 \- @7 x4 k  C1 q" MDim G As Long
    % {# ~# \) R" i# D
    $ [  `# _4 B4 W3 u) h9 ^Dim Num As Long
    0 r1 o( o8 D1 m4 ^  w/ j/ e  @# H& g
    . O! x; v/ i$ F/ }' N) ~* J2 }5 bDim BOX As String! h! S( Q9 ?* k8 f* X, s
    7 ]3 O) @/ z9 X" O. d3 n; W; s
    Application.ScreenUpdating = False
      K* X7 O" d* b" Z* b$ i. x
    ! r( Y+ a$ o# B) o6 A' kMyPath = ActiveWorkbook.Path
    7 ~( q/ U6 t; q2 o* S% }; p% L9 F5 u9 j- |* ~' ?6 @
    MyName = Dir(MyPath & "\" & "*.xls")
    / D, j: P) S0 D1 m+ }3 T4 X+ Z, W7 q
    AWbName = ActiveWorkbook.Name
    ! Z, A2 `) f# |6 ]
    * }) ?+ y' ]: C, K+ g/ e- KNum = 0" u) ], e- m3 G, N. j* f5 |
    3 s6 O  [8 m1 {* R
    Do While MyName <> ""
    % t) l3 Y9 P4 @7 G( ?4 ^: B3 D1 e
    6 N  L* A: X: W% \( b! vIf MyName <> AWbName Then/ P* u3 J# Z4 H
    9 y1 Y0 c2 b! O( O4 V8 f# x8 C
    Set Wb = Workbooks.Open(MyPath & "\" & MyName)
      G7 J  o$ y' A( P' P  H" U) S2 M3 y  w3 M$ Y8 {$ J' D3 i; ]6 U
    Num = Num + 1
    ! P( r/ }: a; t% [
    % b7 ?  N8 h! V+ r! cWith Workbooks(1).ActiveSheet
    , N/ \, E& ^) N6 x$ ?% k6 `
      {, }. E& c/ J/ m3 B.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)* d7 o" v9 v0 a' @  x
    ; _4 _3 S" L4 b$ O
    For G = 1 To Sheets.Count
    0 F( K  t+ [2 @2 x) R# q; G& D, q  s8 B3 G1 P
    Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
    6 f) ~" `0 F; W- e! w& n& N
    ! |3 S0 h. A+ @% y8 U0 \Next
    2 S9 K+ X3 g3 ~& T1 s
    , Q2 Z$ n* @4 c; h: A3 x% I' uWbN = WbN & Chr(13) & Wb.Name
    $ Q. {7 [4 }# M* l" {& J
    + ^; K' f) D4 r; xWb.Close False2 ^# O0 c  e' _2 w/ n( _

    - e5 S2 @! g* a/ x8 r, o+ Y- CEnd With
    4 ]' @& d0 N4 L
    - a4 b# H1 I* [2 ~3 G- n) k) Z7 H' rEnd If
    . g+ t# l; u/ V: ?
    ' A9 ]: a2 a% j0 t. [' R3 lMyName = Dir. _, S- m0 o" ?

    ) W" x' C( R/ R7 \$ G, X' `Loop' F+ R4 K. \$ ?6 g
    * G- c7 [1 N0 F( S  r
    Range("B1").Select
    , Q: l: }  s4 z! @8 q% Z
    . U# |/ C* S1 h. Y# q6 G) xApplication.ScreenUpdating = True
    * K, a% _5 Z# J, }! @2 o( Q% B: x% y" `6 k" {
    MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
    * H0 b3 T( {% K* a/ }4 {. t3 I' B, g3 D4 G$ N" ^, v
    End Sub
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|PTShare

    GMT+8, 2025-5-14 15:18

    Powered by Discuz! X3.4 Licensed

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表