標題:
[發問]
有的高手可以幫我嗎?
[打印本頁]
作者:
ms2001
時間:
2010-7-30 23:09
標題:
有的高手可以幫我嗎?
A B C
1 代號 名稱 漲跌幅
2 2317 鴻海 +1 %
3 2303 聯電 -1.5%
4 2454 聯發科 +2.3%
5 2498 宏達電 +6.9%
6 2501 國建 +3.1%
7 3008 大立光 +5.2%
以上資料,C欄是動態的,隨時會改變(由DDE導入),如何把漲3%以上的股票代碼跟名稱傳送到SHEET2指定的欄位,
並將最新的資料放在最上頭,舊的資料往下移,舊的第四筆後就刪除;當新的資料出來時,同時跳出BOX提醒。如下:
A B C
1 代號 名稱 漲跌幅
2 3008 大立光 +5.2% <---最新一筆
3 2498 宏達電 +6.9% 二
4 2501 國建 +3.1% 三
.
.
以下自動刪除
--------------------------------------------------------------------
以上,感恩~
有的高手可以幫我嗎?
作者:
GBKEE
時間:
2010-8-1 07:19
本帖最後由 GBKEE 於 2010-8-1 17:01 編輯
回復
1#
ms2001
這是Sheet1工作表物件事件的程式碼
Private Sub Worksheet_Calculate()
Dim i, F
i = 1
With Sheet2
.Range(.Range("A1"), .Range("A1").End(xlDown)).Resize(, 3).Clear
End With
Do
Set F = [C:C].Find(Application.Large([C:C], i), LookIn:=xlValues)
If F Is Nothing Then Exit Do
If F >= 0.03 Then
Sheet2.Range("A1")(i).Resize(, 3).Value = Range(F(1, -1), F).Value
i = i + 1
If i > [Count(C:C)] Then Exit Do
Else
Exit Do
End If
Loop
MsgBox "更新完畢"
End Sub
複製代碼
作者:
ms2001
時間:
2010-8-2 16:40
謝謝,真的幫了我一個大忙。
再請教,當我的代碼如果是 0 開頭的,如:04197,富邦DG,它帶入SHEET2時,只會顯示4197,前面的0不見了,要如何修改?先謝謝你了!
作者:
GBKEE
時間:
2010-8-2 18:47
回復
3#
ms2001
試試看
If F >= 0.03 Then
Range(F(1, -1), F).Copy Sheet2.Range("A1")(i)
i = i + 1
If i > [Count(C:C)] Then Exit Do
Else
Exit Do
End If
End If
作者:
ms2001
時間:
2010-8-2 20:44
成功了,非常感謝版大~感恩喔~
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)