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

»ù®æ¬ö¿ýªº»yªk¦³¼g¿ù¶Ü??

¦^´_ 1# ÂŤÑÄR¦À
§ï¥Î Change ¸Õ¸Õ¬Ý¡I
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     If Target.Address = "$B$2" Then Call RecordPrice
  3. End Sub
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2016-3-22 06:53 ½s¿è

¦^´_ 6# ÂŤÑÄR¦À
¨ú¥N§A­ì¥ý Sheets("RTD") ¸Ìªº Worksheet_Calculate()¡C
¤S¡A§A ¥Ø«e "¼Ò²Õ1" RecordPrice ¸Ìªº For ~ Next ¹Bºâ¦¡¥i¥H
¥Î¤U¦C¤è¦¡¨ú¥N¡A¥H¸`¬Ù³B¸Ì®É¶¡¡G
  1.    '  For I = 1 To 3
  2.    '      Cells(WR, I) = Cells(2, I)
  3.    '  Next I
  4.    Cells(WR, 1).Resize(, 3) = [A2:C2].Value
½Æ»s¥N½X

TOP

¦^´_ 8# ÂŤÑÄR¦À
¥ý¦^µª§A²Ä¤@­Ó°ÝÃD¡G
  1. If (WR = 3) Or _
  2.     (Range("B" & WR - 1) <> Range("B2")) Then ' Á`¶q¦³²§°Ê®É¤~°O¿ý
  3.      For I = 1 To 3
  4.          Cells(WR, I) = Cells(2, I)
  5.      Next
  6. End If
½Æ»s¥N½X
±q For ~ Next §ï¬°¤U¦C¤@¦¸¥\¤Ò´N¶ñ¤J­È (Assign Value) ªº¤è¦¡¡A
§A»¡¬O­þ­Ó³B²z¸û§Ö³t¡H
  1. If (WR = 3) Or _
  2.     (Range("B" & WR - 1) <> Range("B2")) Then ' Á`¶q¦³²§°Ê®É¤~°O¿ý
  3.     Cells(WR, 1).Resize(, 3) = [A2:C2].Value
  4. End If
½Æ»s¥N½X

TOP

¥»©«³Ì«á¥Ñ c_c_lai ©ó 2016-3-22 13:17 ½s¿è

¦^´_ 8# ÂŤÑÄR¦À
Sheets  -  shtRTD (RTD)
­ì¥»¤º®e¡G
  1. Option Explicit

  2. Private Sub Worksheet_Calculate()
  3.     Call RecordPrice
  4. End Sub
½Æ»s¥N½X
±N¥¦²¾°£±¼¡A­×§ï¬°¡G
  1. Option Explicit

  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3.     '  ·í B2 Äæ¦ì¦³²§°Ê®É¡A «h¥h©I¥s RecordPrice ªº¤èªk (Method)¡C
  4.     If Target.Address = "$B$2" Then Call RecordPrice
  5. End Sub
½Æ»s¥N½X
°²³]¡G
¦p§A±ý±N­ì¥»¤§ ¡G
  1.   A                  B            C                 D
  2. ®É¶¡                Á`¶q               
  3. 22:38:54        8734.54        2238        8734.54
½Æ»s¥N½X
§ó§ï¬°±q D Äæ¶}©l­«·s§G§½¦¨¡G
  1.   C                 D             E                 F
  2. ®É¶¡                Á`¶q               
  3. 22:38:54        8734.54        2238        8734.54
½Æ»s¥N½X
«h±N¤W­z¤§ Worksheet_Change ½Ð­×¥¿¬°¡G
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     '  ·í D2 Äæ¦ì¦³²§°Ê®É¡A «h¥h©I¥s RecordPrice ªº¤èªk (Method)¡C
  3.     If Target.Address = "$D$2" Then Call RecordPrice
  4. End Sub
½Æ»s¥N½X
¥t¥~¡A Module1 ¤º¤§ RecordPrice ¸Ìªº¼Ò²Õ¡G
  1. Option Explicit

  2. Sub RecordPrice()
  3.     Dim WR As Long

  4.     If Range("D2") < 1 Then Exit Sub

  5.     WR = Range("A1").End(xlDown).Row + 1
  6.     '  ActiveWindow.ScrollRow = WR - 5           '  ¥uÅã¥Ü³Ì·s´Xµ§¸ê®Æ
  7.     If (WR = 3) Or _
  8.        (Range("B" & WR - 1) <> Range("B2")) Then '  Á`¶q¦³²§°Ê®É¤~°O¿ý
  9.         Cells(WR, 1).Resize(, 3) = [A2:C2].Value
  10.     End If
  11. End Sub
½Æ»s¥N½X
§ó´«¬°¡G
  1. Option Explicit

  2. Sub RecordPrice()
  3.     Dim WR As Long

  4.     If Range("F2") < 1 Then Exit Sub

  5.     WR = Range("C1").End(xlDown).Row + 1
  6.     '  ActiveWindow.ScrollRow = WR - 5           '  ¥uÅã¥Ü³Ì·s´Xµ§¸ê®Æ
  7.     If (WR = 3) Or _
  8.        (Range("D" & WR - 1) <> Range("D2")) Then '  Á`¶q¦³²§°Ê®É¤~°O¿ý
  9.         Cells(WR, 3).Resize(, 3) = [C2:E2].Value
  10.     End If
  11. End Sub
½Æ»s¥N½X

TOP

¦^´_ 12# ÂŤÑÄR¦À
¤£¤Ó©úÁA "¦pªGC2ÅÜ°Ê´N©¹¤U¬ö¿ýB2-C2¡A¦ý¬O¨ä¥L¤£¬ö¿ý"¡A¬O¬Æ»ò·N«ä¡H
§Aªº RecordPrice() ¤@¦¸«K¼g¤J A:U °Ú¡C¦ó¿× "¨ä¥L¤£¬ö¿ý" ¡H

TOP

¦^´_ 14# ÂŤÑÄR¦À
¬O³o¼Ë¶Ü¡H

TOP

¦^´_ 16# ÂŤÑÄR¦À
¨º[A] ®É¶¡°Z¤£³Q«áªÌ¼Å»\¡H

TOP

¦^´_ 16# ÂŤÑÄR¦À
Like this?

TOP

¦^´_ 20# ÂŤÑÄR¦À
shtRTD(RTD) ¤u§@ªí³æ¤º®e¡G
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     '  ·í D2 Äæ¦ì¦³²§°Ê®É¡A «h¥h©I¥s RecordPrice ªº¤èªk (Method)¡C
  3.     If Target.Address = "$C$2" Or Target.Address = "$E$2" Or Target.Address = "$G$2" Or Target.Address = "$I$2" Or _
  4.               Target.Address = "$K$2" Or Target.Address = "$M$2" Or Target.Address = "$O$2" Or _
  5.               Target.Address = "$Q$2" Or Target.Address = "$S$2" Or Target.Address = "$U$2" Then
  6.         Call RecordPrice(Target.Address)
  7.     End If
  8. End Sub
½Æ»s¥N½X
Module1 ¼Ò²Õ¤º®e¡G
  1. Option Explicit

  2. Sub RecordPrice(TG As String)
  3.     Dim WR As Long

  4.     If Range("A1") < 1 Then Exit Sub
  5.     '  WR = Range("A1").End(xlDown).Row + 1
  6.     WR = Range(TG).End(xlDown).Row + 1      '  ­×§ï¦¨¥HIJµo¤§Äæ¦ì¬°§PÂ_°òÂI

  7.     '  ActiveWindow.ScrollRow = WR - 5           '  ¥uÅã¥Ü³Ì·s´Xµ§¸ê®Æ

  8.     Cells(WR, 1).NumberFormatLocal = "hh:mm:ss"
  9.    
  10.     If WR = 3 Then  '  Á`¶q¦³²§°Ê®É¤~°O¿ý
  11.         Cells(WR, 1).Resize(, 21) = [A2:U2].Value
  12.     Else
  13.         Cells(WR, 1) = [A2]
  14.         Range(Left(TG, 3) & WR) = Range(TG)
  15.         Range(Left(TG, 3) & WR).Offset(, -1) = Range(TG).Offset(, -1)
  16.     End If
  17. End Sub
½Æ»s¥N½X

TOP

¦^´_ 21# ÂŤÑÄR¦À
¼ÐÀY²Ä¤@¡B¤G¦C¤½¦¡½Ð¦Û¦æ¸É¤W (¦]§Ú¦¹ºÝµL±Ò°Ê¨é°Ó³nÅé¡A©Ò¥HµLªk¥[¤J¤½¦¡·|·Ó¦¨ExcelÀÉ®×  "µLªk¦^À³")
ªÑ²¼0.rar (18.82 KB)
¦Ü©ó¦p¦ó³B¸Ì¤é´Á°ÝÃD¡A§A¦A¦Û¦æ¥ý¬ã¨s¬Ý¬Ý¡C

TOP

        ÀR«ä¦Û¦b : µoµÊ®ð¬Oµu¼ÈªºµoºÆ¡C
ªð¦^¦Cªí ¤W¤@¥DÃD