vietnam123
Thành viên mới
- Tham gia
- 4/9/07
- Bài viết
- 12
- Được thích
- 9
Bài tóan của mình là theo dõi chỉ số HaSTC-Index từ bảng giá
http://www5.sbsc.com.vn/priceboard/hoVnIndexAction.do
Rồi ghi nhận giá thấp nhất & cao nhất trong phiên.
Mình sử dụng macro sau:
Nôị dung là kiểm tra ô P1 xem có thay đổi dữ liệu không, nếu có kiểm tra với ô Q1 xem giá trị nào lớn nhất thì gán cho Q1.
Xin cảm ơn..
Hiện mình đang lấy bảng giá chứng khoán bằng Excel qua import data external. Mình đặt chế độ cứ 1 phút refresh 1 lần.
Sau đó dùng 1 hàm Macro thay dõi event_change để xử lý số liệu. Nếu dữ liệu thay đổi thì thực hiện lưu trữ dữ liệu mới vào dòng tiếp theo ở sheet2.
Tuy nhiên, có 1 vấn đề là khi chương trình tự refresh data thì Excel không nhận thấy event_change khi dữ liệu thay đổi mà chỉ khi mình trực tiếp sửa value thì mới ghi nhận.
Không biết các bạn có cách gì giúp mình không?
http://www5.sbsc.com.vn/priceboard/hoVnIndexAction.do
Rồi ghi nhận giá thấp nhất & cao nhất trong phiên.
Mình sử dụng macro sau:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
'Do nothing if more than one cell is changed or content deleted
If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub
' each time any cell in the range A1:A10 changes
' If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
'If our range of cells to monitor is a non-contiguous range we would use;
' If Not Intersect(Target, Range("A1,C1,E1")) Is Nothing Then
If Target.Address = "$P$1" Then
'Ensure target is a number before multiplying by 2
If IsNumeric(Target) Then
'Stop any possible runtime errors and halting code
On Error Resume Next
'Turn off ALL events so the Target * 2 does not _
put the code into a loop.
' Application.EnableEvents = False
If Range("Q1").Value < Target Then Range("Q1").Value = Target
'Turn events back on
' Application.EnableEvents = True
'Allow run time errors again
On Error GoTo 0
End If
End If
End Sub
Xin cảm ơn..
Hiện mình đang lấy bảng giá chứng khoán bằng Excel qua import data external. Mình đặt chế độ cứ 1 phút refresh 1 lần.
Sau đó dùng 1 hàm Macro thay dõi event_change để xử lý số liệu. Nếu dữ liệu thay đổi thì thực hiện lưu trữ dữ liệu mới vào dòng tiếp theo ở sheet2.
Tuy nhiên, có 1 vấn đề là khi chương trình tự refresh data thì Excel không nhận thấy event_change khi dữ liệu thay đổi mà chỉ khi mình trực tiếp sửa value thì mới ghi nhận.
Không biết các bạn có cách gì giúp mình không?
Chỉnh sửa lần cuối bởi điều hành viên: