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)
Anh @HeSanbi có vẻ thích lập trình hàm nhỉ. Có điều theo ý kiến chủ quan của em, với đại đa số người dùng họ thích click hơn là viết hàm vì phải nhớ cấu trúc hàm...
-Trải nghiệm đầu tiên là rất hay treo ứng dụng, với lỗi 351.... (không kịp nhìn thì treo máy)
-Phần "Chép mã như dưới đây vào module dự án của bạn, để gán nút cập nhật dữ liệu." em nghĩ anh truyền luôn code vào phím đấy luôn thì hợp lý hơn nếu không thao tác em nghĩ chậm hơn so với mở file excel đã có code thời tiết cũ của anh và sử dụng
-Biết thêm được việc sử dụng hàm để làm vài việc khác ngoài tính toán....
Lỗi treo là do Add-in tự động chạy tìm bản Update mới, lỗi này chỉ xảy ra khi Excel chưa kịp khởi động xong
Gán nút trực tiếp đó phải là lập trình viên tự sao chép mã vào chính dự án. Nếu không sẽ dính liên kết ngoài.
Vì vậy mà Add-in không để gán thủ tục trực tiếp vào nút của dự án khác.
 
Upvote 0
Nhấn để tải về Add-in WeatherXL
(Để tải tại GiaiPhapExcel cần đăng nhập)

Link tải phụ tại Github:

-----------------------------------------------​

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:
Xin bác Sanbi hướng dẫn chèn ảnh động vào bài ạ. Em chèn file .gif mà nó toàn đứng yên như .jpg thôi ạ!
 
Upvote 0
@hoangtuan.net Gif này được lưu trữ tại server Github bạn nhé, tệp gif chỉ cần có nơi lưu trữ và có thể truy cập là được.
Github là sở hữu của Microsoft. Là kho lưu trữ cho dân lập trình.
 
Upvote 0
Nhấn để tải về Add-in WeatherXL
(Để tải tại GiaiPhapExcel cần đăng nhập)

Link tải phụ tại Github:

-----------------------------------------------​

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:
Xin bác Sanbi hướng dẫn chèn ảnh động vào bài ạ. Em chèn file .gif mà nó toàn đứng yên như .jpg thôi ạ!
@hoangtuan.net Gif này được lưu trữ tại server Github bạn nhé, tệp gif chỉ cần có nơi lưu trữ và có thể truy cập là được.
Github là sở hữu của Microsoft. Là kho lưu trữ cho dân lập trình.
Cảm ơn bác nhiều!
 
Upvote 0
Web KT

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

Back
Top Bottom