- ©«¤l
- 5923
- ¥DÃD
- 13
- ºëµØ
- 1
- ¿n¤À
- 5986
- ÂI¦W
- 0
- §@·~¨t²Î
- win10
- ³nÅ骩¥»
- Office 2010
- ¾\ŪÅv
- 150
- ©Ê§O
- ¨k
- ¨Ó¦Û
- ¥xÆW°ò¶©
- µù¥U®É¶¡
- 2010-5-1
- ³Ì«áµn¿ý
- 2022-1-23
        
|
¦^´_ 1# anny8888
¸Õ¸Õ¬Ý- Option Explicit
- Private Sub cmdMerge_Click()
- Dim objsheet As Worksheet, desc As Workbook, WorkName As Workbook, Filename As String
- Dim Sh As Worksheet, Used As Worksheet, Rng As Range, r As Range, i As Integer, n As Integer, j As Integer
- Set WorkName = ThisWorkbook 'µ{¦¡©Ò¦bÀɮצWºÙ 'WorkName = Excel.ActiveWorkbook.Name '§@¥Î¤¤ÀɮצWºÙ
- Set desc = Excel.Workbooks.Add '¶}·sªºworkbook
- i = 1
- While WorkName.ActiveSheet.Range("b" & i) <> ""
- Filename = WorkName.ActiveSheet.Range("b" & i) & ".xlsx"
- Workbooks.Open WorkName.Path & "\" & Filename '¶}±ÒÀÉ®×
- Workbooks(Filename).ActiveSheet.Copy desc.Sheets(1)
- ActiveSheet.Rows(1).Delete
- ActiveSheet.Name = Windows(WorkName).ActiveSheet.Range("b" & i)
- Windows(Filename).Close
- i = i + 1 'Ū¨ú¤U¤@ÓÀɮצWºÙ
- Wend
- Set Used = desc.Sheets("sheet1") '*** ¶}·sªºworkbook*** Sheets("¦X¨Ö¦¨ªº¤u§@ªí")
- 'Application.DisplayAlerts = False '°±¤î §R°£Sheet®É ¹w³]ªºÄµ§i
- For Each Sh In Sheets
- If Sh.Name <> Used.Name Then
- Set Rng = Used.UsedRange(Used.UsedRange.Rows.Count, 1)(1, 1)
- 'sh.UsedRange.Offset(1).Copy.Rng '½Æ»s¨Ó·½¦³¼ÐÀY
- Sh.UsedRange.Copy Rng '½Æ»s¨Ó·½¨S¦³¼ÐÀY
- ' SH.Delete '§R°£¤w¸g½Æ»s¦nªºsheet
- End If
- Next
- 'Application.DisplayAlerts = True '«ì´_ §R°£Sheet®É ¹w³]ªºÄµ§i
- Used.UsedRange.Sort key1:=Used.Range("P2"), order1:=xlAscending, Header:=xlNo
- Set Used = Sheets("sheet1")
- n = Used.UsedRange.Rows.Count
- MsgBox n
- For j = 2 To n
- If Used.Range("c" & j) <> "" And Used.Range("p" & j) = "" Then
- Used.Rows(j).Clear
- End If
- Next
- j = j + 1 '³o j = j + 1 ¦³¦ó§@¥Î *****
- MsgBox "¤w±N©Ò¦³Àɮ׶פJ¬¡¶¤¤", , "Anny note"
- End Sub
½Æ»s¥N½X |
|