註冊
登錄
首頁
論壇版規
禁止列表
說明
地圖
數位書香
私人消息 (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
帖子
2848
主題
10
精華
0
積分
2903
金錢
2903
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
在線時間
2122 小時
註冊時間
2013-5-13
最後登錄
2026-7-25
版主
帖子
2848
主題
10
精華
0
積分
2903
點名
0
作業系統
〔略〕
軟體版本
〔略〕
閱讀權限
100
性別
男
來自
〔略〕
註冊時間
2013-5-13
最後登錄
2026-7-25
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粉絲