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

¬°¤°»ò§ÚªºExcel ¤£·|°Ê ??

¥»©«³Ì«á¥Ñ GBKEE ©ó 2011-11-11 18:36 ½s¿è

¦^´_ 1# color790
Range("b1").End(xlDown).Offset(1) = Range("a1").Address
³o»yªk°ò¥»¤W¨S¦³¿ù»~ªº   ¦ý¦pªG BÄæ¬O§¹¥þ¨S¦³¸ê®Æ,©Î¬Oª½¨ì³Ì«á¤@¦C¤~¦³¸ê®Æ
Range("b1").End(xlDown).Offset(1) ->·|¬O¤u§@ªí½d³ò¤§¥~ ,§AªºªþÀÉ´N¦³¿ù»~ªº

¨Ò¦b b1 ¥H¤U¥ô¤@¦C¿é¤J ¸ê®Æ ´N¨S¿ù»~¤F

Range("b1").End(xlDown).Offset(1) = "=" & Range("a1").Address  
¤½¦¡¤~·|¤Þµo Worksheet_Calculate ³o¨Æ¥ó

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2011-11-11 21:00 ½s¿è

¦^´_ 6# color790
¦³¤ÏÀ³ªº
startTime = Range("b1") '¶}½L®É¶¡, ¨Ò¦p: "09:00:00 AM"
stopTime = Range("d1")  '¦¬½L®É¶¡, ¨Ò¦p: "01:30:00 PM"
§A´ú¸Õ®É¶¡»Ý¦bstartTime - stopTime ®É¶¡¤º ,¥i½Õ¾ã B1,D1
¦p¹Ï³]¥ß¤¤Â_ÂI  , ¤u§@ªí¤¤¿ï¾Ü¦³¤½¦¡ªºÀx¦s®æ  ¥ý«ö F2  ¦A«ö Enter «K¥i¨£°Ê§@¤F
¤§«á¦bVBA µøµ¡ «ö F8 ³v¨B°õ¦æ


TOP

¦^´_ 8# color790
ºF·\ ¬O§Ú¨º¤@½g¼g¿ù¤F ,¤w§ó¥¿¤F.
  1. Private Sub Worksheet_Calculate()
  2.     Dim startTime, stopTime
  3.     Dim Tr As String, Time_Step As Date
  4.     Time_Step = #12:05:00 AM#     '³]©w¶¡¹j®É¶¡: 5¤ÀÄÁ->300¬í
  5.     'Time_Step = #12:00:01 AM#     '³]©w¶¡¹j®É¶¡: 1¬í
  6.     startTime = Range("b1") '¶}½L®É¶¡, ¨Ò¦p: "09:00:00 AM"
  7.     stopTime = Range("d1")  '¦¬½L®É¶¡, ¨Ò¦p: "01:30:00 PM"
  8.     If startTime > Time Then  '<- ­×§ï³o¸Ì  ©|¥¼¶}½L      
  9.         Exit Sub
  10.     ElseIf stopTime < Time Then '<- ­×§ï³o¸Ì   ¤w¸g¦¬½L
  11.         Exit Sub
  12.     Else
  13.         If [C2] <> "-" And [C2] <> "###" Then   '²M½Lªºª¬ºA, ¤£¨ú¨ä¸ê®Æ
  14.             'Tr = Int((nowTime - startTime) * 1440) + 30  '¨C®t 300 ¬í´N´«¤@¦C
  15.             Tr = Int((Time - startTime) / Time_Step) + 30 ' ¨C5¤ÀÄÁ¤@¦C ±q²Ä30¦C¶}©l
  16.             If Range("D" & Tr) = "" Then Range("D" & Tr) = Range("C2")  '¶}©l»ù
  17.             If Range("E" & Tr) = "" Or Range("C2") > Range("E" & Tr) _
  18.                 Then Range("E" & Tr) = Range("C2")                      '³Ì°ª»ù
  19.             If Range("F" & Tr) = "" Or Range("C2") < Range("F" & Tr) _
  20.                 Then Range("F" & Tr) = Range("C2")                      '³Ì§C»ù
  21.             Range("G" & Tr) = Range("C2")                               'µ²§ô»ù
  22.         End If
  23.     End If
  24. End Sub
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ GBKEE ©ó 2011-11-15 08:20 ½s¿è

¦^´_ 11# color790
½Ðªþ¤WÀÉ®×½d¨Ò ¬Ý¬Ý

TOP

¦^´_ 13# color790
  1. '¤u§@ªí1ªºµ{¦¡
  2. Dim S As String   '¤u§@ªí1ªº ¨p¥ÎÅܼÆ
  3. Private Sub Worksheet_Calculate()
  4.     Application.EnableEvents = False
  5.     If S <> [G8] & [i8] And [G8] & [i8] <> "" Then
  6.         Cells(Rows.Count, "k").End(xlUp).Offset(1).Resize(1, 3) = Array(Time, [G8], [i8])
  7.         S = [G8] & [i8]
  8.     End If
  9.     Application.EnableEvents = True
  10. End Sub
½Æ»s¥N½X
  1. 'Module1ªºµ{§Ç
  2. Sub AUTO_OPEN()
  3.     ¥¨¶°1
  4. End Sub
  5. Private Sub ¥¨¶°1()
  6.     Dim ¶}½L®É¶¡ As String, ¦¬½L®É¶¡  As String, DEE®É¶¡, Deehh As String, Deemm As String
  7.     Dim Time_Step As Date
  8.     ¶}½L®É¶¡ = "B5"
  9.     ¦¬½L®É¶¡ = "D5"
  10.     DEE®É¶¡ = "C2"
  11.     Dim TESTTr  '¦¹ÅܼƬO´ú¸Õµ¹§A¬Ýªº
  12.     With ¤u§@ªí1
  13.         If .Range(¶}½L®É¶¡) > Time Then  ' ©|¥¼¶}½L   'µ¥­Ô¶}½L®É¶¡¨ì°õ¦æ
  14.             Application.OnTime .Range("¶}½L®É¶¡"), "¥¨¶°1"
  15.         ElseIf .Range(¦¬½L®É¶¡) < Time Then ' ¤w¸g¦¬½L   'Ãö³¬¥¨¶°
  16.             Exit Sub
  17.         End If
  18.         Time_Step = #12:05:00 AM#      '³]©w¶¡¹j®É¶¡: 5¤ÀÄÁ
  19.         'Time_Step = #12:01:00 AM#     '³]©w¶¡¹j®É¶¡: 1¤ÀÄÁ
  20.          ' 1 = 1¤ÀÄÁ ; ¤@¤ÑªºÁ`¤ÀÄÁ¼Æ 24 * 60 =1440
  21.           '1¤ÀÄÁ    #12:01:00 AM# * 1400
  22.          'Time_Step* 1400 = ³]©w¶¡¹j ? ¤ÀÄÁ
  23.          
  24.          '**¦³¿ù»~ Tr = Int((Time - .Range(¶}½L®É¶¡) ) * 1440) + 30  '¨C®t 300 ¬í´N´«¤@¦C***
  25.          '¤W¦¡À³¬°¶Ç¦^->  ¶¡¹jªºÁ`¤ÀÄÁ¼Æ + 30
  26.            Tr = Int(Int((Time - .Range(¶}½L®É¶¡)) * 1440) / 5) '¨C®t 300 ¬í ¦¹ÅܼƬO´ú¸Õµ¹§A¬Ýªº
  27.            TESTTr = Int((Time - .Range(¶}½L®É¶¡)) / Time_Step)  '¦¹ÅܼƬO´ú¸Õµ¹§A¬Ýªº
  28.            MsgBox TESTTr = Tr                                  '¦¹ÅܼƬO´ú¸Õµ¹§A¬Ýªº
  29.         If .[D2] <> "-" And .[D2] <> "###" Then   '²M½Lªºª¬ºA, ¤£¨ú¨ä¸ê®Æ
  30.             Tr = Int((Time - .Range(¶}½L®É¶¡)) / Time_Step) + 30
  31.             ' Time_Step ¤ÀÄÁ¤@¦C    ->  ±q²Ä30¦C¶}©l **
  32.             Range("K" & Tr) = Time                '¥[¤W®É¶¡
  33.             If Range("L" & Tr) = "" Then Range("L" & Tr) = Range("D2")  '¶}©l»ù
  34.             If Range("M" & Tr) = "" Or Range("D2") > Range("M" & Tr) _
  35.                 Then Range("M" & Tr) = Range("D2")                      '³Ì°ª»ù
  36.             If Range("N" & Tr) = "" Or Range("D2") < Range("N" & Tr) _
  37.                 Then Range("N" & Tr) = Range("D2")                      '³Ì§C»ù
  38.             Range("O" & Tr) = Range("D2")                               'µ²§ô»ù
  39.         End If
  40.         Deehh = Mid(.Range(DEE®É¶¡), 1, 2)
  41.         Deemm = Mid(.Range(DEE®É¶¡), 3, 2)
  42.         Deemm = (Int(Deemm / (Time_Step * 1440)) + 1) * (Time_Step * 1440)
  43.         If Val(Deemm)>=60 Then
  44.             Deehh = Deehh + 1
  45.             Deemm = "00"
  46.         End If
  47.         Application.OnTime TimeSerial(Deehh, Deemm, 0) + Time_Step, "¥¨¶°1"
  48.     End With
  49. End Sub
½Æ»s¥N½X

TOP

¦^´_ 16# color790
§AªºDEE ¸ê®Æ¬°¿ù»~­È #REF!
  1. Private Sub Worksheet_Calculate()
  2.     Application.EnableEvents = False
  3.     If IsError([G8]) = 0 And IsError([i8]) = 0 Then
  4.         If S <> [G8] & [i8] And [G8] & [i8] <> "" Then
  5.             Cells(Rows.Count, "k").End(xlUp).Offset(1).Resize(1, 3) = Array(Time, [G8], [i8])
  6.             S = [G8] & [i8]
  7.         End If
  8.     End If
  9.     Application.EnableEvents = True
  10. End Sub
½Æ»s¥N½X

TOP

        ÀR«ä¦Û¦b : ¶¢¤HµL¼Ö½ì¡A¦£¤HµL¬O«D¡C
ªð¦^¦Cªí ¤W¤@¥DÃD