WeatherXL - Ứng dụng lấy dữ liệu Thời tiết siêu nhanh (*15/01/2024)

Liên hệ QC

Add-in lấy dữ liệu lịch sử Thời tiết hàng ngày vào bảng tính nhanh chóng

Bài viết này tôi chia sẻ với các bạn ứng dụng Excel sử dụng VBA lấy dữ liệu thời tiết từ nguồn FreeMeteo và TimeAndDate rất nhanh.

Giúp ích nhiều cho các bạn viết ứng dụng thi công công trình cần dữ liệu thời tiết.
----------------------------------


WeatherXL​

Dữ liệu thời tiết trực tuyến từ nguồn freeMeteo

WeatherXL


HƯỚNG DẪN SỬ DỤNG

Để Add-in lấy được thông tin từ Trang tính để thực hiện cập nhật dữ liệu, cần thực hiện các bước như hướng dẫn dưới đây.
Tạo các ô với các Name như sau: (Trong tab Formulas > Name Manager)
(Tạo name để tự động lấy thông tin tải và ghi dữ liệu)
Các ô bắt buộc:
1. Nguồn web: tên tt_Nguon
2. Từ ngày: tên tt_TuNgay
3. Đến ngày: tên tt_DenNgay
(Không cần tạo name tt_TuNgay tt_DenNgay khi có cột dữ liệu tên tt_TheoNgay)
Các ô cột dữ liệu:
Đặt ô với Name tên tt_DuLieu đại diện vùng sẽ ghi toàn bộ dữ liệu thông tin thời tiết vào trang tính.
Nếu muốn dữ liều các cột riêng lẻ hãy tạo Name như dưới đây:
Các Name phải tạo tại tiêu đề cột, Name nào không có thì bỏ qua không ghi dữ liệu.
4. Nhiệt độ (nhỏ - lớn): tên tt_NhietDo (giá trị: 24 / 28)
5. Nhiệt độ (<) nhỏ nhất: tên tt_NhietDo_Nho
6. Nhiệt độ (<) lớn nhất: tên tt_NhietDo_Lon
7. Ngày hoặc Theo Ngày:
+ Nếu tên tt_Ngay_Tang: với cột ngày sắp xếp tăng dần
+ Nếu tên tt_Ngay_Giam: với cột ngày sắp xếp giảm dần
+ Nếu tên tt_TheoNgay: khi dữ liệu cột ngày đã tồn tại, dữ liệu sẽ ghi vào dòng tương ứng ngày
(Không cần tạo name tt_TuNgay tt_DenNgay)
8. Mức gió ổn định tối đa: tên tt_MucGio
9. Gió giật tối đa: tên tt_GioGiat
10. Lượng mưa: tên tt_LuongMua
11. Mô tả: tên tt_MoTa
12. Hiện icon: tên tt_icon (Nếu name tồn tại thì Icon sẽ được thêm vào dòng dữ liệu)
Để tạo tất cả Name trên nhanh hơn, hãy gõ hàm =ThoiTiet_AddNames() vào ô bất kì, các Name sẽ tự động được tạo và cửa sổ Name Manager sẽ hiện lên để chỉnh sửa.
Để tạo trang tính có sẵn, hãy gõ hàm =ThoiTiet_Worksheet() vào ô bất kì,
Một trang tính mới sẽ được tạo vào dự án của bạn với giao diện đầy đủ.
Tìm vị trí vùng địa lý:
Gõ hàm =ThoiTiet_TimKiem("Hà Nội") sẽ tìm kiếm vùng+đường dẫn và ghi vào tại vị trí ô gõ hàm.
Bạn cần chép đường dẫn vị trí địa lý cần thiết vào ô Name tt_Nguon.


Gán nút nhấn:

Chép mã dưới đây vào module dự án của bạn, để gán nút cập nhật dữ liệu.
Mã sẽ tự động tìm kiếm Add-in và thực thi các lệnh.

JavaScript:
        Sub GetWeatherVN(Optional Direction&)
              WeatherXLCall "GetWeatherVN", Direction
        End Sub
        Sub ClearWeatherVN(Optional Direction&)
              WeatherXLCall "ClearWeatherVN", Direction
        End Sub
        Sub sortDataMeteoWeather(Optional Direction&)
              WeatherXLCall "sortDataMeteoWeather", Direction
        End Sub
        Sub sortDataTADWeather(Optional Direction&)
              WeatherXLCall "sortDataTADWeather", Direction
        End Sub
        Private Sub WeatherXLCall(Byval proc$, Optional Direction&)
            On Error Resume Next
            Dim a
            For Each a In Application.AddIns
                If a.Name Like "WeatherXL*" Then
                    Application.OnTime Now, "'" & a.Name & "'!'" & proc & " " & Direction & "'": Exit Sub
                End If
            Next
            MsgBox "Hay cai dat Add-in WeatherXL", vbInformation
            Err.clear
        End Sub

Gán tên GetWeatherVN vào nút nhấn cập nhật dữ liệu


Phiên bản cập nhật:

Trình tự động tìm kiếm bản cập nhật mới nhất tại Github
Để tìm bản cập nhật mới gõ hàm: =ThoiTiet_Update()
Để tắt gõ hàm: =ThoiTiet_UpdateOff()
Để bật gõ hàm: =ThoiTiet_UpdateOn()


Các bạn có thể tham khảo thêm các bài viết của tôi tại tag #sanbi udf

----------------------------------
Liên hệ hỗ trợ:

Liên hệ Facebook Messenger: Vo Truong Anh Tuan
Liên hệ Zalo: 0384170514
Quét QRCode Zalo:

z4135340916408_08dfdd87080de540fdaecdacb9209bd3.jpg


-----------------------------------
Các bạn có tham khảo thêm:
+ Ứng dụng lấy mã số thuế:


+ Ứng dụng gửi tin nhắn Zalo:


Các bài viết của tôi tại tag #sanbi udf


Tôi đã viết code cho ứng dụng lấy dữ liệu thời tiết rất nhanh nhờ vào tool do chính tôi viết ra.
Các bạn muốn học VBA nhanh nhất có thể hãy tham khảo tool hỗ trợ lập trình VBA:

(Để tải tại GiaiPhapExcel cần đăng nhập)
 

File đính kèm

Lần chỉnh sửa cuối:
Giải pháp
Đã có dự án WeatherXL Add-in

Nếu các bạn trước đây chỉ sử dụng ứng dụng thời tiết mà tôi đã viết. Khá bất tiện trong quá trình sử dụng để ứng dụng cho nhiều trường hợp mà bạn mong muốn, thì nay tôi đã phát triển ứng dụng thành Add-in để sử dụng thuận tiện hơn.

Mục tiêu add-in:

  1. Thiết lặp nhanh chóng
  2. Cập nhật thêm dữ liệu nếu dữ liệu chưa có, thay vì phải xóa đi toàn bộ và cập nhật lại từ đầu.

(Ứng dụng được đăng tại mục tài nguyên diễn đàn)
Bài viết đã cập nhật, các bạn xem lại bài viết chính.
 
Lần chỉnh sửa cuối:
Upvote 0
Excel của bạn hoạt động với ngôn ngữ tiếng Nhật,
Nhưng tôi không thể chuyển Window của mình sang tiếng Nhật để kiểm tra được.

Icon thời tiết định dạng PNG, Có thể do Office 32bit không hỗ trợ hiển thị PNG
Bạn thử vào Layout chọn Selection Pane click hiển thị 1 IconWheatherxxx xem có nhìn thấy không
vâng mà sao a biết máy e dùng ngôn ngữ nước ngoài hay vậy?
 
Upvote 0
Từ tháng 5 đến giờ thì Website Weather đã cập nhật mới rồi, phải sửa code lại. Các bạn chờ bản cập nhật.
Tại github:
Vâng em cảm ơn anh, mong anh giúp đỡ để mọi người có thể dùng để phục vụ công việc
 
Upvote 0
Từ tháng 5 đến giờ thì Website Weather đã cập nhật mới rồi, phải sửa code lại. Các bạn chờ bản cập nhật.
Tại github:
Em không tải được file Anh ạ. Anh cho em hỏi Anh có lấy được dữ liệu mưa không Anh
 
Upvote 0
***Đã cập nhật ứng dụng vào lúc: 15:50 25/1/2021

Bài viết này tôi chia sẻ với các bạn 2 file thực hiện lấy dữ liệu thời tiết từ nguồn AccuWeather

File WheatherAccu.xlsb với code thực hiện lấy dữ liệu đơn giản nên mất nhiều thời gian hơn.
Với WheatherAccu_Async.xlsb thì code rất phức tạp để sử dụng cơ chế Bất đồng bộ khi dùng phương thức Request HTTP, nên lấy dữ liệu rất nhanh nếu dữ liệu có nhiều tháng.


Sau khi sử dụng ứng dụng, nếu gặp vấn đề các bạn có thể đăng bài bên dưới để được giải đáp.


----------------------------------
View attachment 238362
Em chào anh, em chạy code thấy báo lỗi và định dạng ngày ở sheet (Thơif tiết (2)) lại không theo ngày/tháng/năm vậy anh?
Xin được anh giúp!
l1.pngl2.pngl3.png
 
Upvote 0
Em chào anh, em chạy code thấy báo lỗi và định dạng ngày ở sheet (Thơif tiết (2)) lại không theo ngày/tháng/năm vậy anh?
Xin được anh giúp!
Phiên bản bạn đang sử dụng chỉ có Sheet THỜI TIẾT HÀNG NGÀY hoạt động.
Các sheet còn lại tôi đang phát triển, do lười biếng phát triển thêm nên tôi đăng phiên bản này lên để tạm thời thôi.

Bạn cần kiểm tra TLS đã cài đặt chưa, để chạy bất đồng bộ:

Còn không thì bạn chạy thủ tục trong Module ..._Copy
 
Upvote 0
Phiên bản bạn đang sử dụng chỉ có Sheet THỜI TIẾT HÀNG NGÀY hoạt động.
Các sheet còn lại tôi đang phát triển, do lười biếng phát triển thêm nên tôi đăng phiên bản này lên để tạm thời thôi.

Bạn cần kiểm tra TLS đã cài đặt chưa, để chạy bất đồng bộ:

Còn không thì bạn chạy thủ tục trong Module ..._Copy
Vâng cảm ơn anh! mong anh phát triển các sheet còn lại để mọi người được ứng dụng.
 
Upvote 0
Phiên bản bạn đang sử dụng chỉ có Sheet THỜI TIẾT HÀNG NGÀY hoạt động.
Các sheet còn lại tôi đang phát triển, do lười biếng phát triển thêm nên tôi đăng phiên bản này lên để tạm thời thôi.

Bạn cần kiểm tra TLS đã cài đặt chưa, để chạy bất đồng bộ:

Còn không thì bạn chạy thủ tục trong Module ..._Copy
Em cài theo anh hướng dẫn mà chạy code vẫn không tác động anh.
Anh xem giúp em.
1111.png
 
Upvote 0

Ứng dụng Excel lấy dữ liệu Thời tiết siêu nhanh​


***Cập nhật mới nhất: 13:30 7/5/2021
+ Nguồn dữ liệu mới từ FreeMeteo.VN


Bài viết này tôi chia sẻ với các bạn ứng dụng Excel sử dụng VBA lấy dữ liệu thời tiết từ nguồn FreeMeteo và AccuWeather rất nhanh.
Giúp ích nhiều cho các bạn viết ứng dụng thi công trình cần dữ liệu thời tiết.

Ứng dụng sử dụng cơ chế Bất đồng bộ của HTTP nên có thể sẽ không hoạt động trên Window 32 bit. Hoặc máy tính các bạn sử dụng là máy công ty đã bị khóa truy cập.

Một số máy có thể không chạy do cài đặt UseAgent cho HTTP không phù hợp. Vì vậy nên các bạn cần cập nhật biến const UseAgent từ trình duyệt Chrome.


Các bạn có thể Liên hệ với tôi qua Facebook: https://m.me/he.sanbi/ để hỏi về ứng dụng.


Sau khi sử dụng ứng dụng, nếu gặp vấn đề các bạn có thể đăng bài bên dưới để được giải đáp.

----------------------------------

WeatherXL​

Dữ liệu thời tiết trực tuyến từ nguồn freeMeteo và AccuWeather

LocalizeXL
Sheet (THỜI TIẾT ACCU) em thấy thời gian ở cột A theo thứ tự tăng dần từ trên xuống dưới.
Sheet (THỜI TIẾT METEO) em thấy thời gian ở cột A theo thứ tự giảm dần, Anh có thể chỉnh lại để thời gian ở cột A trong Sheet (THỜI TIẾT METEO) cũng theo thứ tự tăng dần từ trên xuống dưới được không ạ?
Xin cảm ơn anh!
 
Upvote 0

QuangMinhtb

Bạn sửa bài viết xóa phần trích dẫn, chỉ @tên thôi.

Sheet (THỜI TIẾT METEO) Có mũi tên bạn chỉ cần click vào nó để điều chỉnh thứ tự sắp xếp
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom