Add-in Input From List - Hỗ trợ nhập liệu từ danh mục có sẵn

Liên hệ QC
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

  • Province_City_PostCode_Viet Nam.xlsm
    28.3 KB · Đọc: 93
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
Back
Top Bottom