返回列表 上一主題 發帖

價格紀錄的語法有寫錯嗎??

回復 85# GBKEE
G大跟你報告一下,測試後目前正常執行,如有問題我會再向您報告

TOP

回復 103# c_c_lai

股票.rar (25.01 KB)

C大,測試後,G大的可以正常執行,你的完全沒有動作

TOP

回復 103# c_c_lai

好的,感謝C大

TOP

本帖最後由 c_c_lai 於 2016-4-11 08:00 編輯

回復 102# 藍天麗池
「時間」位置點更改,請自行加點料。
「股票10A.xlsm」 裡的 RecordPrice()
  1.             '  .Cells(WR, cts).Offset(, -3).NumberFormatLocal = "hh:mm:ss"   '  設定儲存格格式 (時間)
  2.             .Cells(WR, cts).Offset(, 1).NumberFormatLocal = "hh:mm:ss"   '  設定儲存格格式 (時間)
複製代碼
以及 「股票10B.xlsm」 裡的 Worksheet_Calculate()
原本
  1.                         .Offset(1).Cells(1, -1).Resize(, 4) = Range(E.Name).Cells(, -1).Resize(, 4).Value
複製代碼
的上一行增加加上
  1.                         .Offset(1, 1).NumberFormatLocal = "hh:mm:ss"          '  設定儲存格格式 (時間)                  
  2.                         .Offset(1).Cells(1, -1).Resize(, 4) = Range(E.Name).Cells(, -1).Resize(, 4).Value
複製代碼

TOP

回復 99# c_c_lai

C大我已經改好了,這兩天讓你們費心了,十分感謝
明天測試後向兩位大大報告測試結果

TOP

本帖最後由 c_c_lai 於 2016-4-10 16:24 編輯

回復 98# 藍天麗池
股票10A.rar (22.07 KB)
股票10B.rar (23.52 KB)
  1. Sub RecordPrice(TG As Range)
  2.     Dim WR As Long, cts As Long
  3.    
  4.     With Sheets("RTD")
  5.         If .Range("A1") < 1 Then Exit Sub
  6.    
  7.         cts = TG.Column
  8.    
  9.         WR = .Cells(Rows.Count, cts).End(xlUp).Row + 1         '  求取該異動欄位的最後一筆紀錄列位置
  10.         
  11.         If WR = 3 Or .Cells(WR - 1, cts) <> .Cells(2, cts) Then
  12.             .Cells(WR, cts).Offset(, -3).NumberFormatLocal = "hh:mm:ss"   '  設定儲存格格式 (時間)
  13.             
  14.             '  修正為只寫入 『券商名』、『成交』、『總量』,「時間」則不予同步帶入
  15.             '  .Cells(WR, cts).Offset(, -2).Resize(, 3) = .Range(TG.Address).Offset(, -2).Resize(, 3).Value
  16.             .Cells(WR, cts).Offset(, -2).Resize(, 4) = .Range(TG.Address).Offset(, -2).Resize(, 4).Value
  17.         End If
  18.     End With
  19. End Sub
複製代碼
  1. Private Sub Worksheet_Calculate()
  2.     Dim Rng As Range, E As Variant
  3.    
  4.     '  Sheets("RTD") 工作表上任何有公式儲存格值有變動,啟動 Sheets("RTD") 的 Worksheet_Calculate 事件
  5.     On Error Resume Next                     '  檔案開啟時 DEE傳回錯誤值
  6.     Set Rng = UsedRange.Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
  7.    
  8.     If Not Rng Is Nothing Then Exit Sub
  9.     On Error GoTo 0                          '  開盤不再處理程式碼的錯誤
  10.             
  11.     For Each E In Me.Names
  12.         If E.Name Like "*TotalVolume*" Then   '  總量的名稱
  13.             If Range(E.Name) > 0 Then         '  總量 > 0
  14.                 With Cells(Rows.Count, Range(E.Name).Column).End(xlUp)
  15.                     '  總量名稱所在的最底列往上到有資料的儲存格
  16.                     If .Row = 2 Or .Row > 2 And .Value <> Range(E.Name).Value Then    '  (各股總量有變動)
  17.                         '  修正為只寫入 『券商名』、『成交』、『總量』,「時間」則不予同步帶入
  18.                         '  .Offset(1).Cells(1, -1).Resize(, 3) = Range(E.Name).Cells(, -1).Resize(, 3).Value
  19.                         .Offset(1).Cells(1, -1).Resize(, 4) = Range(E.Name).Cells(, -1).Resize(, 4).Value
  20.                     End If
  21.                 End With
  22.             End If
  23.         End If
  24.     Next
  25. End Sub
複製代碼
包含「時間」了。

TOP

回復 99# c_c_lai


    那目前只往下寫B2-D2,如果要改成往下寫B2-E2要更改哪邊呢??

TOP

回復 96# 藍天麗池
那你就將 "時間()" 刪除掉或不去執行它
不就得了。那是你原本的程式。我是不用它的。

TOP

回復 95# c_c_lai


    不用寫入時間指的是A欄,其他的要,抱歉,果然是我表達的有問題SORRY

TOP

回復 95# c_c_lai


    圖裡面的A欄不用寫入,我可能早上表達的不是很清楚,C大抱歉

TOP

        靜思自在 : 甘願做、歡喜受。
返回列表 上一主題