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

[µo°Ý] Excel VBA sorting «á½Æ»s¶K¤W

¦^´_ 1# tommy.lin
  1. Sub ex()
  2. With Sheets("Sheet1")
  3. If Application.CountA(.[B:B]) = 0 Then Exit Sub
  4.    For Each a In .Range("B:B").SpecialCells(xlCellTypeConstants)
  5.       With Sheets("Data")
  6.       Set c = .Rows(1).Find(a, lookat:=xlWhole)
  7.       k = IIf(Sheets("result").Cells(1, .Columns.Count).End(xlToLeft) = "", 0, 1)
  8.       Range(c, c.End(xlDown)).Copy Sheets("result").Cells(1, .Columns.Count).End(xlToLeft).Offset(, k)
  9.       End With
  10.    Next
  11. End With
  12. End Sub
½Æ»s¥N½X
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

¦^´_ 4# tommy.lin
¤£À´ªº¦a¤è«öF1¬Ý»¡©ú¬O³Ì¦nªº®ÑÄy   
Sub ex()
With Sheets("Sheet1")
If Application.CountA(.[B:B]) = 0 Then Exit Sub  'BÄæµL¸ê®Æ´N¸õ¥Xµ{§Ç
   For Each a In .Range("B:B").SpecialCells(xlCellTypeConstants)  '´`Àô¨C­ÓBÄ檺¸ê®Æ
      With Sheets("Data")
      Set c = .Rows(1).Find(a, lookat:=xlWhole)  '¦bSheets("Data")²Ä¤@¦C§ä´M
      k = IIf(Sheets("result").Cells(1, .Columns.Count).End(xlToLeft) = "", 0, 1)  '°²¦p­n½Æ»sªº¥Ø¼Ð¦ì¸m¦bSheets("result")ªºAÄæ¡A¦ì²¾¶q¬°0
      Range(c, c.End(xlDown)).Copy Sheets("result").Cells(1, .Columns.Count).End(xlToLeft).Offset(, k) '½Æ»s¸ê®Æ
      End With
   Next
End With
End Sub
¾Ç®üµL²P_¤£®¢¤U°Ý

TOP

        ÀR«ä¦Û¦b : ¤f»¡¦n¸Ü¡B¤ß·Q¦n·N¡B¨­¦æ¦n¨Æ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD