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

½Ð°ª¤â«üÂI¤@¤U¡A¦p¦ó°µ¥X°ÊºAªº¦æ¨Æ¾ä¤ÎÂùÀ»¿ï¾Ü¿é¤Jªº¥\¯à¡H

¦^´_ 2# eigen
¸Õ¸Õ¬Ý
  1. Option Explicit
  2. '¤u§@ªí¼Ò²Õ:ÂùÀ»Àx¦s®æµ{¦¡
  3. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  4.     Ex Target.Cells(1), Target.Parent
  5.     Target.Select
  6. End Sub

  7. Private Sub Ex(Rng As Range, sh As Worksheet)
  8.     Dim T_Date, T_Mon As Integer, TE As Date
  9.     Dim M As Integer, Week_Ar(), I As Integer
  10.     Week_Ar = Array("¤é", "¤@", "¤G", "¤T", "¥|", "¤­", "¤»")
  11.     Do Until IsDate(T_Date)
  12.         T_Date = InputBox("½Ð«ü©w¤é´Á", , Date)
  13.         If T_Date = "" Then Exit Sub
  14.     Loop
  15.     With sh
  16.         .Cells.Clear                            '²M°£¤u§@ªí
  17.         .Cells.HorizontalAlignment = xlCenter   'Àx¦s®æª«¥óªº¤ô¥­¹ï»ô¼Ò¦¡:¸m¤¤
  18.         .Cells.VerticalAlignment = xlCenter     'Àx¦s®æª«¥óªº««ª½¹ï»ô¼Ò¦¡:¸m¤¤
  19.     End With
  20.    
  21.     With Rng.Resize(, 7)                        '«ü©w¤é´Áªº®æ¦¡
  22.         .Merge                                  '¦X¨Ö: .Resize(, 7)
  23.         .Font.Size = 30
  24.         .Font.Bold = True
  25.         .Font.Color = vbBlue
  26.         .NumberFormatLocal = "yyyy-m-d"
  27.          Rng = T_Date                           '¤é´Á
  28.     End With
  29.     I = I + 3
  30.     For M = -1 To 1
  31.         T_Date = DateAdd("M", M, Rng.Cells(1))                           '¨ú±o«ü©w¤ë¥÷ªº¤é´Á
  32.         T_Date = DateSerial(Year(T_Date), Month(T_Date), 1)     '«ü©w¤ë¥÷¤é´Áªº 1¸¹¶}©l
  33.         T_Mon = Month(T_Date)                                   '«ü©wªº¤ë¥÷
  34.         With Rng.Cells(I).Resize(1, 7)                          '¼g¤J «ü©w¤ë¥÷ªº®æ¦¡
  35.             .Merge
  36.             .Cells = T_Date
  37.             .NumberFormatLocal = "yyyy-m"
  38.             .Font.Size = 15
  39.             .Font.Bold = True
  40.             .Font.Color = vbWhite
  41.             .Interior.Color = vbBlue
  42.         End With
  43.         I = I + 1
  44.         With Rng.Cells(I).Resize(, 7)                           '¼g¤J¬P´Áªº®æ¦¡
  45.             .Cells = Week_Ar
  46.             .Interior.ColorIndex = 15
  47.             .Range("A1,G1").Font.Color = vbRed
  48.         End With
  49.         I = I + 1
  50.         Do While T_Mon = Month(T_Date)                          '°j°éªº±ø¥ó:¦P¤@­Ó¤ë¥÷
  51.             With Rng.Cells(I, Weekday(T_Date))
  52.                 .Cells = T_Date
  53.                 .NumberFormatLocal = "D"
  54.                 If Weekday(T_Date) = 1 Or Weekday(T_Date) = 7 Then .Font.Color = vbRed
  55.             End With
  56.             If Weekday(T_Date) = 7 And T_Mon = Month(T_Date + 1) Then I = I + 1
  57.             T_Date = T_Date + 1                                 '¤é´Á¥[¤@¤Ñ
  58.         Loop
  59.         I = I + 2
  60.     Next
  61. End Sub
½Æ»s¥N½X
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

¦^´_ 4# eigen
  1. '¤u§@ªí¼Ò²Õ:ÂùÀ»Àx¦s®æµ{¦¡
  2. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  3.     Ex Target, Target.Parent
  4.     'Sub Ex ªºµ{¦¡½X¤¤
  5.     'With Rng.Resize(, 7)    '¤é´Áªº½d³ò
  6.     '   .Merge               '¦X¨Ö¬°Àx¦s®æ
  7.     '*** -> Target.Resize(, 7)  ¦X¨Ö¬°Àx¦s®æ  ****
  8.     '***    ­ì¥»ªº¦ì¸m·í§A¦A¦¸,ÂùÀ»Àx¦s®æ,¬Ý¬Ý¦³¦óÅܤÆ
  9. End Sub
½Æ»s¥N½X
³o¤u§@ªí¨ç¼Æ¸¨¸¨ªø,²´¤O¤£¦n,¦³½Ð²´¤O¦nªÌ,À°À°¦£.
·P®¦ªº¤ß......(¦b³Â»¶®a±Ú°Q½×°Ï.¥Î¤ß¾Ç²ß·|¦³¶i¨Bªº)
¦ý¸ê·½µL­­,«á´©¦³­­,  ¤@¤Ñ1¤¸ªºÃÙ§U,¤H¤H¦³¯à¤O.

TOP

        ÀR«ä¦Û¦b : ÁÀ¨¥¹³¤@¦·²±¶}ªºÂAªá¡A¥~ªí¬üÄR¡A¥Í©Rµu¼È¡C
ªð¦^¦Cªí ¤W¤@¥DÃD