Usefrom Hoạt Động Chậm

Liên hệ QC

langkhachquaduong

Thành viên chính thức
Tham gia
23/7/19
Bài viết
50
Được thích
8
Hiện mình vừa tạo xong usefrom.Khi ta dbclick vào ô bất kỳ từ cột f đến j thì usefrom hiện lên. Khi mình tiềm kiếm ở ô textbox khá là giật và truyền dữ liệu xuống sheet thì khá là chậm và hay bị lỗi font. Xin các anh/chị khắc phục giúp mình.Mình cảm ơn.
 

File đính kèm

  • Năm 2019 - Sửa Mảng.xlsm
    762.7 KB · Đọc: 23
Chào bạn
Bạn nên loại bỏ bớt những code không liên quan. Đây chẳng qua là đoạn code tìm kiếm và nhập dữ liệu từ listbox sang sheet thôi khi bạn loại bớt những bước không liên quan thì sẽ ok thôi
 
Upvote 0
Hiện mình vừa tạo xong usefrom.Khi ta dbclick vào ô bất kỳ từ cột f đến j thì usefrom hiện lên. Khi mình tiềm kiếm ở ô textbox khá là giật và truyền dữ liệu xuống sheet thì khá là chậm và hay bị lỗi font. Xin các anh/chị khắc phục giúp mình.Mình cảm ơn.
Khi gán dữ liệu xuống thì code không lâu nhé bạn.Lâu ở chỗ công thức của bạn nó chạy lâu thôi.Còn về font chữ thì bạn có thể định dạng Format nhé.Khi tìm kiếm thì bạn có thể viết ra 1 mảng mới rồi gán vào cũng được.
 
Upvote 0
Hiện mình vừa tạo xong usefrom.Khi ta dbclick vào ô bất kỳ từ cột f đến j thì usefrom hiện lên. Khi mình tiềm kiếm ở ô textbox khá là giật và truyền dữ liệu xuống sheet thì khá là chậm và hay bị lỗi font. Xin các anh/chị khắc phục giúp mình.Mình cảm ơn.
Gửi bạn,mình đã chỉnh lại code bs thêm.
 

File đính kèm

  • Năm 2019 - Sửa Mảng.xlsm
    758.2 KB · Đọc: 22
Upvote 0
Form hay CSDL của bạn chạy chậm cũng là do bạn thiết kế CSDL chưa chuẩn lắm
Mình ví dụ bạn còn thiếu bảng danh mục khách hàng gồm các trường:

MÃ KHÁCH HÀNGLOẠI
KH
TÊN KHÁCH HÀNGĐỊA CHỈ
0100978593-006NCCNhà Máy Tân LongĐường ven sông hậu, ấp An Ninh, X.Định An,H.Lấp Vò,T.Đồng Tháp
NV077094001557XmauNguyễn Tiến DũngĐồng Phú
NV285271683XmauNguyễn Quang ThiệnĐồng Xoài
NV285238822XmauTạ Lê KhangChơn Thành
NV285187020XmauPhan Văn BìnhPhú Riềng
TL6-2BIP00002CSSXLò Bún A Nhị19, Tổ 2A, Kp.Phước Thọ, P.Tân Thiện, TP.Đồng Xoài
TL6-2BIP00003CSSXLò Bún Chú TuấnTP.Đồng Xoài
TL6-2BIP00001HorecaQuán Cơm Tiền GiangVòng xoay Đường Hùng Vương, TP.Đồng Xoài
1​
HorecaQuán Cơm Tiền Giang QL14361-363 Quốc Lộ 14,P.Tân Thiện, TP.Đồng Xoài
TL6-2BIP00004Đại LýTạp Hóa Bích NụẤp Cầu Rạt, H.Đồng Phú
TL6-2BIP00005Đại LýTạp Hóa Cô NguyệtXã Tiến Hưng, H.Đồng Xoài
TL6-2BIP00189Bán lẻKhách Lẻ
0​
TL6-2BIP00007HorecaQuán Cơm 777Dốc Tà Bế, Đồng Xoài
TL6-2BIP00008HorecaQuán Cơm 3979 Lê Duẩn, Tân Phú, Đồng Xoài
TL6-2BIP00009HorecaQuán Cơm Cô DungĐồng Xoài
TL6-2BIP00010Đại LýTạp Hóa Phương DungĐồng Xoài
TL6-2BIP00168Đại LýTạp Hóa Số 1X.Tân Phước, Phước Tân, Đồng Phú
TL6-2BIP00011Đại LýTạp Hóa Yến NhiP.Tân Thiện, Đồng Xoài
TL6-2BIP00014Đại LýTạp Hóa Thanh SangQL 14, Đồng Xoài
TL6-2BIP00016Đại LýTạp Hóa Đồng TiếnQL14, Đồng Tiến, Đồng Phú
TL6-2BIP00015Đại LýTạp Hóa Phú DầnẤp Cầu 2, X.Đồng Tiến , H.Đồng Phú
TL6-2BIP00013Đại LýVựa Gạo Đức TàiQL14, Tiến Thành, Đồng Xoài

Nếu bạn có bảng này thì thay vì 4 cột (như trên bảng) ta chỉ cần nhập mỗi trường [Mã KH] vô trang 'DuLieu' mà thôi.

(& lúc nào cần hiễn thị các trường còn lại trong các báo cáo ta chỉ VLOOKUP() từ bảng 'DMuc' là xong.)

Hãy tiết kiệm 1 khi có thể, để ích nước lợi nhà đi bạn!
 
Lần chỉnh sửa cuối:
Upvote 0
Form hay CSDL của bạn chạy chậm cũng là do bạn thiết kế CSDL chưa chuẩn lắm
Mình ví dụ bạn còn thiếu bảng danh mục khách hàng gồm các trường:

MÃ KHÁCH HÀNGLOẠI
KH
TÊN KHÁCH HÀNGĐỊA CHỈ
0100978593-006NCCNhà Máy Tân LongĐường ven sông hậu, ấp An Ninh, X.Định An,H.Lấp Vò,T.Đồng Tháp
NV077094001557XmauNguyễn Tiến DũngĐồng Phú
NV285271683XmauNguyễn Quang ThiệnĐồng Xoài
NV285238822XmauTạ Lê KhangChơn Thành
NV285187020XmauPhan Văn BìnhPhú Riềng
TL6-2BIP00002CSSXLò Bún A Nhị19, Tổ 2A, Kp.Phước Thọ, P.Tân Thiện, TP.Đồng Xoài
TL6-2BIP00003CSSXLò Bún Chú TuấnTP.Đồng Xoài
TL6-2BIP00001HorecaQuán Cơm Tiền GiangVòng xoay Đường Hùng Vương, TP.Đồng Xoài
1​
HorecaQuán Cơm Tiền Giang QL14361-363 Quốc Lộ 14,P.Tân Thiện, TP.Đồng Xoài
TL6-2BIP00004Đại LýTạp Hóa Bích NụẤp Cầu Rạt, H.Đồng Phú
TL6-2BIP00005Đại LýTạp Hóa Cô NguyệtXã Tiến Hưng, H.Đồng Xoài
TL6-2BIP00189Bán lẻKhách Lẻ
0​
TL6-2BIP00007HorecaQuán Cơm 777Dốc Tà Bế, Đồng Xoài
TL6-2BIP00008HorecaQuán Cơm 3979 Lê Duẩn, Tân Phú, Đồng Xoài
TL6-2BIP00009HorecaQuán Cơm Cô DungĐồng Xoài
TL6-2BIP00010Đại LýTạp Hóa Phương DungĐồng Xoài
TL6-2BIP00168Đại LýTạp Hóa Số 1X.Tân Phước, Phước Tân, Đồng Phú
TL6-2BIP00011Đại LýTạp Hóa Yến NhiP.Tân Thiện, Đồng Xoài
TL6-2BIP00014Đại LýTạp Hóa Thanh SangQL 14, Đồng Xoài
TL6-2BIP00016Đại LýTạp Hóa Đồng TiếnQL14, Đồng Tiến, Đồng Phú
TL6-2BIP00015Đại LýTạp Hóa Phú DầnẤp Cầu 2, X.Đồng Tiến , H.Đồng Phú
TL6-2BIP00013Đại LýVựa Gạo Đức TàiQL14, Tiến Thành, Đồng Xoài

Nếu bạn có bảng này thì thay vì 4 cột (như trên bảng) ta chỉ cần nhập mỗi trường [Mã KH] vô trang 'DuLieu' mà thôi.

(& lúc nào cần hiễn thị các trường còn lại trong các báo ca1ota chỉ VLOOKUP() từ bảng 'DMuc' là xong.)

Hãy tiết kiệm 1 khi có thể, để ích nước lợi nhà đi bạn!
Form hay CSDL của bạn chạy chậm cũng là do bạn thiết kế CSDL chưa chuẩn lắm
Mình ví dụ bạn còn thiếu bảng danh mục khách hàng gồm các trường:

MÃ KHÁCH HÀNGLOẠI
KH
TÊN KHÁCH HÀNGĐỊA CHỈ
0100978593-006NCCNhà Máy Tân LongĐường ven sông hậu, ấp An Ninh, X.Định An,H.Lấp Vò,T.Đồng Tháp
NV077094001557XmauNguyễn Tiến DũngĐồng Phú
NV285271683XmauNguyễn Quang ThiệnĐồng Xoài
NV285238822XmauTạ Lê KhangChơn Thành
NV285187020XmauPhan Văn BìnhPhú Riềng
TL6-2BIP00002CSSXLò Bún A Nhị19, Tổ 2A, Kp.Phước Thọ, P.Tân Thiện, TP.Đồng Xoài
TL6-2BIP00003CSSXLò Bún Chú TuấnTP.Đồng Xoài
TL6-2BIP00001HorecaQuán Cơm Tiền GiangVòng xoay Đường Hùng Vương, TP.Đồng Xoài
1​
HorecaQuán Cơm Tiền Giang QL14361-363 Quốc Lộ 14,P.Tân Thiện, TP.Đồng Xoài
TL6-2BIP00004Đại LýTạp Hóa Bích NụẤp Cầu Rạt, H.Đồng Phú
TL6-2BIP00005Đại LýTạp Hóa Cô NguyệtXã Tiến Hưng, H.Đồng Xoài
TL6-2BIP00189Bán lẻKhách Lẻ
0​
TL6-2BIP00007HorecaQuán Cơm 777Dốc Tà Bế, Đồng Xoài
TL6-2BIP00008HorecaQuán Cơm 3979 Lê Duẩn, Tân Phú, Đồng Xoài
TL6-2BIP00009HorecaQuán Cơm Cô DungĐồng Xoài
TL6-2BIP00010Đại LýTạp Hóa Phương DungĐồng Xoài
TL6-2BIP00168Đại LýTạp Hóa Số 1X.Tân Phước, Phước Tân, Đồng Phú
TL6-2BIP00011Đại LýTạp Hóa Yến NhiP.Tân Thiện, Đồng Xoài
TL6-2BIP00014Đại LýTạp Hóa Thanh SangQL 14, Đồng Xoài
TL6-2BIP00016Đại LýTạp Hóa Đồng TiếnQL14, Đồng Tiến, Đồng Phú
TL6-2BIP00015Đại LýTạp Hóa Phú DầnẤp Cầu 2, X.Đồng Tiến , H.Đồng Phú
TL6-2BIP00013Đại LýVựa Gạo Đức TàiQL14, Tiến Thành, Đồng Xoài

Nếu bạn có bảng này thì thay vì 4 cột (như trên bảng) ta chỉ cần nhập mỗi trường [Mã KH] vô trang 'DuLieu' mà thôi.

(& lúc nào cần hiễn thị các trường còn lại trong các báo ca1ota chỉ VLOOKUP() từ bảng 'DMuc' là xong.)

Hãy tiết kiệm 1 khi có thể, để ích nước lợi nhà đi bạn!
Chuẩn quá Bác SA_DQ ơi?
 
Upvote 0
Gửi bạn,mình đã chỉnh lại code bs thêm.
[/QUO

Mình ấn nút nhập xuống sheet không được.Bạn xem lại giúp mình
Bài đã được tự động gộp:

Gửi bạn,mình đã chỉnh lại code bs thêm.
Ân nút nhập không gán được dữ liệu xuống sheet.Bạn xem giúp mình
Bài đã được tự động gộp:

Form hay CSDL của bạn chạy chậm cũng là do bạn thiết kế CSDL chưa chuẩn lắm
Mình ví dụ bạn còn thiếu bảng danh mục khách hàng gồm các trường:

MÃ KHÁCH HÀNGLOẠI
KH
TÊN KHÁCH HÀNGĐỊA CHỈ
0100978593-006NCCNhà Máy Tân LongĐường ven sông hậu, ấp An Ninh, X.Định An,H.Lấp Vò,T.Đồng Tháp
NV077094001557XmauNguyễn Tiến DũngĐồng Phú
NV285271683XmauNguyễn Quang ThiệnĐồng Xoài
NV285238822XmauTạ Lê KhangChơn Thành
NV285187020XmauPhan Văn BìnhPhú Riềng
TL6-2BIP00002CSSXLò Bún A Nhị19, Tổ 2A, Kp.Phước Thọ, P.Tân Thiện, TP.Đồng Xoài
TL6-2BIP00003CSSXLò Bún Chú TuấnTP.Đồng Xoài
TL6-2BIP00001HorecaQuán Cơm Tiền GiangVòng xoay Đường Hùng Vương, TP.Đồng Xoài
1​
HorecaQuán Cơm Tiền Giang QL14361-363 Quốc Lộ 14,P.Tân Thiện, TP.Đồng Xoài
TL6-2BIP00004Đại LýTạp Hóa Bích NụẤp Cầu Rạt, H.Đồng Phú
TL6-2BIP00005Đại LýTạp Hóa Cô NguyệtXã Tiến Hưng, H.Đồng Xoài
TL6-2BIP00189Bán lẻKhách Lẻ
0​
TL6-2BIP00007HorecaQuán Cơm 777Dốc Tà Bế, Đồng Xoài
TL6-2BIP00008HorecaQuán Cơm 3979 Lê Duẩn, Tân Phú, Đồng Xoài
TL6-2BIP00009HorecaQuán Cơm Cô DungĐồng Xoài
TL6-2BIP00010Đại LýTạp Hóa Phương DungĐồng Xoài
TL6-2BIP00168Đại LýTạp Hóa Số 1X.Tân Phước, Phước Tân, Đồng Phú
TL6-2BIP00011Đại LýTạp Hóa Yến NhiP.Tân Thiện, Đồng Xoài
TL6-2BIP00014Đại LýTạp Hóa Thanh SangQL 14, Đồng Xoài
TL6-2BIP00016Đại LýTạp Hóa Đồng TiếnQL14, Đồng Tiến, Đồng Phú
TL6-2BIP00015Đại LýTạp Hóa Phú DầnẤp Cầu 2, X.Đồng Tiến , H.Đồng Phú
TL6-2BIP00013Đại LýVựa Gạo Đức TàiQL14, Tiến Thành, Đồng Xoài

Nếu bạn có bảng này thì thay vì 4 cột (như trên bảng) ta chỉ cần nhập mỗi trường [Mã KH] vô trang 'DuLieu' mà thôi.

(& lúc nào cần hiễn thị các trường còn lại trong các báo cáo ta chỉ VLOOKUP() từ bảng 'DMuc' là xong.)

Hãy tiết kiệm 1 khi có thể, để ích nước lợi nhà đi bạn!
Làm theo bạn cũng được nhưng phải dùng hàm vlookup, sau này nhiều dữ liệu xảy ra tình trạng máy chậy chậm. Còn usefrom mình mới tập tành thấy nó cũng chạy còn lâu hơn vlookup, chủ yếu mình muốn các bạn góp ý chỉnh sửa code cho nó hoạt động mượt hơn.
 
Lần chỉnh sửa cuối:
Upvote 0
Bài đã được tự động gộp:


Ân nút nhập không gán được dữ liệu xuống sheet.Bạn xem giúp mình
Bài đã được tự động gộp:


Làm theo bạn cũng được nhưng phải dùng hàm vlookup, sau này nhiều dữ liệu xảy ra tình trạng máy chậy chậm. Còn usefrom mình mới tập tành thấy nó cũng chạy còn lâu hơn vlookup, chủ yếu mình muốn các bạn góp ý chỉnh sửa code cho nó hoạt động mượt hơn.
OK Bạn,vội quá chưa kịp check kỹ file,.
 
Upvote 0
Khi gán dữ liệu xuống thì code không lâu nhé bạn.Lâu ở chỗ công thức của bạn nó chạy lâu thôi.Còn về font chữ thì bạn có thể định dạng Format nhé.Khi tìm kiếm thì bạn có thể viết ra 1 mảng mới rồi gán vào cũng được.
Bạn có thể ví dụ cho mình đoạn code tìm kiếm cho dễ hình dung.
 
Upvote 0
(2) Làm theo bạn cũng được nhưng phải dùng hàm vlookup, sau này nhiều dữ liệu xảy ra tình trạng máy chậy chậm.
. . . . , (1) chủ yếu mình muốn các bạn góp ý chỉnh sửa code cho nó hoạt động mượt hơn.
(1) Vói mình: 1 khi thiết kế CSDL chưa chuẩn lắm thì phải thiết kế cho chuẩn cái đã; Không thể bắt trẻ chưa biết bò mà chạy được.
(2) Với CSDL như mình nói thì thỉnh thoảng mới cần VLOOKUP() nha bạn: trong những báo cáo hay hiễn thị như phiếu nhập xuất kho; Khi đó chỉ VLOOKUP() 1 mã khách hàng hay 1 nhà cung cấp mà thôi.
(3) Riêng mình sẽ không làm mượt code, 1 khi thiết kế CSDL của bạn vẫn vậy, bạn thông cảm!
 
Upvote 0
Hiện mình vừa tạo xong usefrom.Khi ta dbclick vào ô bất kỳ từ cột f đến j thì usefrom hiện lên. Khi mình tiềm kiếm ở ô textbox khá là giật và truyền dữ liệu xuống sheet thì khá là chậm và hay bị lỗi font. Xin các anh/chị khắc phục giúp mình.Mình cảm ơn.
Chậm do có nhiều công thức không hợp lý
Thử code
Mã:
Option Explicit
Dim arr()

Private Sub cmddong_Click()
  Unload Me
  Application.Calculation = xlCalculationAutomatic
End Sub

Private Sub cmdnhap_Click()
  Dim j As Long, iCel As Long, iList As Long, Res(1 To 1, 1 To 4)
  iCel = ActiveCell.Row
  iList = lbdmkh.ListIndex
  For j = 1 To 4
    Res(1, j) = Me.lbdmkh.List(iList, 1)
  Next j
  Sheet3.Range("H" & iCel).Resize(, 4) = Res
  ActiveCell.Offset(1).Select
End Sub

Private Sub txttimkiem_change()
Dim i As Long, j As Long
With lbdmkh
.Clear
For i = LBound(arr, 1) To UBound(arr, 1)
    For j = 1 To 6
If InStr(LCase$(arr(i, j)), LCase$(Trim(txttimkiem.Text))) Then
    .AddItem arr(i, 1)
    .List(.ListCount - 1, 1) = arr(i, 2)
    .List(.ListCount - 1, 2) = arr(i, 3)
    .List(.ListCount - 1, 3) = arr(i, 4)
    .List(.ListCount - 1, 4) = arr(i, 5)
    .List(.ListCount - 1, 5) = arr(i, 6)
End If
    Next j
Next i
End With
End Sub
Private Sub UserForm_Initialize()
Dim lr2 As Long
lr2 = Sheet1.Range("d" & Rows.Count).End(3).Row
arr = Sheet1.Range("a10:f" & lr2).Value2
With Me.lbdmkh
    .ColumnCount = 6 ' chia thanh 6 cot
    .ColumnWidths = "25,70,33,110,210" ' do rong cot
    .List = arr ' chi do duoc mang, ko do duoc range
End With
Application.Calculation = xlCalculationManual
End Sub
 
Upvote 0
(1) Vói mình: 1 khi thiết kế CSDL chưa chuẩn lắm thì phải thiết kế cho chuẩn cái đã; Không thể bắt trẻ chưa biết bò mà chạy được.
(2) Với CSDL như mình nói thì thỉnh thoảng mới cần VLOOKUP() nha bạn: trong những báo cáo hay hiễn thị như phiếu nhập xuất kho; Khi đó chỉ VLOOKUP() 1 mã khách hàng hay 1 nhà cung cấp mà thôi.
(3) Riêng mình sẽ không làm mượt code, 1 khi thiết kế CSDL của bạn vẫn vậy, bạn thông cảm!
Cám ơn bạn nhé.
 
Upvote 0
Chậm do có nhiều công thức không hợp lý
Thử code
Mã:
Option Explicit
Dim arr()

Private Sub cmddong_Click()
  Unload Me
  Application.Calculation = xlCalculationAutomatic
End Sub

Private Sub cmdnhap_Click()
  Dim j As Long, iCel As Long, iList As Long, Res(1 To 1, 1 To 4)
  iCel = ActiveCell.Row
  iList = lbdmkh.ListIndex
  For j = 1 To 4
    Res(1, j) = Me.lbdmkh.List(iList, 1)
  Next j
  Sheet3.Range("H" & iCel).Resize(, 4) = Res
  ActiveCell.Offset(1).Select
End Sub

Private Sub txttimkiem_change()
Dim i As Long, j As Long
With lbdmkh
.Clear
For i = LBound(arr, 1) To UBound(arr, 1)
    For j = 1 To 6
If InStr(LCase$(arr(i, j)), LCase$(Trim(txttimkiem.Text))) Then
    .AddItem arr(i, 1)
    .List(.ListCount - 1, 1) = arr(i, 2)
    .List(.ListCount - 1, 2) = arr(i, 3)
    .List(.ListCount - 1, 3) = arr(i, 4)
    .List(.ListCount - 1, 4) = arr(i, 5)
    .List(.ListCount - 1, 5) = arr(i, 6)
End If
    Next j
Next i
End With
End Sub
Private Sub UserForm_Initialize()
Dim lr2 As Long
lr2 = Sheet1.Range("d" & Rows.Count).End(3).Row
arr = Sheet1.Range("a10:f" & lr2).Value2
With Me.lbdmkh
    .ColumnCount = 6 ' chia thanh 6 cot
    .ColumnWidths = "25,70,33,110,210" ' do rong cot
    .List = arr ' chi do duoc mang, ko do duoc range
End With
Application.Calculation = xlCalculationManual
End Sub
Bạn cho mình hỏi công thức ở đây chưa hợp lý chỗ nào.Bạn cho mình ví dụ cụ thể được ko.
 
Upvote 0
Hiện mình vừa tạo xong usefrom.Khi ta dbclick vào ô bất kỳ từ cột f đến j thì usefrom hiện lên. Khi mình tiềm kiếm ở ô textbox khá là giật và truyền dữ liệu xuống sheet thì khá là chậm và hay bị lỗi font. Xin các anh/chị khắc phục giúp mình.Mình cảm ơn.
Mình thấy sheet DaTa cột A có tới 3000 dòng. Mình mới thấy vậy thôi.
Bạn kẻ viền đến dòng 5113.
 
Upvote 0
Chậm do có nhiều công thức không hợp lý
Thử code
Mã:
Option Explicit
Dim arr()

Private Sub cmddong_Click()
  Unload Me
  Application.Calculation = xlCalculationAutomatic
End Sub

Private Sub cmdnhap_Click()
  Dim j As Long, iCel As Long, iList As Long, Res(1 To 1, 1 To 4)
  iCel = ActiveCell.Row
  iList = lbdmkh.ListIndex
  For j = 1 To 4
    Res(1, j) = Me.lbdmkh.List(iList, 1)
  Next j
  Sheet3.Range("H" & iCel).Resize(, 4) = Res
  ActiveCell.Offset(1).Select
End Sub

Private Sub txttimkiem_change()
Dim i As Long, j As Long
With lbdmkh
.Clear
For i = LBound(arr, 1) To UBound(arr, 1)
    For j = 1 To 6
If InStr(LCase$(arr(i, j)), LCase$(Trim(txttimkiem.Text))) Then
    .AddItem arr(i, 1)
    .List(.ListCount - 1, 1) = arr(i, 2)
    .List(.ListCount - 1, 2) = arr(i, 3)
    .List(.ListCount - 1, 3) = arr(i, 4)
    .List(.ListCount - 1, 4) = arr(i, 5)
    .List(.ListCount - 1, 5) = arr(i, 6)
End If
    Next j
Next i
End With
End Sub
Private Sub UserForm_Initialize()
Dim lr2 As Long
lr2 = Sheet1.Range("d" & Rows.Count).End(3).Row
arr = Sheet1.Range("a10:f" & lr2).Value2
With Me.lbdmkh
    .ColumnCount = 6 ' chia thanh 6 cot
    .ColumnWidths = "25,70,33,110,210" ' do rong cot
    .List = arr ' chi do duoc mang, ko do duoc range
End With
Application.Calculation = xlCalculationManual
End Sub
1.Mình đã thử code
Private Sub cmddong_Click()
Unload Me
Application.Calculation = xlCalculationAutomatic
End Sub
khi ấn nút đóng thì chạy hơi load nên mình xóa luôn dòng Application.Calculation = xlCalculationManual thì chạy ok
2.Tại textbox khi mình ấn backspace để xóa dữ liệu tìm kiếm đến hết thì xuất hiện Not responding, không biết do lỗi gì.
Mong bạn giúp đỡ
 
Upvote 0
Bạn cho mình hỏi công thức ở đây chưa hợp lý chỗ nào.Bạn cho mình ví dụ cụ thể được ko.
Dữ liệu lớn không nên dùng hàm SumifS, Vlookup
1.Mình đã thử code
Private Sub cmddong_Click()
Unload Me
Application.Calculation = xlCalculationAutomatic
End Sub
khi ấn nút đóng thì chạy hơi load nên mình xóa luôn dòng Application.Calculation = xlCalculationManual thì chạy ok
2.Tại textbox khi mình ấn backspace để xóa dữ liệu tìm kiếm đến hết thì xuất hiện Not responding, không biết do lỗi gì.
Mong bạn giúp đỡ
"khi ấn nút đóng thì chạy hơi load nên mình xóa luôn dòng Application.Calculation = xlCalculationManual thì chạy ok "
Bạn có 2 lựa chọn:
1/ Mỗi lần nhập liệu, bảng tính sẽ xử lý chậm do phải tính toán công thức, đóng form tốc độ nhanh
2/ Mỗi lần nhập liệu, bảng tính sẽ xử lý nhanh do không phải tính toán công thức, đóng form tốc độ chậm do phải cập nhật dữ liệu
"Tại textbox khi mình ấn backspace để xóa dữ liệu tìm kiếm đến hết thì xuất hiện Not responding "
Máy mình không bị gì. Thêm lệnh "Exit For" tăng tốc code
Mã:
Private Sub txttimkiem_change()
Dim i As Long, j As Long
With lbdmkh
  .Clear
  For i = LBound(arr, 1) To UBound(arr, 1)
    For j = 1 To 6
      If InStr(LCase$(arr(i, j)), LCase$(Trim(txttimkiem.Text))) Then
        .AddItem arr(i, 1)
        .List(.ListCount - 1, 1) = arr(i, 2)
        .List(.ListCount - 1, 2) = arr(i, 3)
        .List(.ListCount - 1, 3) = arr(i, 4)
        .List(.ListCount - 1, 4) = arr(i, 5)
        .List(.ListCount - 1, 5) = arr(i, 6)
        Exit For
      End If
    Next j
  Next i
End With
End Sub
 
Upvote 0
Dữ liệu lớn không nên dùng hàm SumifS, Vlookup

"khi ấn nút đóng thì chạy hơi load nên mình xóa luôn dòng Application.Calculation = xlCalculationManual thì chạy ok "
Bạn có 2 lựa chọn:
1/ Mỗi lần nhập liệu, bảng tính sẽ xử lý chậm do phải tính toán công thức, đóng form tốc độ nhanh
2/ Mỗi lần nhập liệu, bảng tính sẽ xử lý nhanh do không phải tính toán công thức, đóng form tốc độ chậm do phải cập nhật dữ liệu
"Tại textbox khi mình ấn backspace để xóa dữ liệu tìm kiếm đến hết thì xuất hiện Not responding "
Máy mình không bị gì. Thêm lệnh "Exit For" tăng tốc code
Mã:
Private Sub txttimkiem_change()
Dim i As Long, j As Long
With lbdmkh
  .Clear
  For i = LBound(arr, 1) To UBound(arr, 1)
    For j = 1 To 6
      If InStr(LCase$(arr(i, j)), LCase$(Trim(txttimkiem.Text))) Then
        .AddItem arr(i, 1)
        .List(.ListCount - 1, 1) = arr(i, 2)
        .List(.ListCount - 1, 2) = arr(i, 3)
        .List(.ListCount - 1, 3) = arr(i, 4)
        .List(.ListCount - 1, 4) = arr(i, 5)
        .List(.ListCount - 1, 5) = arr(i, 6)
        Exit For
      End If
    Next j
  Next i
End With
End Sub
Hay quá anh Hieu ơi,học hỏi thêm anh.
 
Upvote 0
Chịu khó gõ cho đúng từ thì bài giải mới nhanh.

Hiện mình vừa tạo xong usefrom.Khi ta dbclick vào ...
UserForm (đoán vậy chứ biết đâu thớt có cái object nó tên "usefrom" thật)
Trong lập trình db giành cho Database. Viết tắt của double là dbl

...khi ấn nút đóng thì chạy hơi load nên ...
"Load" là cái gì trong lúc chạy? Load dữ liệu? Tức là chương trình "load" nhiều dữ liệu hơn nó cần cho nên không hiệu quả?
overload CPU power là nó dùng con toán cộng trừ nhân chia với số thực nhiều quá? overload memory là khi nó chạy bị swap page nhiều quá.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom