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

[µo°Ý] vba for next¥Îªk¤Î®Ä²v§ïµ½°ÝÃD

[µo°Ý] vba for next¥Îªk¤Î®Ä²v§ïµ½°ÝÃD

¤§«e¦³µo°Ý¡A¦ý¬O¦³´X­Ó¦a¤è§Ú§Ë¿ù¤F¡A©Ò¥H­«·s´£°Ý¤@¹M¡A³Â·Ð¤j®aÀ°§Ú·Q¤@·Q!!
µ{¦¡½X
  1. Sub morecriteriafilter()
  2.    
  3.     Dim i As Integer, j As Integer, k As Integer
  4.    
  5.     With Worksheets("be1")
  6.     x = 0
  7.         For i = 0 To 5
  8.             For j = 0 To 5
  9.                     .Range("A1").AutoFilter Field:=2, Criteria1:="<" & 3 + i, Operator:=xlAnd, Criteria2:=">" & 0 + i
  10.                     .Range("A1").AutoFilter Field:=3, Criteria1:="=" & 1 + x
  11.                     .Range("A1").AutoFilter Field:=5, Criteria1:=Cells(j + 2, 10)
  12.                     .AutoFilter.Range.SpecialCells(xlCellTypeVisible).Copy Worksheets("1").Range("B2").Offset(7 * i, 7 * j)
  13.                     
  14.             Next j
  15.         Next i
  16.     .Range("A1").AutoFilter
  17.     End With
  18.    
  19. End Sub
½Æ»s¥N½X
Åܼƽd³ò
t0 (field:=2) : 1~1065
T (field:=3) : 1~121
K (field:=5) : Cells(2~132,10)
°ÝÃD¦p¤U
¥Ø«eµ{¦¡½X°²©wT=1(§Yx=0)¡A§Ú³]©w¤Fi©Mj¨Óªí¥ÜÅܼÆt0¡BK¤£¦P®É¡A·|¦b¤u§@ªí"1"¤¤¤£¦P¦ì¸mÅã¥Ü
Q1:   ¦ý¬O§Ú²{¦b·Q¥[¤F¤@­Ófor x=0 to 120¨Óªí¥ÜÅܼÆT¤£¦P®Éªº°j°é¡A¨ÃÅã¥Ü¦bÃB¥~¼W¥[(¥»¨Ó¨S¦³)ªº¤u§@ªí"2"¡B"3"¡B...¡B"120"¡B"121"¤¤¡A¦ý¬O.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Copy Worksheets("1").Range("B2").Offset(7 * i, 7 * j)¤¤ªºWorksheets("1")¤£ª¾¹D­n¦p¦ó§ï?
Q2:  §Ú´£¨Ñªºµ{¦¡½X¥uÅã¥Üi =0 to 5 ¤Îj= 0 to 5¡A¦ý¬O§Ú­nªº¬Oi=0 to 1063¡Aj=0 to 130¡A¥i¬O·|·í¾÷¡A·Q½Ð°Ý¦p¦ó§ï°Ê?

¦^´_ 2# luhpro
¤È¦w~~
«Ü·PÁ±zªºÀ°§U!!!
§Ú¹Á¸Õ¥Î¤F±z´£¨Ñªº¨â­Ó¤èªk
°µ¤F¤@¨Ç§ó°Ê
´N¦¨¥\¤F!!!
¥H¤U¬Oµ{¦¡½X:¡G
  1. Sub test()
  2.    
  3.     Dim i As Integer, j As Integer, x As Integer
  4.    
  5.     With Worksheets("test")
  6.     Application.ScreenUpdating = False
  7.     For x = 2 To 48
  8.         For i = 0 To 1063
  9.             For j = 0 To 142
  10.                     .Range("A1").AutoFilter Field:=2, Criteria1:="<" & 3 + i, Operator:=xlAnd, Criteria2:=">" & 0 + i
  11.                     DoEvents
  12.                     .Range("A1").AutoFilter Field:=3, Criteria1:=Cells(x, 11)
  13.                     DoEvents
  14.                     .Range("A1").AutoFilter Field:=5, Criteria1:=Cells(j + 2, 10)
  15.                     DoEvents
  16.                     .AutoFilter.Range.SpecialCells(xlCellTypeVisible).Copy Sheets(x).Cells(2, 2).Offset(7 * i, 7 * j)
  17.                         '¸ÑÄÀ-----.AutoFilter.Range.SpecialCells(xlCellTypeVisible).Copy«á­±©ñªºsheets(x)¡A
  18.                         'µo²{()¤º¤£¯à¼g¦¨x+1ºâ¦¡¡A·|¶]¥X¦Psheets(1)ªº­È(¦¹®ÉxÀq»{¬°0,´Nºâ§Ú¥ý³]x=2¤]¤@¼Ë)¡F
  19.                         '¨Ï¥Îsheets(x)®É¡A¦pªG¦³¨Æ¥ý³]¸mx=2,´N·|¶]¥Xsheets(2)ªº­È¡A©Ò¥H§Ú´N¥Î³o­Ó¡C
  20.                     DoEvents
  21.             Next j
  22.         Next i
  23.     Next x
  24.     .Range("A1").AutoFilter
  25.     Application.ScreenUpdating = True
  26.     '¨Ï¥Îdoevents©Mapplication.screenupdating«á§Úµo²{¾ãÅé®Ä²v·|¤U­°¡A¦ý¬O¯uªº¯à§ïµ½·í¾÷°ÝÃD
  27.    
  28.     End With
  29.    
  30. End Sub
½Æ»s¥N½X
Thank you very much^  ^

TOP

¦^´_ 4# luhpro

¶â §Ú¸Õ¤F§A´£¨ÑªºSheets((x + 1) & "")¡A x­È²×©ó·|¸òµÛ©Ò³]©wªº­È¶]¤F!!
§Ú¤§«eªº§@ªk¨ä¹ê¬O
1 ¨Æ¥ý¦b³Ì«e­±¶}¤@±i¤u§@ªí¡A
2 ±N·|¨Ï¥Î¨ìªº¤u§@ªíªº¦WºÙ¦C¦bAÄæ
3 µM«á¥Îºô¸ô¤W§ä¨ìªºµ{¦¡½X
  1. Sub AddSheet()
  2.    Dim i As Integer
  3.     For i = 1 To 76
  4.         Sheets.Add after:=Sheets(Sheets.Count)
  5.         Sheets(Sheets.Count).Name = Sheets(1).Range("A" & i)
  6.     Next
  7. End Sub
½Æ»s¥N½X
¶]¥X©Ò¦³ªº§Ú¹w©w­n±o¨ìªº¤u§@ªí¤§«á¡A
4 §R±¼§t¦³¤u§@ªí¦WºÙªº¤u§@ªí¡A
5 ¦A¶i¦æ¿z¿ï
PS ´N¬O»Ý­n¤À¨â­Ó¨BÆJ¡A¤£¹Laddsheet()©Ò»Ýªº®É¶¡µu¤£¤Ó¼vÅT¾ãÅé´N¬O¤F

·PÁÂÀ°§U!!!

TOP

        ÀR«ä¦Û¦b : ¤£­n¤p¬Ý¦Û¤v¡A¦]¬°¤H¦³µL­­ªº¥i¯à¡C
ªð¦^¦Cªí ¤W¤@¥DÃD