返回列表 上一主題 發帖

[發問] DDE資料紀錄問題

回復 40# GBKEE
GBKEE  大大 您好;
今天套上去
還是無法執行 Book8.rar (12.89 KB)
請您幫我修正
(sorry,我幾乎沒有基礎)
slip

TOP

回復 41# slip
GBKEE  大大 晚安;
我又套進程式 Book9.rar (13.09 KB)
出現訊息如下

請您幫忙
謝謝+感恩
slip

TOP

回復 42# slip

未修改前 使用區塊形式語法:有End If
  1. If condition Then
  2. [statements]
  3. [ElseIf condition-n Then
  4. [elseifstatements]...
  5. [Else
  6. [elsestatements]]
  7. End If
複製代碼
  1.   If Not IsError(Sheets(1).[B2]) Then  '
  2.   '
  3. '
  4. End If
複製代碼
修改後 if 語法為
  1. If condition Then [statements][Else elsestatements
複製代碼
不用有 End If
  1. If Not IsError(Sh(1).[B2]) Then Sh(2).[A65536].End(xlUp).Offset(1).Resize(, 7) = Sh(1).[A2:G2].Value  '工作表1的資料DDE連結成功寫入工作表2
  2. '
  3. '
  4. '最後的 End If  要刪掉
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 43# GBKEE
大大,我真的很認真的試
可是還是不行
仍然出現錯誤訊息
Book9.rar (14.28 KB)
敬請幫忙
謝謝
slip

TOP

本帖最後由 c_c_lai 於 2013-8-4 07:27 編輯

回復 44# slip
  1. Sub GetDDE()
  2.     Dim T As Date, Sh(1 To 2), i As Long
  3.    
  4.     T = Now  '取得現在時間
  5.     Set Sh(1) = ThisWorkbook.Sheets(1)
  6.     Set Sh(2) = ThisWorkbook.Sheets(2)
  7.     If Not IsError(Sh(1).[B2]) Then Sh(2).[A65536].End(xlUp).Offset(1).Resize(, 7) = Sh(1).[A2:G2].Value  '工作表1的資料DDE連結成功寫入工作表2
  8.         With ThisWorkbook.Sheets(2).[A65536].End(xlUp).Offset(1)     '物件
  9.             i = .Row
  10.             .Range("H1") = .Range("D1") - .Range("C1")                  'H欗的公式=>D欗-C欗
  11.             .Range("I1") = .Range("H1") - .Range("H1").Offset(-1)       'I413=H413-H412......數列2
  12.             .Range("J1") = .Range("E1")                                 'J欗的公式=E欗
  13.             xMax = Application.Max(.Parent.[i:j])                       '最大值
  14.             xMin = Application.Min(.Parent.[i:j])                       '最小值
  15.             '**  .Parent.ChartObjects(1): 物件 (工作表的第1個圖表)  *****
  16.             With .Parent.ChartObjects(1).Chart
  17.                 .SeriesCollection(1).Values = .Parent.Parent.Range("i2:i" & i)              '指定數列資料的範圍
  18.                 .SeriesCollection(1).ChartType = 52                                         '指定數列圖表類型
  19.                 .SeriesCollection(2).Values = .Parent.Parent.Range("J2:J" & i)
  20.                 .SeriesCollection(2).ChartType = 65
  21.                 If .SeriesCollection(2).AxisGroup <> xlSecondary Then .SeriesCollection(2).AxisGroup = xlSecondary '數列不在第2Y座標軸(副座標): 數列指定到第2Y座標軸(副座標)
  22.                                                                                             '.AxisGroup = 2 ->  副座標
  23.                 .Parent.Top = .Parent.Parent.Range("L" & IIf(i <= 39, 1, i - 38)).Top       '指定圖表頂端的位置
  24.                With .Axes(xlValue)             'Y(主)座標軸
  25.                     .MinimumScale = Application.Min(.Parent.Parent.Parent.[I:I])                        '最小值
  26.                     .MaximumScale = Application.Max(.Parent.Parent.Parent.[I:I])                        '最大值
  27.                     .MajorUnitIsAuto = True      '主要刻度間距=自動設定
  28.                     .MinorUnitIsAuto = True      '次要刻度間距=自動設定
  29.                     .Crosses = xlAutomatic       '座標軸與其他座標軸交叉的點=自動設定
  30.                     .ScaleType = xlLinear        '數值座標軸的刻度類型=xlLinear
  31.                 End With
  32.                 With .Axes(xlValue, xlSecondary) 'Y(副)座標軸
  33.                     .MinimumScale = Application.Min(.Parent.Parent.Parent.[J:J])                        '最小值
  34.                     .MaximumScale = Application.Max(.Parent.Parent.Parent.[J:J])                        '最大值
  35.                     .MaximumScaleIsAuto = True
  36.                     .MajorUnitIsAuto = True
  37.                     .MinorUnitIsAuto = True
  38.                     .Crosses = xlAutomatic
  39.                     .ScaleType = xlLinear
  40.                 End With
  41.             End With
  42.         End With
  43.         Application.ScreenUpdating = True
  44.    Application.OnTime T + TimeValue("00:00:05"), "GetDDE"               '間隔5分鐘改成TimeValue("00:05:00"),
  45. End Sub
複製代碼
請加入 i As Long 的宣告以及   i = .Row。
網站圖片功能可能被異動了,故無法上傳圖片故改以貼示程式碼。

TOP

回復 45# c_c_lai
謝謝"c_c_lai "大大

早上有測試一下
出現狀況如圖
Book9.rar (14.36 KB)
請幫忙在看看
感恩
slip

TOP

本帖最後由 c_c_lai 於 2013-8-4 12:05 編輯
回復  c_c_lai
謝謝"c_c_lai "大大

早上有測試一下
出現狀況如圖

請幫忙在看看
感恩
slip 發表於 2013-8-4 10:38

你的程式既沒有起始、結束時段控制設定,且只要一啟動便會開始執行。
所以你目前得要考量開市時段的處裡,以及盤前盤後的狀況。
  1. If (Weekday(Date, 2) > 5 Or TimeValue(Now) > TimeValue("13:45:00") Then
  2.     '  每逢星期假日、或已關盤時, 則  ...  去唱個歌
  3. ElseIf TimeValue(Now) >= TimeValue("08:45:00") Then
  4.     '  認真來看盤吧!
  5. End If
複製代碼
僅提供參考,每個人的需求不同、判定方式亦也會有所出入。

TOP

回復 44# slip
c_c_lai  幫你解決了錯誤,你知道是那裡出錯嗎?
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 47# c_c_lai
謝謝"c_c_lai"大大;

我只有在開盤時才會使用此檔案
那我先不去做修改

週一開盤時執行,如有其它問題
再請教您

還有,謝謝您的"超級幽默"
slip

TOP

回復 48# GBKEE
GBKEE  大大午安;
我大約懂c_c_lai"大大的教導

也感謝大大們,無私+超有耐心的教導
slip

TOP

        靜思自在 : 慈悲沒有敵人,智慧不起煩惱。
返回列表 上一主題