Bài viết này cho biết cách làm mới trang tính hoặc biểu đồ theo định kỳ. Bài tập này xây dựng một bộ đếm thời gian làm mới trang tính sau mỗi một phút, phản ánh những thay đổi trong dữ liệu nguồn.
Bài viết này giả định rằng người đọc đã hiển thị dải băng Nhà phát triển và quen thuộc với Trình soạn thảo VBA. Nếu không, hãy Google “Excel Developer Tab” hoặc “Excel Code Window”.
Một ví dụ về sổ làm việc được sử dụng trong bài tập này có thể được tìm thấy đây.
Việc sử dụng báo cáo động có thể là:
- Đọc cơ sở dữ liệu độc quyền được cung cấp kèm theo hệ thống điện thoại của công ty bạn để phân tích các cuộc gọi.
- Tạo một số ngẫu nhiên cứ sau 15 phút cho mục đích giải thưởng hoặc xổ số.
- Tự động gửi email từ cơ sở dữ liệu cục bộ của bạn khi đáp ứng các mức nhất định. (ở đây bộ đếm thời gian sẽ quyết định có kích hoạt quy trình hay không, dựa trên các mức đạt được).
hoặc, cái chúng ta sẽ sử dụng:
- Hiển thị tỷ giá hối đoái USD/EUR mới nhất từ internet.
Dữ liệu được trích xuất từ Trang web tài chính của Yahoo mỗi một phút. Sau khi thử nghiệm thành công, nên thay thế một khoảng thời gian xử lý dài hơn.
Giao diện
Mở một sổ làm việc mới;
Đặt tên cho sheet đầu tiên là “Display”. Vì bảng D8 đến E11 sẽ được điền từ web nên không cần nhập các giá trị hoặc tiêu đề hàng. Phần còn lại là tùy chọn.
Mật mã
Mở cửa sổ mã VBA và chèn một mô-đun. Sao chép mã dưới đây vào mô-đun.
Sự kiện Auto_Open khởi động bộ hẹn giờ khi sổ làm việc được mở và dừng lại khi sổ làm việc đóng, trừ khi mã bị gián đoạn bởi nhà phát triển trong quá trình lập trình.
Sub Auto_Open()
AlertTime = Now + TimeValue("00:01:00") 'interval in minutes
Application.OnTime AlertTime, "Ticker" 'call Sub Ticker, below
End Sub
Sub Ticker()
Dim currBuy As String
Dim currSell As String
Range("D8:F11").ClearContents 'prepare the destination for the web data
currBuy = "USD"
currSell = "EUR"
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://finance.yahoo.com/q?s=" & currBuy & currSell & "=X", Destination:=Range("$D$8"))
.Name = "q?s=" & currSell & currBuy & "=X"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = """table1"""
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
AlertTime = Now + TimeValue("00:01:00") ‘move trigger on a minute
Application.OnTime AlertTime, "Ticker"
End Sub
Kết quả
Cứ sau n phút, bảng trong Trang tính “Hiển thị” sẽ được cập nhật từ trang web Yahoo. Tham khảo trang web của Microsoft để biết các kết nối dữ liệu phức tạp hơn.
Khôi phục sổ làm việc bị hỏng
Excel thường xuyên bị lỗi đột ngột, có thể do thiếu tài nguyên. Trong những trường hợp như vậy, tệp nguồn có thể bị hỏng không thể phục hồi và không thể mở lại. Nếu không thường xuyên sao lưu dữ liệu, cần có một công cụ để khôi phục. Excel bị hỏng tập tin sẽ là vô giá.
Giới thiệu tác giả:
Felix Hooker là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm sửa lỗi rar và các sản phẩm phần mềm phục hồi sql. Để biết thêm thông tin, hãy truy cập www.datanumennăm

