註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (0)
公共消息 (0)
論壇任務 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
麻辣家族討論版版
»
Excel程式區
» 價格紀錄的語法有寫錯嗎??
1
2
3
4
5
6
7
8
9
10
... 14
下一頁
返回列表
下一主題
上一主題
發帖
價格紀錄的語法有寫錯嗎??
藍天麗池
發短消息
加為好友
藍天麗池
當前離線
UID
12029
帖子
365
主題
40
精華
0
積分
406
金錢
406
點名
0
作業系統
Win 7
軟體版本
OFFICE 2003
閱讀權限
20
在線時間
152 小時
註冊時間
2012-12-11
最後登錄
2024-8-24
中學生
帖子
365
主題
40
精華
0
積分
406
點名
0
作業系統
Win 7
軟體版本
OFFICE 2003
閱讀權限
20
註冊時間
2012-12-11
最後登錄
2024-8-24
1
#
跳轉到
»
倒序看帖
打印
字體大小:
t
T
發表於 2016-3-17 23:18
|
只看該作者
價格紀錄的語法有寫錯嗎??
本帖最後由 藍天麗池 於 2016-3-17 23:24 編輯
除錯.rar
(36.73 KB)
下載次數: 16
2016-3-17 23:15
請問版上大大,我
上傳
的附件是一個價格變動就記錄的VBA,但是我在執行附件裡面的Macro1時,應該資料會刪掉,可是執行完後不但不會刪掉,還會馬上出現很多一樣的資料,請版上大大幫我看看這個語法有甚麼
問題
嗎??
我發現把旁邊的
公式
刪掉就正常了,這是什麼原因??可以修改成價格變動就紀錄且同時保有旁邊的公式嗎??
DDE
如果沒有可以用隨便的數字下去測試
樓主熱帖
請問此功能有其他的方式解決嗎?
關於資料比對的寫法
棘手的excel運算問題,如何改善??
請教如何修改程式來提高執行效率呢?
這種依時間運算的巨集要如何寫??
徵求高手幫我解決一下這個問題
如何去找離自己最近的值?
變動紀錄的程式
關於固定時間紀錄的修改
請問大大出現重複的值要怎麼抓相對應的值
收藏
分享
准提部林
發短消息
加為好友
准提部林
當前離線
UID
13768
帖子
2842
主題
10
精華
0
積分
2898
金錢
2898
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
在線時間
2115 小時
註冊時間
2013-5-13
最後登錄
2025-4-28
版主
帖子
2842
主題
10
精華
0
積分
2898
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
註冊時間
2013-5-13
最後登錄
2025-4-28
2
#
發表於 2016-3-18 09:54
|
只看該作者
http://forum.twbts.com/viewthread.php?tid=15062&highlight=
用 Worksheet_Calculate 事件!
是可以,但考慮層面較多,例如會產生〔連鎖觸動〕,要不是同一筆內容記錄成很多筆,
不然整個檔案就掛掉,您必須去控制事件發生的時機,在下載附檔中有個例子,可參考!
TOP
藍天麗池
發短消息
加為好友
藍天麗池
當前離線
UID
12029
帖子
365
主題
40
精華
0
積分
406
金錢
406
點名
0
作業系統
Win 7
軟體版本
OFFICE 2003
閱讀權限
20
在線時間
152 小時
註冊時間
2012-12-11
最後登錄
2024-8-24
中學生
帖子
365
主題
40
精華
0
積分
406
點名
0
作業系統
Win 7
軟體版本
OFFICE 2003
閱讀權限
20
註冊時間
2012-12-11
最後登錄
2024-8-24
3
#
發表於 2016-3-18 22:42
|
只看該作者
回復
2#
准提部林
大大謝謝你的好意,但我不會寫,只會簡單的修改,沒有範例就沒辦法了,不過還是謝謝你
TOP
c_c_lai
發短消息
加為好友
c_c_lai
當前離線
UID
8671
帖子
2035
主題
24
精華
0
積分
2031
金錢
2031
點名
0
作業系統
Win7
軟體版本
Office2010
閱讀權限
100
性別
男
在線時間
2394 小時
註冊時間
2012-3-22
最後登錄
2024-2-1
博士班
帖子
2035
主題
24
精華
0
積分
2031
點名
0
作業系統
Win7
軟體版本
Office2010
閱讀權限
100
性別
男
註冊時間
2012-3-22
最後登錄
2024-2-1
4
#
發表於 2016-3-21 13:04
|
只看該作者
回復
1#
藍天麗池
改用 Change 試試看!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$2" Then Call RecordPrice
End Sub
複製代碼
TOP
藍天麗池
發短消息
加為好友
藍天麗池
當前離線
UID
12029
帖子
365
主題
40
精華
0
積分
406
金錢
406
點名
0
作業系統
Win 7
軟體版本
OFFICE 2003
閱讀權限
20
在線時間
152 小時
註冊時間
2012-12-11
最後登錄
2024-8-24
中學生
帖子
365
主題
40
精華
0
積分
406
點名
0
作業系統
Win 7
軟體版本
OFFICE 2003
閱讀權限
20
註冊時間
2012-12-11
最後登錄
2024-8-24
5
#
發表於 2016-3-21 22:17
|
只看該作者
回復
4#
c_c_lai
好,謝謝C大
TOP
藍天麗池
發短消息
加為好友
藍天麗池
當前離線
UID
12029
帖子
365
主題
40
精華
0
積分
406
金錢
406
點名
0
作業系統
Win 7
軟體版本
OFFICE 2003
閱讀權限
20
在線時間
152 小時
註冊時間
2012-12-11
最後登錄
2024-8-24
中學生
帖子
365
主題
40
精華
0
積分
406
點名
0
作業系統
Win 7
軟體版本
OFFICE 2003
閱讀權限
20
註冊時間
2012-12-11
最後登錄
2024-8-24
6
#
發表於 2016-3-21 23:00
|
只看該作者
回復
4#
c_c_lai
C大請教一下這段程式碼要加在哪裡??
TOP
c_c_lai
發短消息
加為好友
c_c_lai
當前離線
UID
8671
帖子
2035
主題
24
精華
0
積分
2031
金錢
2031
點名
0
作業系統
Win7
軟體版本
Office2010
閱讀權限
100
性別
男
在線時間
2394 小時
註冊時間
2012-3-22
最後登錄
2024-2-1
博士班
帖子
2035
主題
24
精華
0
積分
2031
點名
0
作業系統
Win7
軟體版本
Office2010
閱讀權限
100
性別
男
註冊時間
2012-3-22
最後登錄
2024-2-1
7
#
發表於 2016-3-22 06:48
|
只看該作者
本帖最後由 c_c_lai 於 2016-3-22 06:53 編輯
回復
6#
藍天麗池
取代你原先 Sheets("RTD") 裡的 Worksheet_Calculate()。
又,你 目前 "模組1" RecordPrice 裡的 For ~ Next 運算式可以
用下列方式取代,以節省處裡時間:
' For I = 1 To 3
' Cells(WR, I) = Cells(2, I)
' Next I
Cells(WR, 1).Resize(, 3) = [A2:C2].Value
複製代碼
TOP
藍天麗池
發短消息
加為好友
藍天麗池
當前離線
UID
12029
帖子
365
主題
40
精華
0
積分
406
金錢
406
點名
0
作業系統
Win 7
軟體版本
OFFICE 2003
閱讀權限
20
在線時間
152 小時
註冊時間
2012-12-11
最後登錄
2024-8-24
中學生
帖子
365
主題
40
精華
0
積分
406
點名
0
作業系統
Win 7
軟體版本
OFFICE 2003
閱讀權限
20
註冊時間
2012-12-11
最後登錄
2024-8-24
8
#
發表於 2016-3-22 08:26
|
只看該作者
本帖最後由 藍天麗池 於 2016-3-22 08:32 編輯
回復
7#
c_c_lai
下載
(70.28 KB)
2016-3-22 08:26
下載
(70.88 KB)
2016-3-22 08:26
1. C大我不太懂,為什麼多了Cells(WR, 1).Resize(, 3) = [A2:C2].Value這一行程式碼執行數度會加快??
2.另外再請教你一個問題,如果目前是將A2-C2的資料往下寫,改成把資料放在C2-E2然後往下寫要怎麼改程式碼??
就是將圖一改成圖二,上圖不是改好的,是我用拉的
3.以下是J大寫的,請教C大用Excel.Application.EnableEvents 跟你的用change哪種比較快??
Excel.Application.EnableEvents = 0
WR = Range("A1").End(xlDown).Row + 1
'ActiveWindow.ScrollRow = WR - 5 '只顯示最新幾筆資料
If (WR = 3) Or _
(Range("B" & WR - 1) <> Range("B2")) Then '總量有異動時才記錄
For I = 1 To 3
Cells(WR, I) = Cells(2, I)
Next
End If
Excel.Application.EnableEvents = 1
TOP
c_c_lai
發短消息
加為好友
c_c_lai
當前離線
UID
8671
帖子
2035
主題
24
精華
0
積分
2031
金錢
2031
點名
0
作業系統
Win7
軟體版本
Office2010
閱讀權限
100
性別
男
在線時間
2394 小時
註冊時間
2012-3-22
最後登錄
2024-2-1
博士班
帖子
2035
主題
24
精華
0
積分
2031
點名
0
作業系統
Win7
軟體版本
Office2010
閱讀權限
100
性別
男
註冊時間
2012-3-22
最後登錄
2024-2-1
9
#
發表於 2016-3-22 12:04
|
只看該作者
回復
8#
藍天麗池
先回答你第一個問題:
If (WR = 3) Or _
(Range("B" & WR - 1) <> Range("B2")) Then ' 總量有異動時才記錄
For I = 1 To 3
Cells(WR, I) = Cells(2, I)
Next
End If
複製代碼
從 For ~ Next 改為下列一次功夫就填入值 (Assign Value) 的方式,
你說是哪個處理較快速?
If (WR = 3) Or _
(Range("B" & WR - 1) <> Range("B2")) Then ' 總量有異動時才記錄
Cells(WR, 1).Resize(, 3) = [A2:C2].Value
End If
複製代碼
TOP
藍天麗池
發短消息
加為好友
藍天麗池
當前離線
UID
12029
帖子
365
主題
40
精華
0
積分
406
金錢
406
點名
0
作業系統
Win 7
軟體版本
OFFICE 2003
閱讀權限
20
在線時間
152 小時
註冊時間
2012-12-11
最後登錄
2024-8-24
中學生
帖子
365
主題
40
精華
0
積分
406
點名
0
作業系統
Win 7
軟體版本
OFFICE 2003
閱讀權限
20
註冊時間
2012-12-11
最後登錄
2024-8-24
10
#
發表於 2016-3-22 12:10
|
只看該作者
回復
9#
c_c_lai
C大我會錯意了,剛剛沒看到你前面有 ',把程式mark掉所以我才覺得奇怪,看到後就沒問題了
TOP
靜思自在 :
道德是提昇自我的明燈,不該是呵斥別人的鞭子。
1
2
3
4
5
6
7
8
9
10
... 14
下一頁
返回列表
下一主題
上一主題
EXCEL專屬討論區
Excelㄧ般區
Excel程式區
進階應用專區
OFFICE 系列
Word
PowerPoint
Access
Office不分區
程式語言
VB 與 VB.Net
C 與 C#
Java 與 J#
程式設計不分區
資料庫
ORACLE
My SQL
MS SQL
網頁設計
ASP 與 ASP.NET
PHP
PHP+MySQL 入門實作
JavaScript
FLASH / ActionScript
HTM/ HTML/ CSS
網頁設計不分區
電腦與作業系統
電腦各種硬體討論
一般電腦軟體討論
論壇事務
管理公告
投訴反映
新手測試
愛 ‧ 生活
公益佈告欄
生活與感動
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]
申請友情鏈接
Facebook粉絲