ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ±N¸ê®Æ¦Û°Ê¤ÀÃþ¥\¯à

¦^´_ 50# GBKEE

·PÁÂG¤j¡A¤Ó¯«¤F

³o»ò¸Þ²§ªºªí®æ¤]¯à§ä¨ì¤èªk²Î­p
ÁÙ¤£¬O«ÜÀ´µ{¦¡­ì²z
¦ý¬O¦Û¤v´ú¸Õ¬O¯à¥¿±`¹B§@
©ú¤Ñ§ä¨Ï¥ÎªÌ°Ý¬Ý¬Ý

¦A¦¸·PÁÂ!
«¢Åo~¤j®a¦n§r

TOP

¯uªº¤Ó¼F®`¤F
§Ú¬O¦³¬Ý¹L¥t¥~¤@ºØ¸ê®Æ¤ÀÃþªºµ{¦¡
¥¦¬O¥ÎExcel¤¤¿z¿ïªº¥\¯à
±N¸ê®Æ¿z¿ï¥X¨Ó«á
¦A¤ÀÃþ

¤£¹L
³o¸Ìªº¤ñ¸û¼F®`

TOP

¥»©«³Ì«á¥Ñ iceandy6150 ©ó 2014-2-15 18:56 ½s¿è

¦^´_ 50# GBKEE


G¤j¡A¤£¦n·N«ä¡A¤S¨Óµo°Ý¤F

³ü¡B½Ð°Ý±zªºµ{¦¡¤¤¡A
        Rng_Ar(i) = Rng_Ar(i) + Rng(2).Range("F1")                  'Range("F1"):ª÷ÃB¦ì¸m
       ¬O¥h§ì¨ú¤U¹Ï¤¤ABCD­þ¤@­Ó¦ì¸m©O?

      

       ÁöµM¥|­Ó¦ì¸mªº­È³£¤@¼Ë¡A¹ê»Ú¨Ï¥Î¤W­n¿ïC
       ¤£¹L¥u¦³A¡A¬O¦³¤ë¤é¥i¥H¹ï·Ó
       ¦n©_°Ý¤@¤U

¶L¡B¨ä¥Lªº³¡¤À¤]»Ý­n¥[¶iµ{¦¡¤¤¡A¥i¬O§Ú¤£·|§ï
        
      
        ¥k¤W¤è¶À¦âªº®æ¤l¡A¬O­n¶ñ¤J <¾P³f¦¬¤J47-48>ªºFÄ檺­Ë¼Æ²Ä2­Ó­È¡A¤]´N¬O¹Ï1ªºC
        ¦ý§Ú¤W¦¸§Ë¿ù¤F¡A¥H¬°¬O³Ì«á¤@­Ó®æ¤l
        ©Ò¥H­ì¥»µ{¦¡¦p¤U¡G
        Dim j
        With Sheets("¾P³f¦¬¤J47-48").Range("F:F")

       'Sheets("·l¯qªí").Range("C6").Value = .Cells(.Count).End(xlUp).Value ³o¦æµLªkª½±µ°Ê§@¡A¬G©ñ±ó

       j = .Cells(.Count).End(xlUp).Value
       Sheets("·l¯qªí").Range("C6").Value = j
    End With

     ¨º§Ú§ï¦¨
        j = .Cells(.Count - 1).End(xlUp).Value  ¥¢±Ñ¡AÁÙ¬O§ì³Ì¤U¤@®æ
         j = .Cells(.Count).End(xlUp).Offset(-1).Value ¥¢±Ñ¡AJ­È¬OªÅªº

     [°ÝÃD¤@]¸Ó«ç»ò§ï¦¨­Ë¼Æ²Ä¤G®æ©O?
   
[°ÝÃD¤G]¦pªG­n¨Ï¥ÎG¤jªºµ{¦¡¥h°Ê§@¡A«ç»ò¥[©O?
¥t¥~¡A¦³¨Ç½d³ò¤]·Q¥[

¹Ï2ªºÂŦⳡ¤À
´Áªì¦s³f B8 = <¦s³f5-6>ªºFÄ檺­Ë¼Æ²Ä¤G®æªº­È(¨ä¹êC=ABD)
¶i³f B9 = <¶i³f51-52>ªºFÄ檺­Ë¼Æ²Ä¤G®æªº­È

*´î¡G´Á¥½¦s³f B11 = <¦s³f5-6>ªºFÄ檺³Ì«á¤@®æ (¹Ï1ªº¦ì¸mE)
(³oÃä´N¯uªº¥i¥H¥Î .Cells(.Count).End(xlUp).Value)

¹Ï2¤U­±¦³¾ï¦â³¡¤À¡AB35¡BB36¡BB37
¨ä¥L¦¬¤J¡G¥Ø«e¨S«Ø¥ß¤u§@ªí¡A¦]¬°«Ü¤Ö¥Î¨ì¡A¦ý¬°¤Fµ{¦¡¶¶§Q¹B§@¡A¥i¼W³]¤@ªÅ¤u§@ªí¦W¬°<¨ä¥L¦¬¤J>
§Q®§¦¬¤J B36 = <§Q®§¦¬¤J93-94>ªºGÄæ­Ë¼Æ²Ä¤G®æ(¹Ï1¦ì¸mD)
拥ª÷¦¬¤JB37 = <¦þª÷¦¬¤J95-96>ªºGÄæ­Ë¼Æ²Ä¤G®æ(¹Ï1¦ì¸mD)

­ì¥»G¤jªºµ{¦¡¬O³]©wA18~A30¡A¹ê»Ú¥i¯à¬O¨ìA32¡A§Ú¥i·L½Õ
(¦]¬°­n¤W¶Ç¡A¦³¨ÇªF¦è§Ú¥ý§R±¼)
¦ý¦h¤FB8.B9.B11³o¤T­Ó¤£³sÄòªº¡A¦Ó¥BB11§äªº¦a¤è¤£¤@¼Ë
B35¡BB36¡BB37¡A¤]¬O
¦p¦óÅý³o´X­Ó¤]¯à§PÂ_¦~¤ë¤é¡A¥¿±`¹B§@©ñ¸ê®Æ¡A§Ú´N¤£·|§ï¤F
«¢Åo~¤j®a¦n§r

TOP

¦^´_ 53# iceandy6150
[°ÝÃD¤G] «Ý§AªþÀÉ
[°ÝÃD¤@] ¦p¤U
  1. For i = 1 To Rng(1).Count
  2.         Sh = Filter(Ar, Trim(Rng(1).Cells(i)), True)
  3.         'Filter ¨ç¼Æ ¶Ç¦^¤@­Ó±q¹s¶}©lªº°}¦C¡A¸Ó°}¦C¥]§t°ò©ó«ü©w¿z¿ï·Ç«hªº¤@­Ó¦r¦ê°}¦Cªº¤l¶°¡C
  4.         For Each E In Sh
  5.             With Sheets(E)            '¦³"¶O¥Î¶µ¥Ø"¦WºÙªº ¤u§@ªí
  6.                 Set Rng(2) = .[A:B].Find(xlYear, lookat:=xlWhole, LookIn:=xlValues, SearchOrder:=xlByRows) '®Ö¹ï¦~«×
  7.                 If Not Rng(2) Is Nothing Then
  8.                     Set Rng(2) = .[a:a].Find(xlMon, lookat:=xlWhole)                '·j´M¤ë¥÷
  9.                     If Not Rng(2) Is Nothing Then Set Rng(2) = Rng(2).Resize(4, 100).Find("¥»¤ë¦X­p", lookat:=xlPart)              '·j´M¥»¤ë¦X­p
  10.                     'Rng(2).Resize(4,100):§ä¨ìªº¤ë¥÷¦ì¸m.Resize(4,100):ÂX¥R½d³ò(4¦C,100Äæ)
  11.                     If Not Rng(2) Is Nothing Then
  12.                         Rng_Ar(i) = Rng_Ar(i) + Rng(2).Range("C1")                  'Range("C1")ª÷ÃB¦ì¸m:¥»¤ë¦X­pªº²Ä3Äæ
  13.                     End If
  14.                 End If
  15.             End With
  16.         Next
  17.     Next
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ iceandy6150 ©ó 2014-2-16 11:33 ½s¿è

¦^´_ 54# GBKEE

·PÁÂG¤j

¦A¦¸¤W¶ÇÀɮסA»Ý¨D¦p#53½g©Ò­z



¹Ï¤¤¬õ¦â½bÀY­n¨úªº­È¸û¬°¯S®í¡A¬O¸Ó¤u§@ªí³Ì¤U­±ªºÁ`µ²

ÁÂÁÂ


ªþ¤WÀÉ®×
Á`¤ÀÃþ±b-¤W¶Ç¥Î.rar (111.31 KB)
«¢Åo~¤j®a¦n§r

TOP

¦^´_ 55# iceandy6150
¾P³f¦¬¤J:­n¦X­p­þ¨Ç¤u§@ªíªºÀx¦s®æ?
´Áªì¦s³f:­n¦X­p­þ¨Ç¤u§@ªíªºÀx¦s®æ?
¶i    ³f:­n¦X­p­þ¨Ç¤u§@ªíªºÀx¦s®æ?
  1. Option Explicit
  2. Sub Ex()
  3.     Dim xlMon As Integer, xlYear As String, A As Variant, E As Variant
  4.     Dim Rng(1 To 2) As Range, Rng_Ar(), Ar(), i As Integer, Sh As Variant
  5.     With Sheets("·l¯qªí")
  6.         xlYear = Mid(.[a3], InStrRev(.[a3], "¦Ü") + 1, InStrRev(.[a3], "¦~") - InStrRev(.[a3], "¦Ü"))
  7.         'xlYear : ·l¯qªíªº¦~«×
  8.         xlMon = Mid(.[a3], InStrRev(.[a3], "¦~") + 1, InStrRev(.[a3], "¤ë") - InStrRev(.[a3], "¦~") - 1)
  9.         'xlMon : ·l¯qªíªº¤ë¥÷

  10.         Set Rng(1) = .[A18:A32,A35:A37]                 '*****  ¤ä¥X,¦¬¤J ****
  11.         
  12.     End With
  13.     ReDim Ar(1 To Sheets.Count)                         '°}¦C:¤¸¯À¼Æ = Sheets.Count
  14.     For i = 1 To Sheets.Count
  15.         Ar(i) = Sheets(i).Name                          '°}¦C:¤¸¯À¾É¤J Sheets.Name
  16.     Next
  17.      For Each A In Rng(1).Areas                         '¤ä¥X,¦¬¤J¤£¦b³sÄòªº½d³ò
  18.                          'Areas ÄÝ©Ê ¶Ç¦^ Areas ¶°¦X¡A¦¹¶°¦X¥Nªí¦h­«½d³ò¤¤ªº©Ò¦³½d³ò¡C°ßŪ¡C
  19.         ReDim Rng_Ar(1 To A.Count)                      '°}¦C:¤¸¯À¼Æ = ¶O¥Î¶µ¥Ø¼Æ
  20.         For i = 1 To A.Count
  21.             Sh = Filter(Ar, Trim(A.Cells(i)), True)
  22.             'Filter ¨ç¼Æ ¶Ç¦^¤@­Ó±q¹s¶}©lªº°}¦C¡A¸Ó°}¦C¥]§t°ò©ó«ü©w¿z¿ï·Ç«hªº¤@­Ó¦r¦ê°}¦Cªº¤l¶°¡C
  23.             For Each E In Sh
  24.                 With Sheets(E)            '¦³"¶O¥Î¶µ¥Ø"¦WºÙªº ¤u§@ªí
  25.                     Set Rng(2) = .[A:B].Find(xlYear, lookat:=xlWhole, LookIn:=xlValues, SearchOrder:=xlByRows) '®Ö¹ï¦~«×
  26.                     If Not Rng(2) Is Nothing Then
  27.                         Set Rng(2) = .[a:a].Find(xlMon, lookat:=xlWhole)                '·j´M¤ë¥÷
  28.                         If Not Rng(2) Is Nothing Then Set Rng(2) = Rng(2).Resize(4, 100).Find("¥»¤ë¦X­p", lookat:=xlPart)              '·j´M¥»¤ë¦X­p
  29.                         'Rng(2).Resize(4,100):§ä¨ìªº¤ë¥÷¦ì¸m.Resize(4,100):ÂX¥R½d³ò(4¦C,100Äæ)
  30.                         If Not Rng(2) Is Nothing Then
  31.                             If InStr(E, "¦¬¤J") Then
  32.                                 Rng_Ar(i) = Rng_Ar(i) + Rng(2).Range("D1")          '¶U  ¤è 'Range("D1")ª÷ÃB¦ì¸m:¥»¤ë¦X­pªº²Ä4Äæ
  33.                             Else
  34.                                 Rng_Ar(i) = Rng_Ar(i) + Rng(2).Range("C1")          '­É  ¤è 'Range("C1")ª÷ÃB¦ì¸m:¥»¤ë¦X­pªº²Ä3Äæ
  35.                             End If
  36.                         End If
  37.                     End If
  38.                 End With
  39.             Next
  40.         Next
  41.         A.Offset(, 1) = Application.WorksheetFunction.Transpose(Rng_Ar)
  42.         'Transpose(Âà¸m) : ¤@ºû°}¦C(¾î¦¡) Âà´«¬° ¤Gºû°}¦C(³o¸ÌÅܤ@¦Cª½¦¡)
  43.     Next
  44. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ iceandy6150 ©ó 2014-2-17 19:07 ½s¿è

¦^´_ 56# GBKEE


    G¤j±z¯u¼F®`¡A¦pªG¤u§@ªí¬OXX¶O¥Î´N¬O¤ä¥X(­É¤è)¡A¬O§äFÄæ
   ¦pªGXX¦¬¤J´N¬O(¶U¤è)¡A¬O§äGÄæ¡C
  
    Ãö©ó´X­Ó¤£²M·¡ªºÂI

´Áªì¦s³f¡G B8 = <¦s³f5-6>ªºFÄ檺­Ë¼Æ²Ä¤G®æªº­È                              

¶i³f¡G B9 = <¶i³f51-52>ªºFÄ檺­Ë¼Æ²Ä¤G®æªº­È

´î¡G´Á¥½¦s³f¡G B11 = <¦s³f5-6>ªºFÄ檺"³Ì«á¤@®æ "

¾P³f¦¬¤J¡GC6 = <¾P³f¦¬¤J>ªºFÄ檺­Ë¼Æ²Ä¤G®æªº­È

§Ú§â½d³ò§ï¦¨ Set Rng(1) = .[A6,A8:A9,A11,A18:A32,A35:A37] ¦ý¬O¤£¤Ó¹ï  

¦³¤@­Ó­n©ñ¦bC6«o©ñ¨ìB6¡AB8¡BB9©ñ¨ìB9¡BB10

¦A½Ð¤j¤jÀ°§Ú­×¤@¤U

ÁÂÁ¡A·P®¦

Á`¤ÀÃþ±b-¤W¶Ç¥Î.rar (120.03 KB)
«¢Åo~¤j®a¦n§r

TOP

¦^´_ 57# iceandy6150
  1. Option Explicit
  2. Sub Ex()
  3.     Dim xlMon As Integer, xlYear As String, A As Variant, E As Variant, Ay As String
  4.     Dim Rng(1 To 2) As Range, Rng_Ar(), Ar(), i As Integer, Sh As Variant, X As Integer
  5.     ReDim Ar(1 To Sheets.Count)                         '°}¦C:¤¸¯À¼Æ = Sheets.Count
  6.     For i = 1 To Sheets.Count
  7.         Ar(i) = Sheets(i).Name                          '°}¦C:¤¸¯À¾É¤J Sheets.Name
  8.     Next
  9.     With Sheets("·l¯qªí")
  10.         xlYear = Mid(.[a3], InStrRev(.[a3], "¦Ü") + 1, InStrRev(.[a3], "¦~") - InStrRev(.[a3], "¦Ü"))
  11.         'xlYear : ·l¯qªíªº¦~«×
  12.         xlMon = Mid(.[a3], InStrRev(.[a3], "¦~") + 1, InStrRev(.[a3], "¤ë") - InStrRev(.[a3], "¦~") - 1)
  13.         'xlMon : ·l¯qªíªº¤ë¥÷
  14.         Set Rng(1) = .[A6,A8,A9,A11,A18:A32,A35:A37]
  15.         ''6­Ó½d³ò: ¾P³f¦¬¤J,¶i³f,´Á¥½¦s³f,´î¡G´Á¥½¦s³f,¤ä¥X,¦¬¤J ****
  16.     End With
  17.      For Each A In Rng(1).Areas   'Areas ÄÝ©Ê ¶Ç¦^ Areas ¶°¦X¡A¦¹¶°¦X¥Nªí¦h­«½d³ò¤¤ªº©Ò¦³½d³ò¡C°ßŪ
  18.         If InStr(A.Cells(1), "¦s³f") Then Ay = "¦s³f" Else Ay = ""
  19.         '¨Ò¥~³]©w: ´Áªì¦s³f,´Á¥½¦s³f,ªº¤u§@ªí¬O"¦s³f??_??"
  20.         ReDim Rng_Ar(1 To A.Count)                      '°}¦C:¤¸¯À¼Æ = ¶O¥Î¶µ¥Ø¼Æ
  21.         For i = 1 To A.Count
  22.             Sh = Filter(Ar, IIf(Ay = "", Trim(A.Cells(i)), Ay), True)
  23.             If A.Cells(i) = "" Then Sh = Array()   '¨¾§b
  24.             'Filter ¨ç¼Æ ¶Ç¦^¤@­Ó±q¹s¶}©lªº°}¦C¡A¸Ó°}¦C¥]§t°ò©ó«ü©w¿z¿ï·Ç«hªº¤@­Ó¦r¦ê°}¦Cªº¤l¶°¡C
  25.             For Each E In Sh
  26.                 With Sheets(E)            '¦³"¶O¥Î¶µ¥Ø"¦WºÙªº ¤u§@ªí
  27.                     Set Rng(2) = .[A:B].Find(xlYear, lookat:=xlWhole, LookIn:=xlValues, SearchOrder:=xlByRows) '®Ö¹ï¦~«×
  28.                     If Not Rng(2) Is Nothing Then Set Rng(2) = .[a:a].Find(xlMon, lookat:=xlWhole)             '·j´M¤ë¥÷
  29.                     If Not Rng(2) Is Nothing Then
  30.                         X = 1
  31.                         Do
  32.                             If Rng(2).Offset(X).Row > .Cells(.Rows.Count, "D").End(xlUp).Row Then Exit Do
  33.                             If Rng(2).Offset(X) <> Rng(2) And Rng(2).Offset(X) <> "" Then Exit Do
  34.                             X = X + 1
  35.                         Loop
  36.                         'Rng(2).Resize(X, 9) : ¤ë¥÷ªº½d³ò
  37.                         If InStr(E, "¦¬¤J") Then
  38.                             Set Rng(2) = Rng(2).Resize(X, 9).Find("¥»¤ë¦X­p", lookat:=xlPart) '·j´M¥»¤ë¦X­p
  39.                             If Not Rng(2) Is Nothing Then Rng_Ar(i) = Rng_Ar(i) + Rng(2).Range("D1")
  40.                             '¶U  ¤è 'Range("D1")ª÷ÃB¦ì¸m:¥»¤ë¦X­pªº²Ä4Äæ
  41.                         Else
  42.                             If Trim(A.Cells(i)) = "´î¡G´Á¥½¦s³f" Then
  43.                                 With Rng(2).Resize(X, 9)
  44.                                     Rng_Ar(i) = Rng_Ar(i) + .Cells(.Rows.Count, 6)
  45.                                     '­É¤è:·í¤ë¥÷<¦s³f5-6>ªºFÄ檺.End(xlDown) :"³Ì«á¤@®æ "
  46.                                 End With
  47.                             Else
  48.                                 Set Rng(2) = Rng(2).Resize(X, 9).Find("¥»¤ë¦X­p", lookat:=xlPart) '·j´M¥»¤ë¦X­p
  49.                                 If Not Rng(2) Is Nothing Then Rng_Ar(i) = Rng_Ar(i) + Rng(2).Range("C1")
  50.                                 '­É¤è 'Range("C1")ª÷ÃB¦ì¸m:¥»¤ë¦X­pªº²Ä3Äæ
  51.                             End If
  52.                         End If
  53.                     End If
  54.                     
  55.                 End With
  56.             Next
  57.         Next
  58.         A.Offset(, IIf(Trim(A.Cells(1)) = "¾P³f¦¬¤J", 2, 1)) = Application.WorksheetFunction.Transpose(Rng_Ar)
  59.         'Transpose(Âà¸m) : ¤@ºû°}¦C(¾î¦¡) Âà´«¬° ¤Gºû°}¦C(³o¸ÌÅܤ@¦Cª½¦¡)
  60.     Next
  61. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 58# GBKEE

·PÁÂG¤jÀ°¦£

´ú¸Õ³£¯à¥¿±`¹B§@

µ{¦¡¬Û·í¦³²`«×¡A­n¯àÁA¸Ñ¥i¯à¦³ÂI¤[

¦A¦¸·PÁ¡AThank you!
«¢Åo~¤j®a¦n§r

TOP

        ÀR«ä¦Û¦b : ¦³¤ß´N¦³ºÖ¡A¦³Ä@´N¦³¤O¡A¦Û³yºÖ¥Ð¡A¦Û±oºÖ½t¡C
ªð¦^¦Cªí ¤W¤@¥DÃD