請問高手要將以下DDE 每分鐘記錄改為30秒自動記錄一次要怎改
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
|
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
回復 57# devidlin
如你所言,可能就要透過 VB、或是其它語言工具 來完成了。
倘若只是土法煉鋼,那就是在 Excel 內另尋一區塊將此四個
運算放在一起,當作是一個標的來檢視。 |
|
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
回復 59# GBKEE - If xlTile <> "尚未開盤" Then
- Label1.Caption = S & [sheet1!K1] & S & [ROUND(sheet1!K2,3)]
- Label2.Caption = S & [sheet1!L1] & S & [ROUND(sheet1!L2,3)]
- Label3.Caption = S & [sheet1!M1] & S & [ROUND(sheet1!M2,3)]
- Label4.Caption = S & [sheet1!N1] & S & [ROUND(sheet1!N2,3)]
- End If
複製代碼 須更正為:- If xlTile <> "尚未開盤" Then
- Label1.Caption = S & Sheet2.[K1] & S & Round(Sheet2.[K2], 3)
- Label2.Caption = S & Sheet2.[L1] & S & Round(Sheet2.[L2], 3)
- Label3.Caption = S & Sheet2.[M1] & S & Round(Sheet2.[M2], 3)
- Label4.Caption = S & Sheet2.[N1] & S & Round(Sheet2.[N2], 3)
- End If
複製代碼 否則會出現錯誤訊息。 |
|
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
回復 61# devidlin
元大-盤中DDE紀錄1015一經啟動,便同時會開啟UserForm(表單),
一旦開啟UserForm(表單)後,所有畫面控制權便由表單掌控,此時是
無法切換工作表單的 (如想要閱覽非目前工作表單之內容)。
為解決此困惱,我增加了一個按鈕 "摩台價差",當你關閉(X)UserForm(表單)後,
你可以透過 "摩台價差"按鈕再次開啟它,此動作是不會引響 DDE 之正常匯入。
雖然會感覺有些不方便,但習慣就好了。
同時在此也要謝謝 GBKEE 版大的協助與指導!
元大-盤中DDE紀錄1015.rar (30.17 KB)
|
|
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
回復 64# GBKEE
我將
1. Private Sub showUsrForm() 改成 Sub showUsrForm()
2. 下面兩個涵式各加入showUsrForm。- Sub 摩台價差()
- If UserForm1.Visible = False Then
- UserForm1.Show
- showUsrForm
- Else
- UserForm1.Hide
- End If
- End Sub
複製代碼 和- Private Sub UserForm_Initialize() ' UserForm(表單) 初始化時的事件程序
- Dim i As Integer
- ' 請先在UserForm(表單) 加入4個 Label控制項
- ' 系統自動命名(Label1, Label2 , Label3 , Label4)
- ' 請自行調整 4個 Label控制項 的位置,長,寬,高
-
- For i = 1 To 4
- With Me.Controls("Label" & i)
- .TextAlign = 1 ' fmTextAlignCenter
- .Font.Bold = True
- .Font.Size = 15
- .SpecialEffect = fmSpecialEffectEtched
- End With
- Next
- If Caption = "UserForm1" Then Caption = Format(Now, "Dddddd ttttt ")
- ThisWorkbook.showUsrForm
- End Sub
複製代碼 視覺感就OK了。 |
|
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
回復 66# GBKEE
我知道,這是故意放上的,因一開始會顯示 UserForm1 不好看才放上的,
謝謝您!
順便請教,在如何自動篩選+存到新工作表裡,最後為什麼要 .Rows(xlRow).Delete
刪除 xlRow 那筆紀錄呢? 因為它有 2 筆呢。 |
|
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
回復 68# minyow
間格時段可依你個人需求予以更動的,
譬如: 一秒、五秒、十秒、二十秒、三十秒等,
亦或是一分、五分、十分、二十分、三十分。
你只要異動間格時段該欄位值即可,非常方便。
盤中修正它會在異動後之下一輪迴自動修正的。 |
|
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
回復 69# GBKEE
我指的是:- Option Explicit
- Sub Ex()
- Dim Car_No As String, xlRow As Integer
-
- With Sheet1
- .Activate
- .AutoFilterMode = False
-
- Car_No = InputBox("請輸入車號")
- If Car_No = "" Then MsgBox "沒輸入 車號 ??" & Car_No: Exit Sub
-
- .Rows(2).Cells(1).AutoFilter Field:=9, Criteria1:=UCase(Car_No) ' 9 - 車號
- ' AutoFilter 執行完畢後,此時工作表單內容僅會顯示與Car_No條件吻合之資料項。
- ' 假設原有5筆紀錄,而吻合條件的只有2筆,那此時表單內容只顯示出那2筆資料錄。
- xlRow = .Rows(2).Cells(9).End(xlDown).Row
-
- If xlRow <> Rows.Count Then ' Rows.Count = 65536
- .Cells.SpecialCells(xlCellTypeVisible).Copy ' 將表單內所有內容複製。
- Else
- MsgBox "找不到 車號 !! " & Car_No: Exit Sub
- End If
-
- With Sheets.Add(, Sheets("sheet1")) ' 在原sheet1後新增一個工作表單(工作表1)
- .Paste ' 將複製之所有內容貼入至新表單內。
- Application.CutCopyMode = False
- .Name = .[i3] ' 將新增之工作表單,命名為Car_No的內容。
- .[a1].Select ' 將游標移至 A1 欄位上。
- End With
-
- .Rows(xlRow).Delete ' 將原sheet1內第xlRow列資料項刪除掉。([color=Red]Why?[/color])
- .AutoFilterMode = False
- .Activate
- End With
- End Sub
複製代碼 |
|
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
回復 70# c_c_lai
附上執行後之圖示畫面:
|
|
|
|
|
|
|
|
- 帖子
- 2035
- 主題
- 24
- 精華
- 0
- 積分
- 2031
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office2010
- 閱讀權限
- 100
- 性別
- 男
- 註冊時間
- 2012-3-22
- 最後登錄
- 2024-2-1
|
回復 73# GBKEE
因為我非正科班出身,這行語法內的 Offset(2) 指的是?
是從第一列起算之下兩行 (即第三列) 起刪除,還是?
如果他有三列以上吻合條件的資料項又是如何處理? |
|
|
|
|
|
|
|