Bài tập này cho thấy cách đọc dữ liệu từ một trang web, trong trường hợp này là tỷ giá hối đoái cập nhật từng phút từ Yahoo.com.
Giả sử 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”.
Điều kiện tiên quyết bao gồm kiến thức về cách điền các hộp tổ hợp và xác định tên.
Sổ làm việc bao gồm hai tờ:
Giao diện người dùng:
Hộp tổ hợp Mua và Bán tham chiếu bảng dữ liệu địa phương bên dưới.
Bảng tại D11 sẽ được tự động dán từ chính website, giữ nguyên định dạng của người dùng.
Xlsm cho bài tập này có thể được tải xuống đây.
Tự mình xây dựng ứng dụng.
Tạo một trang tính có hai hộp tổ hợp. Các hộp tổ hợp sẽ tham chiếu các ô trên trang tính thứ hai.
Các hộp tổ hợp cũng sẽ gọi mã để đọc trang web bằng cách sử dụng Thay đổi biến cố.
Tên tiền tệ có thể được dán vào bảng thứ hai (“Tiền tệ”) từ danh sách bên dưới, thứ tự sắp xếp tùy thuộc vào sở thích cá nhân:
| ZAR |
| USD |
| EUR |
| GBP |
| CHF |
| AUD |
| NZD |
| JPY |
| CAD |
| SEK |
| DKK |
| NOK |
| MUR |
| HKD |
| SGD |
| ILS |
| AED |
| INR |
| CNY |
Dán dữ liệu vào Cột B và E.
Xác định Tên và sử dụng các hàm Index theo hình minh họa:
Vì các tên đã được xác định trên bảng dữ liệu cục bộ “Tiền tệ”, nên bảng “Chính” chỉ tham chiếu đến các tên được xác định để nhận giá trị, tức là =BÁN và =BUY cho các ô “Chính” tương ứng là E10 và G10.
Chúng ta sẽ lập trình Excel để đọc web. Tuy nhiên, nó có quy trình tích hợp sẵn trên dải băng Dữ liệu, một phiên bản mà bạn có thể muốn ghi lại dưới dạng macro trong việc xây dựng các kịch bản khác nhau. Lưu ý rằng cấu hình máy tính hoặc trình duyệt có thể ảnh hưởng xấu đến tập lệnh của trang web.
Mật mã
Chèn một mô-đun và nhập thông tin sau:
Option Explicit
Sub Ticker()
Dim currBuy As String
Dim currSell As String
Range("D11:F14").ClearContents 'prepare the ground for the web data
currBuy = Range("BUY") 'get variable values from Defined Names previously set up
currSell = Range("SELL")
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://finance.yahoo.com/q?s=" & currBuy & currSell & "=X", Destination:=Range("$D$11"))
.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
End sub
Sub DropDown2_Change() 'This event will call the routine above. Object name might differ.
Call Ticker
End Sub
Sub DropDown1_Change()
Call Ticker
End Sub
Lưu sổ làm việc dưới dạng xlsm.
Kiểm tra mã bằng cách thay đổi giá trị của các hộp tổ hợp, sau đó cải tiến các định dạng của bảng được dán (bốn chữ số thập phân, đường lưới, bóng?).
Tệp Excel bị hỏng
Đôi khi, Excel được biết đến là làm hỏng các tệp khi lưu, sau đó thử quy trình tự phục hồi của chính nó mà theo kinh nghiệm của tôi, thường không hoạt động. Điều này có thể gây tai họa cho người dùng vì tệp nguồn (có thể là bản sao duy nhất của bạn) bị hủy. File Excel bị hỏng tuy nhiên có thể được sửa chữa bằng các công cụ của bên thứ ba, tiết kiệm đáng kể thời gian và công sức.
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 rar lưu trữ 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

