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

¦p¦ó§Q¥ÎVBAIJµoÀx¦s®æ²£¥Í¤é´Á.®É¶¡

¦^´_ 7# man65boy
"¦ý¦pªG¤â°Ê§ó§ï®É¶¡ªº¸Ü¡A¦@­p"¤À"¥i§_¦P®É§ó§ï¼Æ¾Ú"
¬Ý¤£À´§Aªº»Ý¨D¬O¤°»ò?

TOP

¦^´_ 11# yen956

   ©ç¨Æ¡A¤p§Ì¨S¼g©ú¥Õ!
    °²³]B5¿é¤J¤H­û«á¡AD5¶]¥X"°_©l®É¶¡"¡AC5¿é¤J¤H­û«á¡AE5¶]¥Xµ²§ô®É¶¡¡A¤§«áVBA»yªk¤w¸g§âF5°µ²Î­p¤F¡A§Ú¦bÀH·N§ó§ï°_©l®É¶¡D5¡AF5ªº²Î­p®É¶¡´N¤£·|¦A§ó§ï¤F¡A¬O³o­Ó·N«ä¡C

TOP

¦^´_ 12# man65boy
¸Õ¸Õ¬Ý:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Lst As Integer, r As Integer, Rng As Range
    Lst = [A65536].End(xlUp).Row    '¨ú±o ÄæA ³Ì¤U­±«DªÅ¥Õ®æªº¦C¸¹
    Set Rng = [B2].Resize(Lst - 1, 4)   '³]©wWorksheet_ChangeIJ°Ê½d³ò¬°[B2:Dxx], xx=Lst(¦C¸¹)
    If Target.Count > 2 Then Exit Sub   '¦pªG¤@¦¸§ïÅܦh®æ«h¨S§@¥Î
    If Intersect(Target, Rng) Is Nothing Then Exit Sub   '¦pªG§ïÅܪºÀx¦s®æ¤£¦b¹w­p½d³ò¤º«h¨S§@¥Î
    r = Target.Row
    '¦pªG§ïÅܪºÀx¦s®æ¬O BÄæ ©Î CÄæ, «h
    If Target.Column = 2 Or Target.Column = 3 Then
        '¡¹¦pªG Target ¬°ªÅ¥Õ, «h
        If Target = "" Then
            Target.Offset(0, 2) = ""                      '²M°£¦P¦C¥kÃä¨âÄ檺Cell
            Target.Offset(0, 2).Interior.ColorIndex = 35  '¨Ã¤Ï¥Õ
            Target.Cells(r, 6) = ""              '¨Ã²M°£¦P¦Cªº[Fxx]
        '¡¹§_«h
        Else
            '¦pªG¦P¦C¥kÃä¨âÄ檺Cell¬°ªÅ¥Õ, «h¶ñ¤J²{¦b®É¶¡, ¤£¬OªÅ¥Õ, «h¤£¶ñ
            If Target.Offset(0, 2) = "" Then
                Target.Offset(0, 2) = Now                         '¶ñ¤J²{¦b®É¶¡
                Target.Offset(0, 2).Interior.ColorIndex = xlNone  '¥B¨ú®ø¤Ï¥Õ
            End If
        End If
    End If
        
    '¦pªG °_©l®É¶¡ ¤Î µ²§ô®É¶¡ ¤£¬OªÅ¥Õ, «h¦b [Fxx] ­pºâ®É®t(¥H¤ÀÄÁ¬°³æ¦ì)
    If Application.Count(Cells(r, 4), Cells(r, 5)) = 2 Then
        Cells(r, 6) = Int((Cells(r, 5) - Cells(r, 4)) * 24 * 60)
    End If
End Sub

TOP

¦^´_ 13# yen956


  ÁÂÁÂyen956¤j¤jªºÀ°¦£¡A¯uªº«Ü¦n¥Î¡A¤]ÁÂÁÂML089¤j¤j¡A·PÁÂ^^

TOP

        ÀR«ä¦Û¦b : ¦³®É·í«äµL®É­W¡A¦n¤Ñ­n¿n«B¨Ó³¡C
ªð¦^¦Cªí ¤W¤@¥DÃD