Nhờ sửa code trong UserForm

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

Hoangkhang01213

Thành viên mới
Tham gia
9/6/18
Bài viết
29
Được thích
0
- Nhờ các anh chị giúp sửa dùm em cái code khi chạy form lâu lâu nó báo lỗi Runtime error '2147352571 (80020005) với khi add số liệu bị giật màng hình. Em cảm ơn trước ạ!
 

File đính kèm

  • Ban ke CP thi nghiem .xlsm
    697 KB · Đọc: 29
Mình test thử thấy ok lắm b, chưa thấy báo lỗi
Bạn vào eveloper xem from xong cái ra bấm vào add đơn giá, thử nhập vài từ tìm kiếm là bị lổi đó ngay, mình mò mẫm mà không biết bị chổ nào hết
với nó bị như vậy là lâu lâu mới bị phải khởi động lại máy tính xong cái mở lại thì được còn tắt file mở lại vào tra đơn giá cái nó cũng bị y vậy hà
Do mình mới tự học VBA nên kỹ năng hạng chế lắm
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn vào eveloper xem from xong cái ra bấm vào add đơn giá, thử nhập vài từ tìm kiếm là bị lổi đó ngay, mình mò mẫm mà không biết bị chổ nào hết
với nó bị như vậy là lâu lâu mới bị phải khởi động lại máy tính xong cái mở lại thì được còn tắt file mở lại vào tra đơn giá cái nó cũng bị y vậy hà
Do mình mới tự học VBA nên kỹ năng hạng chế lắm
Thường lỗi Runtime error '2147352571 (80020005) này do

Type mismatch

Thử thay đoạn này
Mã:
Sheets("CPTN_theo_DG").Cells(LastRow2, 1) = Me.ListBox1.List(X, 0)
Sheets("CPTN_theo_DG").Cells(LastRow2, 2) = Me.ListBox1.List(X, 1)
Sheets("CPTN_theo_DG").Cells(LastRow2, 3) = Me.ListBox1.List(X, 2)
Sheets("CPTN_theo_DG").Cells(LastRow2, 4) = TextAdd  'Chèn ten khac cho san pham
Sheets("CPTN_theo_DG").Cells(LastRow2, 5) = TextAdd_Soto  'Chèn so cho san pham

thành
Mã:
With Sheets("CPTN_theo_DG")
    .Cells(LastRow2, 1).Value = Me.ListBox1.List(X, 0)
    .Cells(LastRow2, 2).Value = Me.ListBox1.List(X, 1)
    .Cells(LastRow2, 3).Value = Me.ListBox1.List(X, 2)
    .Cells(LastRow2, 4).Value = TextAdd.Value  'Chèn ten khac cho san pham
    .Cells(LastRow2, 5).Value = TextAdd_Soto.Value  'Chèn so cho san pham
End With
Có thể giúp

Còn thử test thì không xẩy ra lỗi như người hỏi đã gặp

Còn nháy màn hình là do cái này nhé
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("a9:a209")) Is Nothing Then
        AnDongHDTuDong
    End If
End Sub
bật tắt trong AnhDongHDTuDong
Đang tắt lại bật Application.Screen thì chắc chắn là nháy hình
 
Lần chỉnh sửa cuối:
Upvote 0
Thường lỗi Runtime error '2147352571 (80020005) này do

Type mismatch

Thử thay đoạn này
Mã:
Sheets("CPTN_theo_DG").Cells(LastRow2, 1) = Me.ListBox1.List(X, 0)
Sheets("CPTN_theo_DG").Cells(LastRow2, 2) = Me.ListBox1.List(X, 1)
Sheets("CPTN_theo_DG").Cells(LastRow2, 3) = Me.ListBox1.List(X, 2)
Sheets("CPTN_theo_DG").Cells(LastRow2, 4) = TextAdd  'Chèn ten khac cho san pham
Sheets("CPTN_theo_DG").Cells(LastRow2, 5) = TextAdd_Soto  'Chèn so cho san pham

thành
Mã:
With Sheets("CPTN_theo_DG")
    .Cells(LastRow2, 1).Value = Me.ListBox1.List(X, 0)
    .Cells(LastRow2, 2).Value = Me.ListBox1.List(X, 1)
    .Cells(LastRow2, 3).Value = Me.ListBox1.List(X, 2)
    .Cells(LastRow2, 4).Value = TextAdd.Value  'Chèn ten khac cho san pham
    .Cells(LastRow2, 5).Value = TextAdd_Soto.Value  'Chèn so cho san pham
End With
Có thể giúp

Còn thử test thì không xẩy ra lỗi như người hỏi đã gặp

Còn nháy màn hình là do cái này nhé
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("a9:a209")) Is Nothing Then
        AnDongHDTuDong
    End If
End Sub
bật tắt trong AnhDongHDTuDong
Đang tắt lại bật Application.Screen thì chắc chắn là nháy hình
Cảm ơn nhiều ạ để em chinh lại code
 
Upvote 0
Thường lỗi Runtime error '2147352571 (80020005) này do

Type mismatch

Thử thay đoạn này
Mã:
Sheets("CPTN_theo_DG").Cells(LastRow2, 1) = Me.ListBox1.List(X, 0)
Sheets("CPTN_theo_DG").Cells(LastRow2, 2) = Me.ListBox1.List(X, 1)
Sheets("CPTN_theo_DG").Cells(LastRow2, 3) = Me.ListBox1.List(X, 2)
Sheets("CPTN_theo_DG").Cells(LastRow2, 4) = TextAdd  'Chèn ten khac cho san pham
Sheets("CPTN_theo_DG").Cells(LastRow2, 5) = TextAdd_Soto  'Chèn so cho san pham

thành
Mã:
With Sheets("CPTN_theo_DG")
    .Cells(LastRow2, 1).Value = Me.ListBox1.List(X, 0)
    .Cells(LastRow2, 2).Value = Me.ListBox1.List(X, 1)
    .Cells(LastRow2, 3).Value = Me.ListBox1.List(X, 2)
    .Cells(LastRow2, 4).Value = TextAdd.Value  'Chèn ten khac cho san pham
    .Cells(LastRow2, 5).Value = TextAdd_Soto.Value  'Chèn so cho san pham
End With
Có thể giúp

Còn thử test thì không xẩy ra lỗi như người hỏi đã gặp

Còn nháy màn hình là do cái này nhé
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("a9:a209")) Is Nothing Then
        AnDongHDTuDong
    End If
End Sub
bật tắt trong AnhDongHDTuDong
Đang tắt lại bật Application.Screen thì chắc chắn là nháy hình
đây ạ em vào máy cty cái thao tác như trên em nói là bị ngay lỗi ngay dòng AddItem này nè anh mà không hiểu nguyên nhân sau lỗi, anh xem giúp em với
 

File đính kèm

  • 1.png
    1.png
    242.4 KB · Đọc: 26
  • 2.png
    2.png
    107.7 KB · Đọc: 26
Upvote 0
đây ạ em vào máy cty cái thao tác như trên em nói là bị ngay lỗi ngay dòng AddItem này nè anh mà không hiểu nguyên nhân sau lỗi, anh xem giúp em với
Tất cả các
Mã:
... = Sheets("Data").Cell(I,1)
... = Sheets("Data").Cell(I,2)
....
Nên Đổi thành
Mã:
... = Sheets("Data").Cell(I,1).Value
... = Sheets("Data").Cell(I,2).Value
....
(thêm .Value vào cuối)
Có thể đúng là hết lỗi
 
Upvote 0
Tất cả các
Mã:
... = Sheets("Data").Cell(I,1)
... = Sheets("Data").Cell(I,2)
....
Nên Đổi thành
Mã:
... = Sheets("Data").Cell(I,1).Value
... = Sheets("Data").Cell(I,2).Value
....
(thêm .Value vào cuối)
Có thể đúng là hết lỗi
em cảm ơn ạ! từ lúc sửa thì thấy chưa bị như vậy nửa ạ để mai vào máy khác test lại cái nửa mới chắc ăn được
 
Upvote 0
Web KT
Back
Top Bottom