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

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

¦^´_ 39# iceandy6150
  1. Option Explicit
  2. Private Sub CommandButton2_Click()
  3.     Sheets("°Ñ·Óªí").UsedRange.Columns(1).CreateNames True
  4.     With Sheets("Sheet1").Range("G2:G150").Validation
  5.         .Add Type:=xlValidateList, Formula1:="=" & Sheets("°Ñ·Óªí").UsedRange.Cells(1)
  6.     End With
  7. End Sub
  8. Private Sub CommandButton4_Click()
  9.     Dim i As Integer, C As Range
  10.     For Each C In Sheets("Sheet1").UsedRange.Columns(7).Cells
  11.         If C = "" Then MsgBox ("¦³ªÅ®æ"): Exit Sub
  12.     Next
  13.     MsgBox ("µLªÅ®æ")
  14. End Sub
  15. Sub Ex()
  16.     Dim i As Integer
  17.     'UsedRange.RANGE("G:G") -> ¤w¨Ï¥Î½d³òªºGÄæ·|©µ¦ù¨ì¤u§@ªíªºªº©³³¡
  18.     'UsedRange.Columns(7)   -> ¶È¤w¨Ï¥Î½d³ò²Ä1Äæ½d³òºâ°_ªº²Ä7Äæ½d³ò
  19.     For i = 1 To 3
  20.         With Sheets.Add(, Sheets(Sheets.Count))
  21.             If i = 1 Then
  22.                 .[F1,I5] = "AA"
  23.             ElseIf i = 2 Then
  24.                 .[D1,F5] = "AA"
  25.             Else
  26.                 .[D2,F5] = "AA"
  27.             End If
  28.             MsgBox .UsedRange.Address
  29.             MsgBox .UsedRange.Columns(5).Address
  30.             MsgBox .UsedRange.Range("E:E").Address        '.[D2,F5]->¤u§@ªí²Ä¤@¦C¨S¸ê®Æ¦³¿ù»~
  31.         End With
  32.     Next
  33. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 41# iceandy6150
  1. Private Sub CommandButton2_Click()
  2.     Sheets("°Ñ·Óªí").UsedRange.Columns(1).CreateNames True
  3.     With Sheets("Sheet1").Range("G2:G150").Validation
  4.         .Delete  '¥[¤W³o¦æ ¦pÁÙ¦³¿ù»~,½Ð¤W¶ÇÀÉ®×
  5.       '.Delete  2003ª©¥i¤£¥Î.
  6.         .Add Type:=xlValidateList, Formula1:="=" & Sheets("°Ñ·Óªí").UsedRange.Cells(1)
  7.     End With
  8. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

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

TOP

¦^´_ 45# iceandy6150
  1. End ÄÝ©Ê ¸Óª«¥ó¥Nªí¥]§t¨Ó·½½d³ò¤§°Ï°ìµ²§À³BªºÀx¦s®æ¡Cµ¥©ó«ö END+¦V¤WÁä¡BEND+¦V¤UÁä¡BEND+¦V¥ªÁä©Î END+¦V¥kÁä¡C°ßŪ Range ª«¥ó¡C
  2. expression.End (Direction)
  3. Direction    ¥²¿ïªº XlDirection ¸ê®ÆÃþ«¬¡C­n²¾©¹ªº¤è¦V¡C
  4. XlDirection ¥i¥H¬O³o¨Ç XlDirection ±`¼Æ¤§¤@¡C
  5. xlDown
  6. xlToRight
  7. xlToLeft
  8. xlUp
½Æ»s¥N½X
  1. Sub Ex()
  2.     With ActiveSheet.Range("G:G")
  3.        MsgBox .Cells(.Count).End(xlUp).Address
  4.     End With
  5.     With ActiveSheet
  6.        MsgBox .Range("G" & .Rows.Count).End(xlUp).Address
  7.     End With
  8.     With ActiveSheet
  9.        MsgBox .Cells(.Rows.Count, "G").End(xlUp).Address
  10.     End With
  11.     With ActiveSheet
  12.        MsgBox .Cells(.Rows.Count, 7).End(xlUp).Address
  13.     End With
  14. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 47# iceandy6150
.Rows.Count : ¶Ç¦^ª«¥ó¦CªºÁ`¼Æ
.Range("G" & .Rows.Count) : ³oÀx¦s®æ¬O¦ì©óGÄæ³Ì©³³¡ªº¦C¸¹
¬°¤°»ò¬O xlup ? (©¹¤W),¤£¬O À³¸Ó¬Oxldown(©¹¤U)
Range("G" & .Rows.Count).End(xldown).Value  :ÁÙ¬O³Ì©³³¡¦CªºÀx¦s®æ

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

TOP

¦^´_ 49# iceandy6150
  1. '¶O¥Î¶µ¥Ø¤¤ "¬z  ¶K",¦³ªÅ®æ,¤u§@ªí¦WºÙ"¬z¶K59-60"¤¤¨SªÅ®æ
  2. '©Ò¦³¶O¥Î¶µ¥Ø»Ý»P¤u§@ªí¦WºÙ(¶O¥Î¶µ¥Ø??_??)¤@­P
  3. '§_«h Sh = Filter(Ar, Trim(Rng(1).Cells(i)), True) ·|¤£¥¿½T'
  4. Option Explicit
  5. Sub Ex()
  6.     Dim xlMon As Integer, xlYear As String, E As Variant
  7.     Dim Rng(1 To 2) As Range, Rng_Ar(), Ar(), i As Integer, Sh As Variant
  8.     With Sheets("·l¯qªí")
  9.         xlYear = Mid(.[a3], InStrRev(.[a3], "¦Ü") + 1, InStrRev(.[a3], "¦~") - InStrRev(.[a3], "¦Ü"))
  10.         'xlYear : ·l¯qªíªº¦~«×
  11.         xlMon = Mid(.[a3], InStrRev(.[a3], "¦~") + 1, InStrRev(.[a3], "¤ë") - InStrRev(.[a3], "¦~") - 1)
  12.         'xlMon : ·l¯qªíªº¤ë¥÷
  13.         Set Rng(1) = .[A18:A30]                         '¶O¥Î¶µ¥Ø
  14.         ReDim Rng_Ar(1 To Rng(1).Count)                 '°}¦C:¤¸¯À¼Æ = ¶O¥Î¶µ¥Ø¼Æ
  15.     End With
  16.     ReDim Ar(1 To Sheets.Count)                         '°}¦C:¤¸¯À¼Æ = Sheets.Count
  17.     For i = 1 To Sheets.Count
  18.         Ar(i) = Sheets(i).Name                          '°}¦C:¤¸¯À¾É¤J Sheets.Name
  19.     Next
  20.     For i = 1 To Rng(1).Count
  21.         Sh = Filter(Ar, Trim(Rng(1).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) '®Ö¹ï¦~«×
  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
  29.                         Rng_Ar(i) = Rng_Ar(i) + Rng(2).Range("F1")                  'Range("F1"):ª÷ÃB¦ì¸m
  30.                     End If
  31.                 End If
  32.             End With
  33.         Next
  34.     Next
  35.     Rng(1).Offset(, 1) = Application.WorksheetFunction.Transpose(Rng_Ar)
  36.     'Transpose(Âà¸m) : ¤@ºû°}¦C(¾î¦¡) Âà´«¬° ¤Gºû°}¦C(³o¸ÌÅܤ@¦Cª½¦¡)
  37. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

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

¦^´_ 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

¦^´_ 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

        ÀR«ä¦Û¦b : ¤â¤ß¦V¤U¬O§U¤H¡A¤â¤ß¦V¤W¬O¨D¤H¡F§U¤H§Ö¼Ö¡A¨D¤Hµh­W¡C
ªð¦^¦Cªí ¤W¤@¥DÃD