Lớp học GPE tháng 10 - TPHCM: Conditional Formatting và Data Validation (tối 4, 6/10) | Excel cơ bản (tối 9, 11, 13/10) |
Thuần thục các hàm dò tìm (tối 10, 12/10) | Tất tần tật về PivotTable (tối 16, 18, 20/10) |
Tất tần tật về Filter và Advanced Filter (tối 23, 25/10) | Name động và biểu đồ (tối 24, 26, 28/10)

Đăng ký học Khởi đầu cùng Google Spreadsheet - 2 chủ nhật 1 và 8/10 - TPHCM

Đăng ký học Xây dựng ứng dụng Form bằng VBA - 2 chủ nhật 15 và 22/10 - TPHCM

Viết code VBA sử dụng Scripting.Dictionary để tổng hợp dữ liệu

Thảo luận trong 'Lập Trình với Excel' bắt đầu bởi vanthinh3101, 13 Tháng chín 2017.

  1. vanthinh3101

    vanthinh3101 Thành viên thường trực

    Kính gửi mọi người,
    Tôi đang tìm hiểu về Scripting.Dictionary.
    Tôi có ví dụ theo file đính kèm cần tổng hợp dữ liệu.
    Thông thường, tôi có thể sử dụng PivotTable để giải quyết bài này nhưng tôi muốn được mọi người chỉ cho các dùng Scripting.Dictionary.
    Vướng mắc của tôi khi dùng Scripting.Dictionary trong trường hợp này là khi Dic.Add thì chỉ được 1 Item, trong khi có 5 sản phẩm.
    Mong được mọi người giúp đỡ
     

    Các file đính kèm:

    GTK-PM thích bài này.
  2. PacificPR

    PacificPR Thành viên tiêu biểu

    Bạn cứ Add Item thoải mái chứ 5 sản phẩm thì ăn thua gì :D
     

    Các file đính kèm:

    GTK-PM, vanthinh3101, quocgiacan2 người khác thích bài viết này.
  3. xì tin

    xì tin Thành viên chính thức

    Dùng ADO trong trường hợp này thì quá đơn giản.
     
    vanthinh3101 thích bài này.
  4. befaint

    befaint |||||||||||||

    Hơi khó hiểu?

    upload_2017-9-13_19-35-17.png
     
    GTK-PMPacificPR thích bài viết này.
  5. hpkhuong

    hpkhuong Mới tôt nghiệp Mẫu giáo

    Tôi ngồi chơi xơi nước cũng còn thấy đơn giản hơn a đê ô í chứ...:D:D:D
     
    GTK-PM, vanthinh3101befaint thích bài viết này.
  6. xì tin

    xì tin Thành viên chính thức

    Thì tôi nói dùng ADO trong trường hợp này chứ tôi cũng thừa biết là chủ thớt muốn dùng Dic. Đó là thêm trường hợp để chủ thớt có thêm sự chọn lựa. Có gì đâu mà khó hiểu???
     
    vanthinh3101 thích bài này.
  7. VetMini

    VetMini Thành viên gạo cội

    Bài này dùng Pivot Table là đúng nhất. Và chủ thớt có nói là mình biết rồi. Còn gì nữa để chọn lựa.
     
    vanthinh3101 thích bài này.
  8. Mutants Men

    Mutants Men Thành viên thường trực

    cái này em cũng không biết nhiều, chắc múa rìu qua mắt thợ chút
    theo em nghĩ chắc thớt muốn thêm số lượng item ấy, còn Key add vào là xong chứ gì
    chỗ Array (1,2,3) có thể làm trước đó rồi Add vào Key
    Mã:
    Sub ViDu()
        Dim Dic As Scripting.Dictionary:        Set Dic = New Scripting.Dictionary
        'Dim Dic As Object:      Set Dic = CreateObject("Scripting.Dictionary")
            With Dic
            'Dic.Add KEY, ITEM
            .Add "Key1", Array(1, 2, 3)
            .Add "Key2", Array(4, 5, 6)
            .Add "Key3", Array(7, 8, 9)
            End With
            'Xem gia tri Item cua Key 1, mac dinh Item ban dau la 0
            MsgBox Dic.Item("Key1")(0)
            MsgBox Dic.Item("Key1")(1)
            MsgBox Dic.Item("Key1")(2)
            Set Dic = Nothing
    End Sub
    

    hi vọng phần nào giúp chủ thớt biết thêm cách lấy giá trị cần tham chiếu đến
     
    vanthinh3101PacificPR thích bài viết này.
  9. PacificPR

    PacificPR Thành viên tiêu biểu

    Hi Hi... "Cái này em cũng không biết nhiều". Thật là khiêm tốn quá đi :p
     
    GTK-PM thích bài này.
  10. VetMini

    VetMini Thành viên gạo cội

    Chỉ hiệu quả khi số phần tử của array không xác định; số sản phẩm không xác định. Thường là sử dụng cho CSDL đã chuẩn bậc 1
    Ở đây là bài toán tính tổng hợp dữ liệu đã crosstab. Dùng thẳng mảng trong bộ nhớ để tính tổng hợp nhanh hơn lấy ra từ dic.
     
    vanthinh3101PacificPR thích bài viết này.
  11. PacificPR

    PacificPR Thành viên tiêu biểu

    Thầy ơi. Thầy hướng dẫn cho em cách này với ạ.
     
    GTK-PM thích bài này.
  12. vanthinh3101

    vanthinh3101 Thành viên thường trực

    Em cám ơn bác.
    Em đã nắm được cách làm :)
     
    GTK-PM thích bài này.
  13. vanthinh3101

    vanthinh3101 Thành viên thường trực

    Dạ, em cũng biết điều này.
    Có điều em chưa tìm hiểu về ADO nên em chưa làm được.
    Mà em thấy ADO có vẻ "khó nhằn" nên em tìm hiểu cái dễ trước ah.
     
    GTK-PM thích bài này.
  14. vanthinh3101

    vanthinh3101 Thành viên thường trực

    Em muốn tìm hiểu để có thêm các cách xử lý dữ liệu bác ah.
     
    GTK-PM thích bài này.

Chia sẻ trang này