Add-in Input From List - Hỗ trợ nhập liệu từ danh mục có sẵn (4 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

  • Mong anh giúp ạ!

    Thân anh Hữu Thắng ! Em đang có việc muốn thỉnh giáo anh ạ. Trả là em đang có 1 file công việc rất nặng và cũng sử dụng add in của anh. nhưng hiện tại do code dài quá nên tính toán cực chậm. Vậy em up lên mong anh giúp đỡ, chỉ giáo e thêm về các rút ngọn Code và tăng tốc tính Marcro đc không ạ. Em xin cảm ơn.
    (File của em đuôi XLSM, e xài off2010 nhưng hình như không úp lên đc vậy em đưa code lên anh giúp e với ạ!
    Sub SAVE()
    'dat ten cho cac o bên "from"
    Sheets("Form").Select
    Ten = Range("d5").Value
    DiaChi = Range("d6").Value
    Phone = Range("d7").Value
    loaixe = Range("h5").Value
    bienso = Range("h6").Value
    suachuachinh = Range("h7").Value
    thosua = Range("h10").Value
    SOPHIEU = Range("i4").Value
    ngay = Range("e4").Value
    'Dat tên cho ten hang
    dv1 = Range("d14").Value
    dv2 = Range("d15").Value
    dv3 = Range("d16").Value
    dv4 = Range("d17").Value
    dv5 = Range("d18").Value
    dv6 = Range("d19").Value
    dv7 = Range("d20").Value
    dv8 = Range("d21").Value
    dv9 = Range("d22").Value
    dv10 = Range("d23").Value
    dv11 = Range("d24").Value
    dv12 = Range("d25").Value
    dv13 = Range("d26").Value
    dv14 = Range("d27").Value
    dv15 = Range("d28").Value
    dv16 = Range("d29").Value
    dv17 = Range("d30").Value
    dv18 = Range("d31").Value
    dv19 = Range("d32").Value
    dv20 = Range("d33").Value
    dv21 = Range("d34").Value
    dv22 = Range("d35").Value
    pttt1 = Range("d40").Value
    'dat ten mã hàng
    mh1 = Range("c14").Value
    mh2 = Range("c15").Value
    mh3 = Range("c16").Value
    mh4 = Range("c17").Value
    mh5 = Range("c18").Value
    mh6 = Range("c19").Value
    mh7 = Range("c20").Value
    mh8 = Range("c21").Value
    mh9 = Range("c22").Value
    mh10 = Range("c23").Value
    mh11 = Range("c24").Value
    mh12 = Range("c25").Value
    mh13 = Range("c26").Value
    mh14 = Range("c27").Value
    mh15 = Range("c28").Value
    mh16 = Range("c29").Value
    mh17 = Range("c30").Value
    mh18 = Range("c31").Value
    mh19 = Range("c32").Value
    mh20 = Range("c33").Value
    mh21 = Range("c34").Value
    mh22 = Range("c35").Value
    'dat ten So luong
    sl1 = Range("f14").Value
    sl2 = Range("f15").Value
    sl3 = Range("f16").Value
    sl4 = Range("f17").Value
    sl5 = Range("f18").Value
    sl6 = Range("f19").Value
    sl7 = Range("f20").Value
    sl8 = Range("f21").Value
    sl9 = Range("f22").Value
    sl10 = Range("f23").Value
    sl11 = Range("f24").Value
    sl12 = Range("f25").Value
    sl13 = Range("f26").Value
    sl14 = Range("f27").Value
    sl15 = Range("f28").Value
    sl16 = Range("f29").Value
    sl17 = Range("f30").Value
    sl18 = Range("f31").Value
    sl19 = Range("f32").Value
    sl20 = Range("f33").Value
    sl21 = Range("f34").Value
    sl22 = Range("f35").Value
    'dat ten Don gia
    dg1 = Range("g14").Value
    dg2 = Range("g15").Value
    dg3 = Range("g16").Value
    dg4 = Range("g17").Value
    dg5 = Range("g18").Value
    dg6 = Range("g19").Value
    dg7 = Range("g20").Value
    dg8 = Range("g21").Value
    dg9 = Range("g22").Value
    dg10 = Range("g23").Value
    dg11 = Range("g24").Value
    dg12 = Range("g25").Value
    dg13 = Range("g26").Value
    dg14 = Range("g27").Value
    dg15 = Range("g28").Value
    dg16 = Range("g29").Value
    dg17 = Range("g30").Value
    dg18 = Range("g31").Value
    dg19 = Range("g32").Value
    dg20 = Range("g33").Value
    dg21 = Range("g34").Value
    dg22 = Range("g35").Value
    ' dat ten giam gia
    gg1 = Range("h14").Value
    gg2 = Range("h15").Value
    gg3 = Range("h16").Value
    gg4 = Range("h17").Value
    gg5 = Range("h18").Value
    gg6 = Range("h19").Value
    gg7 = Range("h20").Value
    gg8 = Range("h21").Value
    gg9 = Range("h22").Value
    gg10 = Range("h23").Value
    gg11 = Range("h24").Value
    gg12 = Range("h25").Value
    gg13 = Range("h26").Value
    gg14 = Range("h27").Value
    gg15 = Range("h28").Value
    gg16 = Range("h29").Value
    gg17 = Range("h30").Value
    gg18 = Range("h31").Value
    gg19 = Range("h32").Value
    gg20 = Range("h33").Value
    gg21 = Range("h34").Value
    gg22 = Range("h35").Value
    'tu dong luu vao danh sach khách hàng
    Sheets("danhsach").Select
    n = Range("A1").Value
    Range("b1").Select
    ActiveCell.Offset(n + 3, 0).Value = ngay
    ActiveCell.Offset(n + 3, 1).Value = bienso
    ActiveCell.Offset(n + 3, 2).Value = Ten
    ActiveCell.Offset(n + 3, 3).Value = DiaChi
    ActiveCell.Offset(n + 3, 4).Value = Phone
    ActiveCell.Offset(n + 3, 5).Value = loaixe
    ActiveCell.Offset(n + 3, 6).Value = suachuachinh
    ActiveCell.Offset(n + 3, 7).Value = thosua
    ActiveCell.Offset(n + 3, 8).Value = SOPHIEU
    ActiveCell.Offset(n + 3, 9).Value = dv1 + ", " + dv2 + ", " + dv3 + ", " + dv4 + ", " + dv5 + ", " + dv6 + ", " + dv7 + ", " + dv8 + ", " + dv9 + ", " + dv10 + ", " + dv11 + ", " + dv12 + ", " + dv13 + ", " + dv14 + ", " + dv15 + ", " + dv16 + ", " + dv17 + ", " + dv18 + ", " + dv19 + ", " + dv20 + ", " + dv21 + ", " + dv22
    ActiveCell.Offset(n + 3, 10).Value = pttt1
    'giam gia sang "xuat"
    Sheets("xuat").Select
    n = Range("k2").Value
    Range("h5").Select
    ActiveCell.Offset(n + 2, 1).Value = gg1
    ActiveCell.Offset(n + 3, 1).Value = gg2
    ActiveCell.Offset(n + 4, 1).Value = gg3
    ActiveCell.Offset(n + 5, 1).Value = gg4
    ActiveCell.Offset(n + 6, 1).Value = gg5
    ActiveCell.Offset(n + 7, 1).Value = gg6
    ActiveCell.Offset(n + 8, 1).Value = gg7
    ActiveCell.Offset(n + 9, 1).Value = gg8
    ActiveCell.Offset(n + 10, 1).Value = gg9
    ActiveCell.Offset(n + 11, 1).Value = gg10
    ActiveCell.Offset(n + 12, 1).Value = gg11
    ActiveCell.Offset(n + 13, 1).Value = gg12
    ActiveCell.Offset(n + 14, 1).Value = gg13
    ActiveCell.Offset(n + 15, 1).Value = gg14
    ActiveCell.Offset(n + 16, 1).Value = gg15
    ActiveCell.Offset(n + 17, 1).Value = gg16
    ActiveCell.Offset(n + 18, 1).Value = gg17
    ActiveCell.Offset(n + 19, 1).Value = gg18
    ActiveCell.Offset(n + 20, 1).Value = gg19
    ActiveCell.Offset(n + 21, 1).Value = gg20
    ActiveCell.Offset(n + 22, 1).Value = gg21
    ActiveCell.Offset(n + 23, 1).Value = gg22
    'ma hang sang "xuat"
    Sheets("xuat").Select
    n = Range("K2").Value
    Range("C5").Select
    ActiveCell.Offset(n + 2, 1).Value = mh1
    ActiveCell.Offset(n + 3, 1).Value = mh2
    ActiveCell.Offset(n + 4, 1).Value = mh3
    ActiveCell.Offset(n + 5, 1).Value = mh4
    ActiveCell.Offset(n + 6, 1).Value = mh5
    ActiveCell.Offset(n + 7, 1).Value = mh6
    ActiveCell.Offset(n + 8, 1).Value = mh7
    ActiveCell.Offset(n + 9, 1).Value = mh8
    ActiveCell.Offset(n + 10, 1).Value = mh9
    ActiveCell.Offset(n + 11, 1).Value = mh10
    ActiveCell.Offset(n + 12, 1).Value = mh11
    ActiveCell.Offset(n + 13, 1).Value = mh12
    ActiveCell.Offset(n + 14, 1).Value = mh13
    ActiveCell.Offset(n + 15, 1).Value = mh14
    ActiveCell.Offset(n + 16, 1).Value = mh15
    ActiveCell.Offset(n + 17, 1).Value = mh16
    ActiveCell.Offset(n + 18, 1).Value = mh17
    ActiveCell.Offset(n + 19, 1).Value = mh18
    ActiveCell.Offset(n + 20, 1).Value = mh19
    ActiveCell.Offset(n + 21, 1).Value = mh20
    ActiveCell.Offset(n + 22, 1).Value = mh21
    ActiveCell.Offset(n + 23, 1).Value = mh22
    'so luong sang "xuat"
    Sheets("xuat").Select
    n = Range("l2").Value
    Range("f5").Select
    ActiveCell.Offset(n + 2, 1).Value = sl1
    ActiveCell.Offset(n + 3, 1).Value = sl2
    ActiveCell.Offset(n + 4, 1).Value = sl3
    ActiveCell.Offset(n + 5, 1).Value = sl4
    ActiveCell.Offset(n + 6, 1).Value = sl5
    ActiveCell.Offset(n + 7, 1).Value = sl6
    ActiveCell.Offset(n + 8, 1).Value = sl7
    ActiveCell.Offset(n + 9, 1).Value = sl8
    ActiveCell.Offset(n + 10, 1).Value = sl9
    ActiveCell.Offset(n + 11, 1).Value = sl10
    ActiveCell.Offset(n + 12, 1).Value = sl11
    ActiveCell.Offset(n + 13, 1).Value = sl12
    ActiveCell.Offset(n + 14, 1).Value = sl13
    ActiveCell.Offset(n + 15, 1).Value = sl14
    ActiveCell.Offset(n + 16, 1).Value = sl15
    ActiveCell.Offset(n + 17, 1).Value = sl16
    ActiveCell.Offset(n + 18, 1).Value = sl17
    ActiveCell.Offset(n + 19, 1).Value = sl18
    ActiveCell.Offset(n + 20, 1).Value = sl19
    ActiveCell.Offset(n + 21, 1).Value = sl20
    ActiveCell.Offset(n + 22, 1).Value = sl21
    ActiveCell.Offset(n + 23, 1).Value = sl22
    'don gia sang "xuat"
    Sheets("xuat").Select
    n = Range("m2").Value
    Range("g5").Select
    ActiveCell.Offset(n + 2, 1).Value = dg1
    ActiveCell.Offset(n + 3, 1).Value = dg2
    ActiveCell.Offset(n + 4, 1).Value = dg3
    ActiveCell.Offset(n + 5, 1).Value = dg4
    ActiveCell.Offset(n + 6, 1).Value = dg5
    ActiveCell.Offset(n + 7, 1).Value = dg6
    ActiveCell.Offset(n + 8, 1).Value = dg7
    ActiveCell.Offset(n + 9, 1).Value = dg8
    ActiveCell.Offset(n + 10, 1).Value = dg9
    ActiveCell.Offset(n + 11, 1).Value = dg10
    ActiveCell.Offset(n + 12, 1).Value = dg11
    ActiveCell.Offset(n + 13, 1).Value = dg12
    ActiveCell.Offset(n + 14, 1).Value = dg13
    ActiveCell.Offset(n + 15, 1).Value = dg14
    ActiveCell.Offset(n + 16, 1).Value = dg15
    ActiveCell.Offset(n + 17, 1).Value = dg16
    ActiveCell.Offset(n + 18, 1).Value = dg17
    ActiveCell.Offset(n + 19, 1).Value = dg18
    ActiveCell.Offset(n + 20, 1).Value = dg19
    ActiveCell.Offset(n + 21, 1).Value = dg20
    ActiveCell.Offset(n + 22, 1).Value = dg21
    ActiveCell.Offset(n + 23, 1).Value = dg22
    ' SO PHIEU
    Sheets("xuat").Select
    n = Range("L2").Value
    Range("J5").Select
    ActiveCell.Offset(n + 1, 1).Value = SOPHIEU
    ' ngày
    Sheets("xuat").Select
    n = Range("L2").Value
    Range("b5").Select
    ActiveCell.Offset(n + 1, 1).Value = ngay
    'Xóa bên "from"
    Sheets("Form").Select
    Range("d5:d7").Select
    Selection.ClearContents
    Sheets("Form").Select
    Range("h5:h7").Select
    Selection.ClearContents
    Sheets("Form").Select
    Range("C14:H35").Select
    Selection.ClearContents
    Sheets("Form").Select
    Range("H10").Select
    Selection.ClearContents
    Sheets("Form").Select
    Range("D40").Select
    Selection.ClearContents
    Range("d5").Select
    End Sub
     
    Lần chỉnh sửa cuối:
    E thật sự sorry bác vì không nói rõ lỗi mà viết là add in không chạy được trên Excel 2013. Khi e cài bản 2013 mở lại file cũ thì máy nó hiển thị thông báo như thế này. Sau đó e cài song song cả 2 bản 2010 và 2013 thì bản 2010 vẫn chạy được. Có gì mong bác thông cảm và hỗ trợ giúp e. Trân trọng
    Unnamed QQ Screenshot20170324095806.png
     
    Lần chỉnh sửa cuối:
    Dear anh Hữu Thắng.

    Addins này có tính ứng dụng thực tế cao. Rất cảm ơn anh đã chia sẻ. Tuy nhiên nó đang gặp một số vấn đề hoặc cần cải tiến như sau:
    1. Không cài được cho office 64 bít, cụ thể nếu cố tình cài lỗi xuất hiện như bài #162
    2. Đôi khi muốn tìm kiếm thì hiển thị nhiều cột, nhưng khi nhập chỉ muốn lấy 1 giá trị thì addins chưa làm được
    3. Hi vọng bác có thể chia sẻ code cho em xin gmail: hoaxn4hp@gmail.com

    Em xin cảm ơn!
     
    Chào anh. Anh có thể khắc phục là file dữ liệu không cần phải mở lên mà vẫn sử dụng được không anh. (file dữ liệu riêng biệt với file nhập liệu) (không biết lỗi addin hay do máy, nhưng truòng hợp của mình là phải mở file lên mới sử dụng được). Không biết ngày nào anh rãnh nhờ anh Team giúp xem tại sao khi đổi định dang dấu phân cách số thập phân bằng dấu phẩy (,) thì nhập liệu một lúc là bị lỗi (excel sẽ hiểu cách nhập đó là dạng text). ghi chú: cái này chắc do máy mình cá biệt
     
    Dear anh Hữu Thắng.

    Addins này có tính ứng dụng thực tế cao. Rất cảm ơn anh đã chia sẻ. Tuy nhiên nó đang gặp một số vấn đề hoặc cần cải tiến như sau:
    1. Không cài được cho office 64 bít, cụ thể nếu cố tình cài lỗi xuất hiện như bài #162
    2. Đôi khi muốn tìm kiếm thì hiển thị nhiều cột, nhưng khi nhập chỉ muốn lấy 1 giá trị thì addins chưa làm được
    3. Hi vọng bác có thể chia sẻ code cho em xin gmail: hoaxn4hp@gmail.com

    Em xin cảm ơn!
    1. Tôi chưa có điều kiện thử trên Office 64 bit nên chưa biết lỗi như thế nào. Khi nào có điều kiện tôi sẽ khắc phục vấn đề này.
    2. Vấn đề này không khó. Tuy nhiên tôi muốn việc sử dụng tiện ích làm sao cho đơn giản nhất (Nhiều ứng dụng có đầy đủ tính năng nhưng lại quá phức tạp trong việc thiết lập và sử dụng lại làm khó người dùng). Như bạn thấy thì nhiều thông tin tôi cho lấy từ dữ liệu nguồn mà không cần khai báo (Font chữ, độ rộng danh sách sổ, các cột nhập hoặc không nhập). Nếu muốn bao quát hết các trường hợp thì cần phải khai báo thông tin thật chi tiết.
    3. Tôi không chia sẻ code nhé bạn.
     
    Chào anh. Anh có thể khắc phục là file dữ liệu không cần phải mở lên mà vẫn sử dụng được không anh. (file dữ liệu riêng biệt với file nhập liệu) (không biết lỗi addin hay do máy, nhưng truòng hợp của mình là phải mở file lên mới sử dụng được). Không biết ngày nào anh rãnh nhờ anh Team giúp xem tại sao khi đổi định dang dấu phân cách số thập phân bằng dấu phẩy (,) thì nhập liệu một lúc là bị lỗi (excel sẽ hiểu cách nhập đó là dạng text). ghi chú: cái này chắc do máy mình cá biệt
    Ngoài dữ liệu còn một số thông tin khác được lấy từ dữ liệu nguồn (Font chữ, độ rộng danh sách sổ, các cột nhập hoặc không nhập). Nếu không mở file thì không lấy được thông tin đâu bạn.
    Còn về vấn đề lỗi trên máy bạn khi nào có thời gian tôi sẽ kiểm tra giúp bạn.
     
    Untitled.jpgEm cái đặt xong sử dụng báo lỗi vậy là sao ạ
     
    Dear All,
    Bác Hữu Thắng không chia sẻ code Add-Ins Input from List thì các bạn có thể tạm dùng cái này Add vào ứng dụng của các bạn vậy.
    Chú ý là Sheet("Data") có 01 list Box [ =EMBED("Forms.ListBox.1","")] chỉ thấy ở chế độ Design mode.
    Hi vọng có thể giúp ích cho công việc của mình.
    Regards!
     

    File đính kèm

    Bạn Thắng ơi.
    Mình đang sử dụng add in của bạn. nhưng trong công việc mình muốn cột tìm kiếm có thể nhìn thấy 3 cột nhưng cột điền thì cần 2 cột thui được không . mình không mốn điền hết tất cả những cột nhiền thấy.bạn có thể hưỡng dẫn mình cách sửa lại được không.
    Cảm ơn bạn Thắng nhiều.
     
    Ngoài dữ liệu còn một số thông tin khác được lấy từ dữ liệu nguồn (Font chữ, độ rộng danh sách sổ, các cột nhập hoặc không nhập). Nếu không mở file thì không lấy được thông tin đâu bạn.
    Còn về vấn đề lỗi trên máy bạn khi nào có thời gian tôi sẽ kiểm tra giúp bạn.
    Bác lúc nào rảnh kiẻm tra giúp em lỗi định dạng với, lỗi em nói bài #166 và một số bài trước giúp em với. (khong riêng gì mấy em bác àh, một số máy vẫn bị lỗi trên (định dạng của máy kiểu số: 1.123.456,789 (định dạng dấu thập phân là dấu (,), khi nhập liệu nó chuyển sang dấu "." và khi tính công thức nó không hiểu nên sai. Bác rảnh gọi giúp em với. Số điện thoại em gủi qua mail diễn đàn anh nhé
     
    Bác lúc nào rảnh kiẻm tra giúp em lỗi định dạng với, lỗi em nói bài #166 và một số bài trước giúp em với. (khong riêng gì mấy em bác àh, một số máy vẫn bị lỗi trên (định dạng của máy kiểu số: 1.123.456,789 (định dạng dấu thập phân là dấu (,), khi nhập liệu nó chuyển sang dấu "." và khi tính công thức nó không hiểu nên sai. Bác rảnh gọi giúp em với. Số điện thoại em gủi qua mail diễn đàn anh nhé
    Bạn mô tả rõ hơn được không? Ý bạn là add in làm thay đổi cài đặt dấu phân cách trong control panel à? Mà nếu vậy thì đâu có ảnh hưởng đến lỗi công thức đâu.
     
    Bạn mô tả rõ hơn được không? Ý bạn là add in làm thay đổi cài đặt dấu phân cách trong control panel à? Mà nếu vậy thì đâu có ảnh hưởng đến lỗi công thức đâu.
    add-in có ảnh hưởng đấy anh àh. Mặc định trong ctrol panel dấu thập phân của em định dạng ","
    Khi file có sử dụng add-in của anh, khi nhập liệu nó sẽ chuyển sang dâu "."
    ví dụ em nhập 7,6 nó sẽ nhập vào là 7.6. Nếu file khong dùng add-in của anh dùng add-in của anh nó sẽ nhập bình thường: 7,6
    em đã thử dùng đổi kiểu phân cách trong excel option nhưng không được.
     
    Lần chỉnh sửa cuối:
    add-in có ảnh hưởng đấy anh àh. Mặc định trong ctrol panel dấu thập phân của em định dạng ","
    Khi file có sử dụng add-in của anh, khi nhập liệu nó sẽ chuyển sang dâu "."
    ví dụ em nhập 7,6 nó sẽ nhập vào là 7.6. Nếu file khong dùng add-in của anh dùng add-in của anh nó sẽ nhập bình thường: 7,6
    em đã thử dùng đổi kiểu phân cách trong excel option nhưng không được.
    Anh nghiên cứu ra lỗi đó chưa anh
     
    Anh nghiên cứu ra lỗi đó chưa anh
    Sao hôm trước tôi trả lời mà không có bài nhỉ.
    Bạn nhập ở đâu? Trực tiếp trên sheet hay là nhập trên Combobox của Add in?
    Bạn nhập bằng phím nào trên bàn phím? Bên nhóm phím số hay trên nhóm phím chữ?
     
    Sao hôm trước tôi trả lời mà không có bài nhỉ.
    Bạn nhập ở đâu? Trực tiếp trên sheet hay là nhập trên Combobox của Add in?
    Bạn nhập bằng phím nào trên bàn phím? Bên nhóm phím số hay trên nhóm phím chữ?
    Em nhập trên sheet, em nhập bàn phím số trên máy tính bàn
     
    Khung nhập liệu không đúng với CELL mình chọn.

    Có bác nào bị như em không ah.
     
    Web KT

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

    Back
    Top Bottom