VBA bị lỗi runtime error 9 subscript out of range

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

tu205489039

Thành viên hoạt động
Tham gia
14/12/14
Bài viết
114
Được thích
12
Giới tính
Nam
Xin chào mọi người. Mình có vấn đề này nhờ mọi người sửa giúp
Mấy năm trước mình chạy file thì không sao, nay mình chạy lại nó báo lỗi "VBA Lỗi runtime error 9 subscript out of range" sau khi nhấn vào button "tạo nhiều sổ trong file này". Nhờ mọi người xem file nó bị sai gì mà nó báo lỗi
Mình xin cảm ơn!
 

File đính kèm

  • SoCai.xlsm
    112.8 KB · Đọc: 16
Lần chỉnh sửa cuối:
Xin chào mọi người. Mình có vấn đề này nhờ mọi người sửa giúp
Mấy năm trước mình chạy file thì không sao, nay mình chạy lại nó báo lỗi "VBA Lỗi runtime error 9 subscript out of range" sau khi nhấn vào button "tạo nhiều sổ trong file này". Nhờ mọi người xem file nó bị sai gì mà nó báo lỗi
Mình xin cảm ơn!
Sửa chổ này.
Mã:
ReDim ArrSocai(1 To endR , 1 To 7)
thành
Mã:
ReDim ArrSocai(1 To endR * 2, 1 To 7)
 
Upvote 0
Em cảm ơn anh nhiều nhe
Nhân tiện em đang chạy năm 2021, khi nhấn code tạo NKC, load đến dòng của "dịch vụ làm băng ron..." thì báo lỗi Application-defined or object-defined error
Em xem thấy cũng không có vấn đề gì tại dòng này, không hiểu vì lý do gì mà nó lại báo lỗi, nhờ anh xem qua thêm giúp em với ạ. Em cảm ơn!
 

File đính kèm

  • NKC.xlsm
    6 MB · Đọc: 6
Upvote 0
Em cảm ơn anh nhiều nhe
Nhân tiện em đang chạy năm 2021, khi nhấn code tạo NKC, load đến dòng của "dịch vụ làm băng ron..." thì báo lỗi Application-defined or object-defined error
Em xem thấy cũng không có vấn đề gì tại dòng này, không hiểu vì lý do gì mà nó lại báo lỗi, nhờ anh xem qua thêm giúp em với ạ. Em cảm ơn!
Là do code bạn lập trình bị lỗi, cụ thể lỗi tại lệnh.
Mã:
Set rngNo = rngNo.Offset(, -2).Resize(, 3)
Trước lệnh này là lệnh.
Mã:
Set rngNo = rngNo.SpecialCells(xlCellTypeConstants, 23)
Giờ mình Debug nhé! trước khi thực hiện xong lệnh
Mã:
Set rngNo = rngNo.SpecialCells(xlCellTypeConstants, 23)
thì rngNo sẽ là vùng E37270:E37283, nhưng khi thực hiện xong lệnh
Mã:
Set rngNo = rngNo.SpecialCells(xlCellTypeConstants, 23)
thì rngNo sẽ là vùng E37270:E37273,E37281,E37283 (thực tế thì nó đã là 3 vùng riêng biệt), tiếp theo nó thực hiện lệnh.
Mã:
Set rngNo = rngNo.Offset(, -2).Resize(, 3)
Lúc này gặp lỗi ngay, hiện tại rngNo là 3 vùng dữ liệu chứ không còn là 1 vùng nửa nên nó báo lỗi là đúng.
Vậy tại sao những lần thực hiện trước nó không báo lỗi? giờ nó lại báo lỗi?
những lần thực hiện trước mai mắn là lệnh
Mã:
Set rngNo = rngNo.SpecialCells(xlCellTypeConstants, 23)
nó cho kết quả là 1 vùng dữ liệu, còn lần này nó cho kết quả là 3 vùng dữ liệu thế là...
 
Upvote 0
Web KT

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

Back
Top Bottom