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

[µo°Ý] ¦p¦ó§Q¥ÎVBA«öÁä¡A¨Ó§ä¥X¹H¤Ï³W«hªº¸¹½X¡C

¥»©«³Ì«á¥Ñ yen956 ©ó 2015-12-13 15:26 ½s¿è

¦p¹Ï:

1.­ì¸ê®Æ¦³¦hµ§ ¨ì´Á¤é<»s³y¤é?
¬O§_­n¼W¥[¦¹§PÂ_?
2. ³W«h2 ¦³¦s¦bªº¤J­n¶Ü?

TOP

¸Õ¸Õ¬Ý:
  1. '´¡¤J§Ç¸¹, ¥H«K«ì´_­ìª¬
  2. Sub ´¡¤J§Ç¸¹(LstR As Integer)
  3.     Dim i As Integer
  4.     For i = 2 To LstR
  5.         Cells(i, 1) = i
  6.     Next
  7. End Sub

  8. Sub test()
  9.     Dim LstR As Integer, LstR2 As Integer, sR As Integer
  10.     Dim mDate1 As Date, mDate2 As Date
  11.     [H2:J65536] = ""
  12.     '²M°£©³¦â, ¦p§A­ì¦³©³¦âªº»Ý¨D, ½Ð±N¤U¦C¥h°£
  13.     [C:I].Interior.ColorIndex = xlNone
  14.     LstR2 = Cells(Rows.Count, 3).End(xlUp).Row
  15.     ´¡¤J§Ç¸¹ LstR:=LstR2      '´¡¤J§Ç¸¹, ¥H«K«ì´_­ìª¬
  16.     [A1].Resize(LstR2, 10).Sort _
  17.             Key1:=[C1], Order1:=xlAscending, _
  18.             Key2:=[G1], Order1:=xlAscending, _
  19.             Key3:=[E1], Order1:=xlAscending, _
  20.             Header:=xlYes
  21.     LstR = Cells(Rows.Count, 3).End(xlUp).Row
  22.     sR = 2
  23.     mDate1 = DateSerial(Year(Cells(sR, 7)), Month(Cells(sR, 7)), Day(Cells(sR, 7)))
  24.     Do
  25.         '·s¼W²§±`¬ö¿ý,¦pµL¦¹»Ý¨D,½Ð¥h°£
  26.         If Cells(sR, 5) < mDate1 Then    '¨ì´Á¤é<»s³y¤é
  27.             Cells(sR, 8) = "¨ì´Á¤é<»s³y¤é"
  28.            '¥[¤J©³¦â, ¦p§A­ì¦³©³¦âªº»Ý¨D, ½Ð±N¤U¨â¦C¥h°£
  29.             Cells(sR, 8).Interior.ColorIndex = 38
  30.             Cells(sR, 3).Resize(1, 5).Interior.ColorIndex = 38
  31.         End If
  32.         
  33.         If sR = 2 Then GoTo Next1:
  34. '        '¸¹½X¬Û¦P,¨ì´Á¤é¥¼±Æ§Ç(³W«h2 ¦ü¥G¨S¦³¦s¦bªº¥²­n, ¬G¥h°£)
  35. '        If Cells(sR, 3) = Cells(sR - 1, 3) And Cells(sR, 5) < Cells(sR - 1, 5) Then
  36. '            Cells(sR, 10) = "¨ì´Á¤é¥¼±Æ§Ç"
  37. '           '¥[¤J©³¦â, ¦p§A­ì¦³©³¦âªº»Ý¨D, ½Ð±N¤U¦C¥h°£
  38. '            Cells(sR, 3).Resize(1, 5).Interior.ColorIndex = 6
  39. '        End If
  40.         
  41.         '»s³y¤é¬Û¦P, ¦ý¨ì´Á¤é¤£¦P
  42.         If mDate1 = mDate2 And Cells(sR, 5) <> Cells(sR - 1, 5) Then
  43.             Cells(sR - 1, 9) = "¨ì´Á¤é²§±`"
  44.            '¥[¤J©³¦â, ¦p§A­ì¦³©³¦âªº»Ý¨D, ½Ð±N¤U¨â¦C¥h°£
  45.             Cells(sR - 1, 9).Interior.ColorIndex = 8
  46.             Cells(sR - 1, 3).Resize(1, 5).Interior.ColorIndex = 8
  47.             Cells(sR, 9) = "¨ì´Á¤é²§±`"
  48.            '¥[¤J©³¦â, ¦p§A­ì¦³©³¦âªº»Ý¨D, ½Ð±N¤U¨â¦C¥h°£
  49.             Cells(sR, 9).Interior.ColorIndex = 8
  50.             Cells(sR, 3).Resize(1, 5).Interior.ColorIndex = 8
  51.         End If
  52. Next1:
  53.         sR = sR + 1
  54.         mDate1 = DateSerial(Year(Cells(sR - 1, 7)), Month(Cells(sR - 1, 7)), Day(Cells(sR - 1, 7)))
  55.         mDate2 = DateSerial(Year(Cells(sR, 7)), Month(Cells(sR, 7)), Day(Cells(sR, 7)))
  56.     Loop Until sR > LstR
  57.     '«ì´_­ìª¬, ¤è«K¬d®Ö
  58.     [A1].Resize(LstR2, 9).Sort _
  59.             Key1:=[A1], Order1:=xlAscending, _
  60.             Header:=xlYes
  61. End Sub
½Æ»s¥N½X

TOP

°w¹ï ³W«h2 ­×¥¿:
¸Õ¸Õ¬Ý:
  1. '´¡¤J§Ç¸¹, ¥H«K«ì´_­ìª¬
  2. Sub ´¡¤J§Ç¸¹(LstR As Integer)
  3.     Dim I As Integer
  4.     For I = 2 To LstR
  5.         Cells(I, 1) = I
  6.     Next
  7. End Sub
  8. Sub test()
  9.     Dim LstR As Integer, LstR2 As Integer, sR As Integer, I As Integer, cnt As Integer
  10.     Dim minDate As Date
  11.     [H2:J65536] = ""
  12.     '²M°£©³¦â, ¦p§A­ì¦³©³¦âªº»Ý¨D, ½Ð±N¤U¦C¥h°£
  13.     [C:I].Interior.ColorIndex = xlNone
  14.     LstR2 = Cells(Rows.Count, 3).End(xlUp).Row
  15.     ´¡¤J§Ç¸¹ LstR:=LstR2      '´¡¤J§Ç¸¹, ¥H«K«ì´_­ìª¬
  16.     [A1].Resize(LstR2, 10).Sort _
  17.             Key1:=[C1], Order1:=xlAscending, _
  18.             Key2:=[G1], Order1:=xlAscending, _
  19.             Header:=xlYes
  20.     LstR = Cells(Rows.Count, 3).End(xlUp).Row
  21.     sR = 1
  22.     Do
  23.         cnt = sR
  24.         Do
  25.             sR = sR + 1
  26.             If sR = 2 Then GoTo Next1:
  27.             '³W«h1.»s³y¤é¬Û¦P, ¦ý¨ì´Á¤é¤£¦P
  28.             If Int(Cells(sR, 7)) = Int(Cells(sR - 1, 7)) And Cells(sR, 5) <> Cells(sR - 1, 5) Then
  29.                 Cells(sR - 1, 8) = "¨ì´Á¤é²§±`1"
  30.                '¥[¤J©³¦â, ¦p§A­ì¦³©³¦âªº»Ý¨D, ½Ð±N¤U¨â¦C¥h°£
  31.                 Cells(sR - 1, 8).Interior.ColorIndex = 8
  32.                 Cells(sR - 1, 3).Resize(1, 5).Interior.ColorIndex = 8
  33.                 Cells(sR, 8) = "¨ì´Á¤é²§±`1"
  34.                '¥[¤J©³¦â, ¦p§A­ì¦³©³¦âªº»Ý¨D, ½Ð±N¤U¨â¦C¥h°£
  35.                 Cells(sR, 8).Interior.ColorIndex = 8
  36.                 Cells(sR, 3).Resize(1, 5).Interior.ColorIndex = 8
  37.             End If
  38.         Loop Until Cells(sR, 3) <> Cells(sR - 1, 3) Or sR > LstR  'ª½¨ì ¸¹½X¤£¦P ©Î ¸ê®Æµ²§À
  39.         '³W«h2. ¨ì´Á¤é¤]¥²¶·±Æ§Ç
  40.         If sR - cnt <= 1 Then GoTo Next1:
  41.         For I = cnt To sR - 2
  42.             minDate = Application.Min(Cells(I + 1, 5).Resize(sR - I - 1, 1))
  43.             If Cells(I, 5) > minDate Then
  44.                 Cells(I, 9) = "¨ì´Á¤é²§±`2"
  45.                '¥[¤J©³¦â, ¦p§A­ì¦³©³¦âªº»Ý¨D, ½Ð±N¤U¨â¦C¥h°£
  46.                 Cells(I, 9).Interior.ColorIndex = 38
  47.                 Cells(I, 3).Resize(1, 5).Interior.ColorIndex = 38
  48.             End If
  49.         Next
  50. Next1:
  51.     Loop Until sR > LstR  'ª½¨ì¸ê®Æµ²§À
  52.     '«ì´_­ìª¬, ¤è«K¬d®Ö
  53.     [A1].Resize(LstR2, 9).Sort _
  54.             Key1:=[A1], Order1:=xlAscending, _
  55.             Header:=xlYes
  56. End Sub
½Æ»s¥N½X
°õ¦æµ²ªG¦p¤U¹Ï:

TOP

Q2:¥t¥~AÄ檺§Ç¸¹¥Î·N¬O¡H³o¬O¤@©w³£·|¥X²{¶Ü?
VBA52¦C¤£¬O»¡ªº«Ü²M¶Ü?
¦pµL¦¹»Ý¨D, «h¬ÛÃöVBACode¥h±¥§Y¥i.
Q1:³o¤£¬O§A¦Û¤v­qªº³W«h2.¶Ü?¦p¤U¹Ï:

test.jpg (1.61 KB)

test.jpg

TOP

¥»©«³Ì«á¥Ñ yen956 ©ó 2015-12-19 09:07 ½s¿è

¸É¥R»¡©ú:
1. ¤£¥[¤J§Ç¸¹¥i¤£¥i¥H?
´¡¤J§Ç¸¹, ¥H«K«ì´_­ìª¬,
°£¿ùªº¥Øªº¤£¬O¥´¶Ã­ìªí®æ,
¦]­ìVBA§Q¥ÎExcel ªº±Æ§Ç¥\¯à,
    [A1].Resize(LstR2, 10).Sort _
            Key1:=[C1], Order1:=xlAscending, _
            Key2:=[G1], Order1:=xlAscending, _
            Header:=xlYes
·|¥´¶Ã­ìªí®æ, ¬G±Æ§Ç«e¥ý¥[¤J§Ç¸¹.
¦pÄæA¦³­«­n¸ê®Æ¥i²¾¨ì¥L³B, ¦pÄæK
­Y²¾¨ìÄæK,[K1]¥iÁä¤J"§Ç¸¹", ­ìVBA¥i§ï¦¨
    [A1].Resize(LstR2, 11).Sort _
            Key1:=[C1], Order1:=xlAscending, _
            Key2:=[G1], Order1:=xlAscending, _
            Header:=xlYes
¤Î±N
'´¡¤J§Ç¸¹, ¥H«K«ì´_­ìª¬
Sub ´¡¤J§Ç¸¹(LstR As Integer)
    Dim I As Integer
    For I = 2 To LstR
        Cells(I, 1) = I
    Next
End Sub
§ï¦¨
    For I = 2 To LstR
        Cells(I, 11) = I
    Next
¤Î±N
    '«ì´_­ìª¬, ¤è«K¬d®Ö
    [A1].Resize(LstR2, 9).Sort _
            Key1:=[A1], Order1:=xlAscending, _
            Header:=xlYes
§ï¦¨
    [A1].Resize(LstR2, 11).Sort _
            Key1:=[k1], Order1:=xlAscending, _
            Header:=xlYes
³Ì«á¥[¤J
    [K1:K65536] = ""
¤©¥H²M°£.

TOP

¥»©«³Ì«á¥Ñ yen956 ©ó 2015-12-19 09:34 ½s¿è

¦^´_ 9# RCRG
"¤£¹LI24¦ü¥G¤£¸Ó¥X²{"¨ì´Á¤é²§±`2"¡A¬d¬Ý¤@¤U­ì¦]¦ü¥Gyen¤j§â»s³y¤éªº"®É¶¡"¤]¤ñ¹ï¶i¥h¤F¡I»s³y¤é¥u»Ý¤ñ¹ï"¤é´Á"¡A«á­±®É¶¡¥i¥H©¿²¤"
¤Ï¥¿ "»s³y¤é" ¬Û¦P, "¨ì´Á¤é" ¤£¦P, ´N¤@©w·|¹H¤Ï "³W«h1",
¦¹®É­n¤£­n "§â»s³y¤éªº"®É¶¡"¤]¤ñ¹ï¶i¥h" ´NµLÃöºò­n¤F,
³oºØ±¡§Îªº¹H¤Ï "³W«h2" ¥² ¹H¤Ï "³W«h1",
¦]§Q¥ÎExcel¥»¨­ªº±Æ§Ç¥\¯à,
    [A1].Resize(LstR2, 11).Sort _
            Key1:=[C1], Order1:=xlAscending, _
            Key2:=[G1], Order1:=xlAscending, _
            Header:=xlYes
«ÜÃøÁ׶}®É¶¡ªº°ÝÃD(°£«D¥t¥[¸É§UÄæ, ¥ý§âÄæG¥Î¤½¦¡ =int(G2) ¥þ³¡¥h±¼®É¶¡, §ï¦¨¤é´Á).

TOP

«Øij:
1. ¥t·s¼W¤@¤u§@ªí, ¤º¥u¦³¸¹½X¡B«~¦W(¤è«K¿é¤J¦³®Ä´Á­­)¡B¦³®Ä´Á­­ ¤TÄæ
2. ¸¹½X¬O°ß¤@ªº, ¥B¶·¥Ñ¤p¨ì¤j±Æ¦C(EXCEL 2003¥²¶·, ¥H«áª©¥»¤£²M·¡), ¦³®Ä´Á­­¥H¤Ñ¬°³æ¦ì.
§Q¥Î¶i¶¥¿z¿ï, ¤£¿ï­«ÂÐ, §Y¥i±o¸¹½X¬O°ß¤@ªº, ¾Þ§@¦p¤U¹Ï:
test.gif
3. ¶ñ¤J¦³®Ä´Á­­(³æ¦ì:¤Ñ), §Y¤T­Ó¤ëÀ³¿é¤J90,
4. ¦^¨ì¥D­¶(½d¨Ò»¡©ú­¶),¦b E2 ¿é¤J¤½¦¡, ¦V¤U©Ô
=IF(C2="","",INT(G2)+LOOKUP(C2,Sheet3!A:A,Sheet3!C:C))
(Sheet3 ¬O¤u§@ªí¦WºÙ)
¤j¥\§i¦¨, ¦p¦¹«Oµý "¨ì´Á¤é" 絶¹ï¤£·|¥X¿ù!!

TOP

©êºp!!Á{¬É­È¨S§ì·Ç, ¤w­×§ï, ½Ð¦A´ú¸Õ¬Ý¬Ý!!
  1. '´¡¤J§Ç¸¹, ¥H«K«ì´_­ìª¬
  2. Sub ´¡¤J§Ç¸¹(LstR As Integer)
  3.     Dim I As Integer
  4.     For I = 2 To LstR
  5.         Cells(I, 1) = I
  6.     Next
  7. End Sub
  8. Sub test()
  9.     Dim LstR As Integer, LstR2 As Integer, sR As Integer, I As Integer, cnt As Integer
  10.     Dim minDate As Date
  11.     [J2:K65536] = ""
  12.     '²M°£©³¦â
  13.     [J:K].Interior.ColorIndex = xlNone
  14.     LstR2 = Cells(Rows.Count, 3).End(xlUp).Row
  15.     ´¡¤J§Ç¸¹ LstR:=LstR2      '´¡¤J§Ç¸¹, ¥H«K«ì´_­ìª¬
  16.     [A1].Resize(LstR2, 10).Sort _
  17.             Key1:=[C1], Order1:=xlAscending, _
  18.             Key2:=[G1], Order1:=xlAscending, _
  19.             Header:=xlYes
  20.     LstR = Cells(Rows.Count, 3).End(xlUp).Row
  21.     sR = 1
  22.     Do
  23.         sR = sR + 1
  24.         If sR = 2 Then GoTo Next1:
  25.         cnt = sR
  26.         Do
  27.             '³W«h1.¸¹½X¬Û¦P¥B»s³y¤é¬Û¦P, ¦ý¨ì´Á¤é¤£¦P
  28.             If Cells(sR, 3) = Cells(sR - 1, 3) And Int(Cells(sR, 7)) = Int(Cells(sR - 1, 7)) And Cells(sR, 5) <> Cells(sR - 1, 5) Then
  29.                 Cells(sR - 1, 9) = "¨ì´Á¤é²§±`1"
  30.                 Cells(sR - 1, 9).Interior.ColorIndex = 8
  31.                 Cells(sR, 9) = "¨ì´Á¤é²§±`1"
  32.                 Cells(sR, 9).Interior.ColorIndex = 8
  33.             End If
  34.             sR = sR + 1
  35.         Loop Until Cells(sR, 3) <> Cells(sR - 1, 3) Or sR > LstR    'ª½¨ì ¸¹½X¤£¦P ©Î ¸ê®Æµ²§À
  36.         '³W«h2. ¨ì´Á¤é¤]¥²¶·±Æ§Ç
  37.         If sR - cnt <= 1 Then GoTo Next1:
  38.         For I = cnt To sR - 2
  39.             minDate = Application.Min(Cells(I + 1, 5).Resize(sR - I - 1, 1))
  40.             If Cells(I, 5) > minDate Then
  41.                 Cells(I, 10) = "¨ì´Á¤é²§±`2"
  42.                 Cells(I, 10).Interior.ColorIndex = 38
  43.             End If
  44.         Next
  45. Next1:
  46.     Loop Until sR >= LstR  'ª½¨ì¸ê®Æµ²§À
  47.     '«ì´_­ìª¬, ¤è«K¬d®Ö
  48.     [A1].Resize(LstR2, 10).Sort _
  49.             Key1:=[A1], Order1:=xlAscending, _
  50.             Header:=xlYes
  51. End Sub
½Æ»s¥N½X
p.s.
±q »s³y¤é ºë·Ç¨ì"¤ÀÄÁ"¬Ý¨Ó, »s³y¤é¬O¥Ñ¹q¸£¦Û°Ê¿é¥Xªº,
¦ý ¨ì´Á¤é ¬°¦ó¤£¥Î 14# F ªº«Øij, §ï¥Î¤½¦¡¦Û°Ê¿é¤J,
¥H´î¤Ö¤H¬° Key In ¤Wªº¿ù»~?
¨ä¹ê, ¦³¹H¤Ï³W«h1¤Î³W«h2 ªº¿ù»~, «ç¥i¯à¨S¦³ ¨ì´Á¤é<»s³y¤é ªº¤H¬° Key In ¤Wªº¿ù»~!?
test.gif

TOP

¥»©«³Ì«á¥Ñ yen956 ©ó 2015-12-20 11:46 ½s¿è

¦^´_ 16# ­ã´£³¡ªL
¤j¤j©êºp!!¨Ó¤£¤Î¥Î¤j¤j·sª©´ú¸Õ´N¤W¶Ç!!

TOP

¦^´_ 19# RCRG
¨S¿ù, ¦]¿ù»~°T®§§ï©ñ¨ì³B, ²Ä11¦C§Ñ¤F§ï, ±N
    [J2:K65536] = ""
§ï¦¨
    [H2:J65536] = ""
§Y¥i.

p.s.
"¨ä¹ê¾ã½g¸ê®Æ³£·|¬O¥Î½Æ»s¹L¨Óªº¡A­ì«h¤W¤£·|¦³»~KEY"
¨º´N¬O­ì½Z´N¿ù?!§Oªº³æ¦ì°e¹L¨Óªº?¨º¤S¦ó¥²°£¿ù?

TOP

        ÀR«ä¦Û¦b : ¦h°µ¦h±o¡C¤Ö°µ¦h¥¢¡C
ªð¦^¦Cªí ¤W¤@¥DÃD