- ©«¤l
- 129
- ¥DÃD
- 25
- ºëµØ
- 0
- ¿n¤À
- 159
- ÂI¦W
- 0
- §@·~¨t²Î
- win7
- ³nÅ骩¥»
- office2010
- ¾\ŪÅv
- 20
- ©Ê§O
- ¨k
- µù¥U®É¶¡
- 2011-12-24
- ³Ì«áµn¿ý
- 2022-12-12
|
- Private Sub CommandButton3_Click()
- Dim Sh As Worksheet, i As Integer, ii As Integer, R As Integer, Ar 'Dim «Å§iÅܼÆ
- Dim k As Integer
- Dim j As String
- Dim A As Range, Rng As Range, xRow As Range
-
- Application.DisplayAlerts = False
- Application.ScreenUpdating = False
- For Each Sh In Sheets
-
- If Sh.Name <> "Sheet1" And Sh.Name <> "Á`ªí" And Sh.Name <> "ªí®æ½d¥»" And Sh.Name <> "ÂH¦s³æ(¹s)" And Sh.Name <> "°Ñ·Óªí" Then Sh.Delete
- '¬¡¶Ã¯¥u¯d ¤u§@ªí1¡G¬O¿é¤J°Ï,¤u§@ªí2¡G¬O¾ú¥v°O¿ý ,"ªí®æ½d¥»"¡AÂH¦s³æ(¹s),°Ñ·Óªí
- Next
-
- With Sheets("Á`ªí")
- If .UsedRange.Rows.Count = 1 Then '¨S¦³¾ú¥v¬ö¿ý
- Sheets("Sheet1").UsedRange.Copy '½Æ»s(§t¼ÐÀY)
- .Range("A1").PasteSpecial xlPasteValues
-
- Else
- Sheets("Sheet1").UsedRange.Offset(1).Copy '½Æ»s(¤£§t¼ÐÀY)
- Sheets("Á`ªí").Range("A" & .UsedRange.Rows.Count).Offset(3).PasteSpecial xlPasteValues
- 'Offset(3) :ªÅ2¦C->²Ä3¦C¶K¤W
-
- End If
-
- End With
-
-
- With Sheets("Sheet1")
-
- .UsedRange.Range("G:G").AdvancedFilter xlFilterCopy, , .Cells(1, .Columns.Count), True
- '¶i¶¥¿z¿ï EÄæ ¤£«½Æ¸ê®Æ¨ì¤u§@ªí³Ì¥kÄæ ***¨ú±oÃþ§Oªº¤ÀÃþ***
- 'AdvancedFilter:¶i¶¥¿z¿ï
- 'xlFilterCopy:¶i¶¥¿z¿ïªº¸ê®ÆÅã¥Ü¦b¨ä¥L¦a¤è
- '.Cells(1, .Columns.Count) ->¤u§@ªíªº³Ì¥kÄæ²Ä1ÓÀx¦s®æ->¶i¶¥¿z¿ïªº¸ê®ÆÅã¥Üªº¦a¤è
- i = 2
- Do While .Cells(i, .Columns.Count) <> "" '¤u§@ªí³Ì¥kÄæªºÀx¦s®æ <>""
- .Range("A:G").AutoFilter 7, .Cells(i, .Columns.Count) 'AutoFilter: ¦Û°Ê¿z¿ï ,²Ä7Äæ(Ãþ§O)ªº·Ç«h¬° .Cells(i, .Columns.Count)
- Sheets("ªí®æ½d¥»").Copy , Sheets(Sheets.Count)
- Set Sh = ActiveSheet
-
-
- With Sheets("°Ñ·Óªí")
- Set Rng = .Range("A:A").Find(what:=Sheets("Sheet1").Cells(i, .Columns.Count))
- 'MsgBox (Rng)
- j = Rng.Offset(, 1)
- End With
-
- '@@@¤W±¨º¦æ j = Rng.Offset(, 1) ¦³®ÉÔ¶]¤@¦¸¯à°õ¦æ¡A«á¨Ó´Nĵ§i¤F
- Sh.[C2] = j '@@@¦³®ÉÔ¬Oĵ§i³o¤@¦æ¿ù»~
- Sh.Name = Rng
-
- j = "" '³o¨â¦æ¬O§Úı±o¨Ï¥Î«á²MªÅ¡A¥[³o¨â¦æ¿ù»~¤]¨S®ø¥¢
- Rng = ""
-
- For Each xRow In .AutoFilter.Range.SpecialCells(xlCellTypeVisible).Rows '¦Û°Ê¿z¿ï½d³ò¦Cªº¶°¦X
-
- If xRow.Row > 1 Then
-
- R = Application.CountA(Sh.[D7:D19]) '¦³¿é¤Jªº¸ê®Æ¼Æ
-
- With Sh.[D7].Offset(R)
-
- .Cells(, 1) = xRow.Range("D1")
-
- .Cells(, 5) = xRow.Range("F1")
-
- .Cells(, 7) = xRow.Range("E1")
-
- '@@@ ¤j¤j¡A³oÃä¥i¯àÁÙn¦A§â¤é´Á¥[¶iE3¡A§Ú¤£·|¼g (¨ä¹ê¬Ý¤£¤ÓÀ´¬°¤°»ò¡A©Ò¥H¤£·|§ï)
- End With
-
- If Application.CountA(Sh.[D7:D19]) = 13 Then
-
- Sh.Copy , Sh
-
- Set Sh = ActiveSheet
-
- Sh.[D7:J19] = ""
-
- End If
-
- End If
-
- Next
- i = i + 1
- Loop
-
- k = 1
- Do While .Cells(k, .Columns.Count) <> ""
- .Cells(k, .Columns.Count) = ""
- k = k + 1
- Loop
-
- '.Cells(1, .Columns.Count).CurrentRegion = ""
- .AutoFilterMode = False
- End With
- Application.ScreenUpdating = True
- Me.Activate
- End Sub
½Æ»s¥N½X ¦^´_ 26# GBKEE
¤j¤j¡A§Ú§â±z²Ä¤@¦¸ªºµ{¦¡×§ï¤@¤U¡A¥i¬O¦³¨Ç¦a¤èĵ§i»¡¨S¦³WITH©M°Ï°ìÅܼÆ
§Ö§¹¦¨¤F¡AÀ°§Ú¬Ý¬Ý¡AÁÂÁÂ
[attach]17426[/attach]
[attach]17427[/attach]
±f¦r²ÄXX¸¹¡AªºXX¥Ñ¤H¤u¤â°Ê¿é¤J§Y¥i
[attach]17428[/attach] |
|