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

[µo°Ý] VBA_½Ð²¤Æµ{¦¡½X¡CÁÂÁÂ!

¦^´_ 8# Airman
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Range, E As Variant, C As Variant
  4.     With Sheets(2)
  5.         Sheets(1).Range("J7", "P" & Sheets(2).[R6] + 5).Copy .[J7]
  6.         Set Rng = .[J7].Resize(.[J7].End(xlDown).Row, 7)
  7.         For Each E In Array(.[T5], .[T5] - .[T3], .[T5] - .[T3] * 2)
  8.                             '.T5,T5-T3,T5-T3*2 '91,82,73
  9.             C = Application.Match(.[R5], Rng.Rows(E), 0) '§ä¨ì¶Ç¦^¼Æ¦r
  10.             If IsNumeric(C) Then
  11.                 With Rng.Rows(E).Cells(C)
  12.                     .Interior.ColorIndex = 4
  13.                     .Font.ColorIndex = 3
  14.                     .Font.FontStyle = "²ÊÅé"
  15.                 End With
  16.             End If
  17.         Next
  18.     End With
  19. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 11# ­ã´£³¡ªL
¦r¦ê¥Î InStr , Split
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Range, E As Variant, C As Variant, Ar As String
  4.     Ar = "4,45,8"
  5.     With Sheets(2)
  6.         Sheets(1).Range("J7", "P" & Sheets(2).[R6] + 5).Copy .[J7]
  7.         Set Rng = .[J7].Resize(.[J7].End(xlDown).Row, 7)
  8.         For Each E In Array(.[T5], .[T5] - .[T3], .[T5] - .[T3] * 2)
  9.                             '.T5,T5-T3,T5-T3*2 '91,82,73
  10.             C = Application.Match(.[R5], Rng.Rows(E), 0) '§ä¨ì¶Ç¦^¼Æ¦r
  11.             If IsNumeric(C) Then
  12.                 With Rng.Rows(E).Cells(C)
  13.                     .Interior.ColorIndex = Split(Ar, ",")(0)
  14.                     .Font.ColorIndex = 3
  15.                     .Font.FontStyle = "²ÊÅé"
  16.                 End With
  17.                 If InStr(Ar, ",") Then Ar = Mid(Ar, InStr(Ar, ",") + 1)
  18.             End If
  19.         Next
  20.     End With
  21. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 17# Airman
  1. With Sheets(2)
  2.    ' ¦p­ã´£³¡ªLª©¥D ªº
  3.     Application.Goto .Range("T7:T" & .[R7].End(xlDown).Row)¡@'¤£¥ÎSelect¡Aª½±µ¸õ¿ï¥Ø¼Ð°Ï¡@
  4.    '©Î .Activate   
  5.   '©Î .Select
  6.    '¨ÏSheets(2) ¬°§@¥Î¤¤¤u§@­¶,Àx¦s®æ¤~¥i¥Î.Activate ©Î.Select
  7.     '
  8.     .[A1].Activate   
  9. '©Î.[A1].Select
  10. End With
½Æ»s¥N½X
½Ð¦b«ü©ú­n²¤Æªºµ{¦¡½X¦b­þ¸Ì
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 19# Airman
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Sub Ex()
  3.     Dim Rng As Range, E As Variant, C As Variant, Ar As String, x_No, x As Variant
  4.     x_No = Array(7, 39)
  5.     Ar = "4,45,8"
  6.     With Sheets(2)  '
  7.     'With Sheets("Sheet1")
  8.         .Activate   '±N¥Ø«eªº¤u§@ªí¦¨¬°¨Ï¥Î¤¤ªº¤u§@ªí¡Cµ¥¦P©ó«ö¤@¤U¤u§@ªí¯Á¤Þ¼ÐÅÒ¡C

  9.         Sheets(1).Range("J7", "P" & Sheets(2).[R6] + 5).Copy .[J7]
  10.         Set Rng = .[J7].Resize(.[J7].End(xlDown).Row, 7)
  11.         For Each E In Array(.[T5].Value, .[T5] - .[T3], .[T5] - .[T3] * 2) '´Á§Oªº°j°é
  12.             '¡y·j´M¦bR7(=90´Á),R7-T3(=81´Á),R7-T3*2(=72´Á)¤T­Ó´Á¼Æ~
  13.             '.T5,T5-T3,T5-T3*2 '91,82,73 ½Ð­×§ï¤½¦¡
  14.             
  15.             For Each x In x_No   '¤ñ¹ï¼Æ¦rªº°j°é
  16.                 C = Application.Match(x, Rng.Rows(E), 0) '§ä¨ì¶Ç¦^¼Æ¦r
  17.                 If IsNumeric(C) Then
  18.                     With Rng.Rows(E).Cells(C)
  19.                         .Interior.ColorIndex = Split(Ar, ",")(0)
  20.                         .Font.ColorIndex = 3
  21.                         .Font.FontStyle = "²ÊÅé"
  22.                     End With
  23.                 End If
  24.             Next
  25.             If InStr(Ar, ",") Then Ar = Mid(Ar, InStr(Ar, ",") + 1)
  26.         Next
  27.         .[a1].Select  '·Æ¹«°±¯d¦bSheets(2)ªº A1
  28.     End With
  29. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 21# Airman
§A·Q­n¬Y¤@´Á¼Æ¤¤¶}¥Xªº¸¹½X(³Ì¦h7­Ó)©Î¬O«ü©wªº¸¹½X,¦b¤U´X´Á¤¤¼Ð¥XÃC¦â
¼Æ¦r½d³ò:01~49¡C¥i¯à¦³1­Ó¡A¥i¯à¦³2­Ó¡A....³Ì¦h7­Ó¡C   
©Ò¥H¥æ¶°¼Æ¦r¬O¨Ì¾Ú¦³¼Æ¦rªºTÄ椧¹ïÀ³RÄæ´Á¼Æ¦ÓÅܤÆ

§Aªº³W«ßÅÞ¿è ,ªþÀɤ¤¥i«ü©ú¶Ü? »¡²M·¡.


  1. For Each E In Array(.Range("R" & b.Row).Value, .Range("R" & b.Row) - .[T3], .Range("R" & b.Row) - .[T3] * 2)
½Æ»s¥N½X

¨Sµ{¦¡½X¬Ý¤£À´ ,
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 29# Airman
¦³¤@­Ó(§t)¥H¤Wªº¥æ¶°­È(07,39)®É
¥æ¶°­È À³¦³³W«ß©Ê,¥iÅýµ{¦¡¥h³]©w
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Private Sub CommandButton1_Click()
  3.     Dim b As Range, Rng As Range, E, C As Variant, Ar(), x_No, x As Variant
  4.     Dim xRng As Range, Color_Ar(), i As Integer
  5.     x_No = Array(7, 39)
  6.     Color_Ar = Array(4, 45, 8)
  7.     With Sheets(2)
  8.         .Activate   '±N¥Ø«eªº¤u§@ªí¦¨¬°¨Ï¥Î¤¤ªº¤u§@ªí¡Cµ¥¦P©ó«ö¤@¤U¤u§@ªí¯Á¤Þ¼ÐÅÒ¡C
  9.         Sheets(1).Range("J7", "P" & Sheets(2).[R6] + 5).Copy .[J7]
  10.         Set Rng = .Range("J7:P" & .[R6] + 5)                '©Ò½Æ»s¸ê®Æªº½d³ò
  11.         Set xRng = .Range("T7:T" & .[R6] + 5)               'TÄ檺½d³ò
  12.         If Application.Count(xRng) = 0 Then Exit Sub        'TÄæ¨S¦³´Á¼Æ®ÉÂ÷¶}µ{¦¡
  13.         For Each b In xRng.SpecialCells(xlCellTypeConstants) 'TÄæ [¦³´Á¼ÆªºÀx¦s®æ]½d³ò
  14.             Ar = Array(.Range("R" & b.Row).Value, .Range("R" & b.Row) - .[T3], .Range("R" & b.Row) - .[T3] * 2) '´Á§Oªº°}¦C
  15.             '°}¦C:¨ä¦bRÄ檺¹ïÀ³´Á¼Æ
  16.             For i = 0 To UBound(Ar)                 '°}¦C¤¸¯À¤U­­­È±q0¶}¨Ï
  17.                 For Each x In x_No                  '¤ñ¹ï¼Æ¦rªº°j°é
  18.                     C = Application.Match(x, Rng.Rows(Ar(i)), 0) '§ä¨ì¶Ç¦^¼Æ¦r
  19.                     If IsNumeric(C) Then Rng.Rows(Ar(i)).Cells(C).Interior.ColorIndex = Color_Ar(i)
  20.                 Next
  21.             Next
  22.         Next
  23.         .[a1].Select  '·Æ¹«°±¯d¦bSheets(2)ªº A1
  24.     End With
  25. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2015-11-24 14:45 ½s¿è

¦^´_ 34# Airman

°Ñ¦Ò­ã´£³¡ªL ª©¥D»¡©ú
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. Dim Sh As Worksheet '³o¼Ò²Õªº¨p¥ÎÅܼÆ
  3. Private Sub CommandButton1_Click()
  4.     Dim b As Range, Rng As Range
  5.     Dim xRng(1 To 2) As Range
  6.     With Sheets("Sheet1") '­n§e²{ªº¤u§@ªí
  7.         Sheets("DATA").Range("J7", "P" & .[R6] + 5).Copy .[J7]
  8.         Set Rng = .Range("J7:P" & .[R6] + 5)                   '©Ò½Æ»s¸ê®Æªº½d³ò
  9.         Rng.Interior.ColorIndex = xlNone
  10.         Set xRng(1) = .Range("T7:T" & .[R6] + 5)               'TÄ檺½d³ò
  11.         If Application.Count(xRng(1)) = 0 Then Exit Sub        'TÄæ¨S¦³´Á¼Æ®ÉÂ÷¶}µ{¦¡
  12.         
  13.         Set Sh = Sheets.Add(Sheets(1))                         '¼W¥[¤@¤u§@ªí
  14.         Application.ScreenUpdating = False                     '¦pªG¿Ã¹õ§ó·s¥\¯à¬O¶}±Òªº«h¬° True
  15.         For Each b In xRng(1).SpecialCells(xlCellTypeConstants) 'TÄæ [¦³´Á¼ÆªºÀx¦s®æ]½d³ò
  16.             Ex_ChiCK Union(Rng.Rows(.Range("R" & b.Row)), Rng.Rows(.Range("R" & b.Row) - .[T3]), Rng.Rows(.Range("R" & b.Row) - .[T3] * 2))  '´Á§Oªº°}¦C
  17.             'Ex_ChiCK Union(Rng.Rows(.Range("R" & b.Row) - .[T3] * 2), Rng.Rows(.Range("R" & b.Row) - .[T3]), Rng.Rows(.Range("R" & b.Row)))  '­ËÂà´Á§O
  18.         Next
  19.         .Activate   '±N¥Ø«eªº¤u§@ªí¦¨¬°¨Ï¥Î¤¤ªº¤u§@ªí¡Cµ¥¦P©ó«ö¤@¤U¤u§@ªí¯Á¤Þ¼ÐÅÒ¡C
  20.         .[a1].Select  '·Æ¹«°±¯d¦bSheets(2)ªº A1
  21.     End With
  22.     Application.DisplayAlerts = False  '¦pªG¥¨¶°¦b°õ¦æ®É Microsoft Excel Åã¥Ü¯S©wªºÄµ§i©M°T®§«h¬° True
  23.     Sh.Delete                          '§R°£:¤u§@ªí
  24.     Application.DisplayAlerts = True
  25.     Application.ScreenUpdating = True
  26. End Sub
  27. Private Sub Ex_ChiCK(Rng As Range)  '°Æµ{¦¡ ¶·¶Ç°e°Ñ¼Æ
  28.     Dim Ar(), i As Variant, E As Variant, X As Variant, M As Integer
  29.     Ar = Array(4, 45, 8)
  30.     Rng.Copy Sh.[a1]             '½Æ»s¤T´Á¸ê®Æ
  31.     For i = 1 To 49
  32.         X = Application.CountIf(Sh.UsedRange, i)  'x = 3 :¦P¤@¸¹½X¤T´Á³£¥X²{
  33.         If X = 3 Then E = E & IIf(E <> "", ",", "") & i  '¬ö¿ý¸¹½X
  34.     Next
  35.     X = Split(E, ",")        '¥X²{3¦¸ªº¸¹½X,¸m¤J°}¦C
  36.     For Each E In X
  37.         For i = 1 To Rng.Areas.Count
  38.             '¶Ç¦^ Areas ¶°¦X¡A¦¹¶°¦X¥Nªí¦h­«½d³ò¤¤ªº©Ò¦³½d³ò
  39.             M = Application.Match(Val(E), Rng.Areas(i).Cells, 0)
  40.             Rng.Areas(i).Cells(M).Interior.ColorIndex = Ar(i - 1) '¨Ì½d³ò¶Ç¦^ªºÃC¦â
  41.         Next
  42.     Next
  43. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ÀR§¤±`®¦¤v¹L¡B¶¢½Í²ö½×¤H«D¡C
ªð¦^¦Cªí ¤W¤@¥DÃD