Nhờ mọi người giúp đỡ xử lý lỗi khi tạo NameRange bằng code VBA

Liên hệ QC

Mr.hieudoanxd

Thành viên thường trực
Tham gia
25/10/19
Bài viết
322
Được thích
150
Chào mọi người!
Em có đoạn code sau để tạo NameRange bằng code VBA. Nhưng khi chạy bị báo lỗi ở ngay dòng đầu tiên
ThisWorkbook.Names.Add Name:=.Cells(j, 10).value, RefersTo:=.Cells(j, 11) 'Dòng báo lỗi ThisWorkbook.Names(.Cells(j, 10).value).Comment = .Cells(j, 8).value
Mong mọi người giúp đỡ nguyên nhân gây lỗi là gì và cách khắc phục ạ
Em cảm ơn!
 
Chào mọi người!
Em có đoạn code sau để tạo NameRange bằng code VBA. Nhưng khi chạy bị báo lỗi ở ngay dòng đầu tiên
ThisWorkbook.Names.Add Name:=.Cells(j, 10).value, RefersTo:=.Cells(j, 11) 'Dòng báo lỗi ThisWorkbook.Names(.Cells(j, 10).value).Comment = .Cells(j, 8).value
Mong mọi người giúp đỡ nguyên nhân gây lỗi là gì và cách khắc phục ạ
Em cảm ơn!
Bạn thử dùng 1 biến String để lưu giá trị .Cells(j, 10) rồi đưa vào câu lệnh tạo name xem.
 
Upvote 0
Chào mọi người!
Em có đoạn code sau để tạo NameRange bằng code VBA. Nhưng khi chạy bị báo lỗi ở ngay dòng đầu tiên
ThisWorkbook.Names.Add Name:=.Cells(j, 10).value, RefersTo:=.Cells(j, 11) 'Dòng báo lỗi ThisWorkbook.Names(.Cells(j, 10).value).Comment = .Cells(j, 8).value
Mong mọi người giúp đỡ nguyên nhân gây lỗi là gì và cách khắc phục ạ
Em cảm ơn!
1/ câu lệnh có nằm trong with sheets("abcxyz") ... End with không?
2/ Đặt name đã đúng cấu trúc cho phép của name hay chưa?
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn thử dùng 1 biến String để lưu giá trị .Cells(j, 10) rồi đưa vào câu lệnh tạo name xem.
1/ câu lệnh có nằm trong with sheets("abcxyz") ... End with không?
2/ Đặt name đã đúng cấu trúc cho phép của name hay chưa?
Câu hỏi vậy mà hai vị cũng trả lời được.
Có đến nửa tá "lỗi" khác nhau để Excel "báo lỗi" cho code trên.
Không biết lỗi được báo ra sao thì hai vị chỉ "mò may".
 
Upvote 0
Câu hỏi vậy mà hai vị cũng trả lời được.
Có đến nửa tá "lỗi" khác nhau để Excel "báo lỗi" cho code trên.
Không biết lỗi được báo ra sao thì hai vị chỉ "mò may".
Chừ kê thêm lỗi cho đủ nửa tá:
- j hiện tại có giá trị = 0
- j vượt quá số dòng trang tính Excel
- Chuỗi tại .Cells(j, 10) có dấu cách.
- Chuỗi tại .Cells(j, 10) = rỗng

Thế mới có việc làm chứ bác @!>><
 
Upvote 0
em tìm được lỗi sai rồi, lỗi ngớ ngẩn thôi ạ em khai báo nhầm kiểu biến ạ......
Cảm ơn các anh đã xem bài viết
 
Upvote 0
Chừ kê thêm lỗi cho đủ nửa tá:
- j hiện tại có giá trị = 0
- j vượt quá số dòng trang tính Excel
- Chuỗi tại .Cells(j, 10) có dấu cách.
- Chuỗi tại .Cells(j, 10) = rỗng

Thế mới có việc làm chứ bác @!>><
2 cái đầu liên quan đến biến j, không kể.
Hai cái sau, VBA sẽ báo hai lỗi khác nhau.
- Chuỗi tại .Cells(j, 10) có dấu cách : báo "... not valid" (bất cứ trị nào được Excel coi là không hợp lệ để đặt name. Điển hình, trị toàn chữ số)
- Chuỗi tại .Cells(j, 10) = rỗng : báo "... method failed"
 
Upvote 0
Web KT

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

Back
Top Bottom