Tải kết quả xổ số 3 miền về excel

Liên hệ QC

CHAOQUAY

Thành viên gắn bó
Tham gia
24/8/18
Bài viết
2,036
Được thích
2,448
Để chạy được file này, cần làm như sau:
Nhấn alt+F11
Nhấn alt+T+R -> tìm & tích chọn các mục như hình trong sheet "Hd" -> OK -> alt+Q.
Các hướng dẫn sử dụng ghi trong sheet Hd

---
File này lấy kết quả từ trang MinhNgoc.net
Các ngày nghỉ tết, nghỉ dịch ...là những ngày không có kết quả -> không thống kê

---
Hiệu chỉnh lại biến hd cho phù hợp với các định dạng ngày tháng "dd/mm/yyy" & "mm/dd/yyyy"
---
Bổ sung chuyển đổi số liệu 3 miền về hàng ngang.
 

File đính kèm

  • BacTrungNam.xlsb
    237.9 KB · Đọc: 237
  • BacTrungNam_hangNgang.xlsb
    275.4 KB · Đọc: 144
Lần chỉnh sửa cuối:
Mã:
Sub ThietlapReg()
Set Reg = CreateObject("VbScript.RegExp")
Reg.Global = True
Reg.Pattern = "\d+"
End Sub
Kể mà rảnh rảnh thì có khi m lại ngứa tay build lại theo đài ý nhỉ.
Nhưng lại mất công đọc để hiểu :D
 
Mã:
Sub ThietlapReg()
Set Reg = CreateObject("VbScript.RegExp")
Reg.Global = True
Reg.Pattern = "\d+"
End Sub
Kể mà rảnh rảnh thì có khi m lại ngứa tay build lại theo đài ý nhỉ.
Nhưng lại mất công đọc để hiểu :D
Bạn có vấn đề gì với đoạn code trên à?
build là gì í nhỉ?

Cái này viết lấy theo miền, có gì đâu mà mất công
 
Bạn có vấn đề gì với đoạn code trên à?
build là gì í nhỉ?

Cái này viết lấy theo miền, có gì đâu mà mất công
ko vấn đề gì :D. Thì VbScript.RegExp m đã mò mẫm bao giờ đâu :D.
Ý là bảo nếu m rảnh rảnh thì có khi ngồi sửa lại code của b sang theo đài ý :D.
Mà sửa lại thì lại cần hiểu nó dùng ntn chứ :D.
 
ko vấn đề gì :D. Thì VbScript.RegExp m đã mò mẫm bao giờ đâu :D.
Ý là bảo nếu m rảnh rảnh thì có khi ngồi sửa lại code của b sang theo đài ý :D.
Mà sửa lại thì lại cần hiểu nó dùng ntn chứ :D.
Lọc theo đài có vẻ có nhiều kiểu lắm bạn.
Người thích dọc, người thích ngang, rồi đầu trên đít dưới hay đít dưới đầu trên đa dạng lắm. Cái này tùy yêu cầu mà tính, không viết chung được
 
Lọc theo đài có vẻ có nhiều kiểu lắm bạn.
Người thích dọc, người thích ngang, rồi đầu trên đít dưới hay đít dưới đầu trên đa dạng lắm. Cái này tùy yêu cầu mà tính, không viết chung được
Đầu vào m thích nguyên gốc kiểu Web. Nếu kiểu thích nó đơn giản thì gộp vào cũng được. Còn hơi phức tạp thì viết cái riêng ra cho từng kiểu. Như cái chuyển dòng của b ý. ai thích gì thì viết lại thôi. Mà MN lên dòng ác thật. 210K dòng chưa xong. ko biết time up test này mất 1h bao nhiêu phút đây :D (Đang test code của b :D
 
1631554138977.png1631554541776.png1631554808618.png
Bảo sao lâu thế. ngồi tính số dòng từ năm 2008 đến giờ cũng chỉ hơn 100k dòng. hic
ví dụ thôi nhé. :D Ảnh cuối là bắtđầu sai :D từ 31/3/2020 nhé.
 
Lần chỉnh sửa cuối:
Máy tôi chạy bình thường, kết quả đúng số liệu của trang minhngoc.net.
Máy bạn cài đặt ngày tháng hệ thống thế nào?
dd/mm/yyyyy. khác của b.

nếu đặt từ 31/3 thì nó chỉ load đi load lại ngày 31/3. nếu đặt từ 1/1/2020 thì lỗi đến ngày 31/3 quay về 5/2
1631598475367.png1631598972808.png
đã test nếu đổi về mm/dd/yyyy thì đúng :D
Chỉ là thắc mắc là nếu do định dạng dmy và mdy vậy sao trước đó ko bị. hay do khi cả miền nghỉ nó mới tính sai.
 
Lần chỉnh sửa cuối:
dd/mm/yyyyy. khác của b.

nếu đặt từ 31/3 thì nó chỉ load đi load lại ngày 31/3. nếu đặt từ 1/1/2020 thì lỗi đến ngày 31/3 quay về 5/2
View attachment 266059View attachment 266060
đã test nếu đổi về mm/dd/yyyy thì đúng :D
Chỉ là thắc mắc là nếu do định dạng dmy và mdy vậy sao trước đó ko bị. hay do khi cả miền nghỉ nó mới tính sai.
Cái này đúng là xảy ra khi có ngày nghỉ.

File bài 1 cập nhật ở trên đã xử lý hết lỗi này, bạn test thử lại xem sao.
( Điều chỉnh biến hd về dạng text )
 
Thớt bị mod hốt cắt ngang sang thới mới nên không biết trước đó như thế nào, nhưng tôi thấy hình như chủ thớt là chủ và người giúp là nhân viên hay sao ấy.
 
Thớt bị mod hốt cắt ngang sang thới mới nên không biết trước đó như thế nào, nhưng tôi thấy hình như chủ thớt là chủ và người giúp là nhân viên hay sao ấy.
Không hiểu ý bạn, giao lưu bình thường, có gì là nhân viên với chủ ở đây đâu bạn
 
Lọc theo đài có vẻ có nhiều kiểu lắm bạn.
Người thích dọc, người thích ngang, rồi đầu trên đít dưới hay đít dưới đầu trên đa dạng lắm. Cái này tùy yêu cầu mà tính, không viết chung được
Cái này chuyển gốc sang 1 kiểu mảng. ngang dọc tuỳ ý.
sau thích dùng kiểu nào thì viết thêm từ đó ra là xong mà :D
sArr = Split(Elm.Children(0).innerText, vbCrLf) ====Arr = Elm.Children(0).innerText
nay mới xem. ngoài cái reg kia ra thì phát hiện ra cái này chưa biết :D.
Mấy hôm trước có xem mấy bài về children mà nó viết kiểu "for each" hic.
ví dụ như :D
Mã:
For Each TR In TRs
    r = r + 1
    For Each Cell In TR.Children
        c = c + 1
        Cells(r, c).NumberFormat = "@"
        Cells(r, c) = Cell.innerText
    Next Cell
    c = 0
Next TR
 
Cái này chuyển gốc sang 1 kiểu mảng. ngang dọc tuỳ ý.
sau thích dùng kiểu nào thì viết thêm từ đó ra là xong mà :D
sArr = Split(Elm.Children(0).innerText, vbCrLf) ====Arr = Elm.Children(0).innerText
nay mới xem. ngoài cái reg kia ra thì phát hiện ra cái này chưa biết :D.
Mấy hôm trước có xem mấy bài về children mà nó viết kiểu "for each" hic.
ví dụ như :D
Mã:
For Each TR In TRs
    r = r + 1
    For Each Cell In TR.Children
        c = c + 1
        Cells(r, c).NumberFormat = "@"
        Cells(r, c) = Cell.innerText
    Next Cell
    c = 0
Next TR
Làm 1 cái thống kê theo hàng ngang cho miền Nam đi bạn
 
Làm 1 cái thống kê theo hàng ngang cho miền Nam đi bạn
Mã:
Set iELM = iHTM.getElementsByClassName("content")(0)
iArr = Split(iELM.Children(0).innerText, vbCrLf)
            ReDim Res(0 To 3, 0 To 21) As String
            k = (UBound(iArr) - 10) / 20 - 1
            For j = 0 To 19
                For i = 0 To k
                    Res(i, 0) = iArr(0)
                    Res(i, 1) = iArr(1)
                    If i * 20 + 1 + j <= UBound(iArr) Then
                        Res(i, j + 2) = iArr(10 + i * 20 + 1 + j)
                    Else
                        Exit For
                    End If
                Next i
            Next j
            kNGAY = Format(iArr(1), "DD/MM/YYYY")

M Không thích chơi cả miền lên chỉ làm đại chạy là được :D. ai cần thì sửa thêm rồi chế cháo thôi :D
nhìn hơi rối nhưng sẽ rõ nghĩa cho những người mới. Cá nhân thấy để này đọc hiểu dễ hơn :D.
1631948392724.png
Đọc lại thấy thừa thừa :D. Còn sạch thì b nào tham khảo tự code lại nhé
Mã:
Set iELM = iHTM.getElementsByClassName("content")(0)
iArr = Split(iELM.Children(0).innerText, vbCrLf)
            ReDim Res(0 To 3, 0 To 21) As String
            k = (UBound(iArr) - 10) / 20 - 1
            For j = 0 To 19
                For i = 0 To k
                    Res(i, 0) = iArr(0)
                    Res(i, 1) = iArr(1)
                    Res(i, j + 2) = iArr(10 + i * 20 + 1 + j)                 
                Next i
            Next j
            kNGAY = Format(iArr(1), "DD/MM/YYYY")  '''''''''============= Dùng Đối số là ngày để kiểm tra nghỉ :D
 
Lần chỉnh sửa cuối:
Mở nhiều thớt dễ loạn. M ké chút nhé :D
Cái này làm cho Đài Nam. Trung thì cũng thế. Kiểu Ngang ==> Tuỳ biến thoải mái được. ;););)
Nhưng Bắc thì phải sửa lại thông số mà lười chưa làm.
Ngày lấy kết quả theo Lịch quay đã có sẵn Lịch và URL trong file và trong code.
Ngày Đã Chặn đầu - Chặn đuôi. Update xong tự cho Save luôn nhé
Đổi thông số Đài trong code và Update ngồi hút điếu thuốc là xong :D
Phạm vi sử dụng chỉ có thế. Nên có vài phần ko có như update thêm.
Xoá sạch đi cho nhanh.Update từ đầu. thêm nếm làm gì :D
 

File đính kèm

  • Get_MinhNgoc.xlsm
    206.5 KB · Đọc: 118
Lần chỉnh sửa cuối:
Mở nhiều thớt dễ loạn. M ké chút nhé :D
Cái này làm cho Đài Nam. Trung thì cũng thế. Kiểu Ngang ==> Tuỳ biến thoải mái được. ;););)
Nhưng Bắc thì phải sửa lại thông số mà lười chưa làm.
Ngày lấy kết quả theo Lịch quay đã có sẵn Lịch và URL trong file và trong code.
Ngày Đã Chặn đầu - Chặn đuôi. Update xong tự cho Save luôn nhé
Đổi thông số Đài trong code và Update ngồi hút điếu thuốc là xong :D
Phạm vi sử dụng chỉ có thế. Nên có vài phần ko có như update thêm.
Xoá sạch đi cho nhanh.Update từ đầu. thêm nếm làm gì :D
Hi, mình xem trên điện thoại thấy mỗi đài An Giang, lô đặc biệt có khi 6 số, khi 5 số. Nếu xem trên máy tính có đủ đài không bạn.
 
Hi, mình xem trên điện thoại thấy mỗi đài An Giang, lô đặc biệt có khi 6 số, khi 5 số. Nếu xem trên máy tính có đủ đài không bạn.
Mã:
If i = 3 Then
                        For j = 1 To Len(iArr(i))
                            If IsNumeric(Mid(iArr(i), j, 1)) = True Then GDB = GDB & Mid(iArr(i), j, 1)
                        Next j
                    End If
                    rArr(0, 4) = GDB                'Giai DB
                    If i >= 4 And i <= 14 Then rArr(0, 1 + i) = Right(iArr(i), 5)       'Giai 5S
                    If i >= 15 And i <= 18 Then rArr(0, 1 + i) = Right(iArr(i), 4)      'Giai 4S
                    If i = 19 Then rArr(0, 1 + i) = Right(iArr(i), 3)                   'Giai 3S
                    If i = 20 Then rArr(0, 1 + i) = Right(iArr(i), 2)                   'Giai 2S
                    'Chuoi = Chuoi & rArr(0, 1 + i)
Giải ĐB có lúc 5 số lúc 6 số. Tại vì cái thời điểm đó nó ko có cố định 5 số. M tách riêng GĐB ra mà :D. Chứ có dùng right đâu bạn
 
Web KT
Back
Top Bottom