Lấy tên sheet trong workbook - lỗi

BeclinHaTran

Thành viên mới
Tham gia ngày
17 Tháng bảy 2017
Bài viết
7
Được thích
0
Điểm
163
Tuổi
29
chào mọi người! mình co tham khảo cách lấy tên các sheet trong workbook như sau:
1. đặt namelà : Ten_Sheet
Refersto :
=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),"")
2. Dùng hàm :
=INDEX(Ten_Sheet,1) Để lấy tên sheet ở vị trí số 1!
Sau đó mình save lại và đóng - sau đó mở lại thì bị lỗi : #NAME?
nhờ các anh giúp!
 

huonglien1901

GPE là ngôi nhà thứ 2 của tôi!!!
Tham gia ngày
17 Tháng tư 2016
Bài viết
2,201
Được thích
1,790
Điểm
360
Tuổi
27
chào mọi người! mình co tham khảo cách lấy tên các sheet trong workbook như sau:
1. đặt namelà : Ten_Sheet
Refersto :
=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),"")
2. Dùng hàm :
=INDEX(Ten_Sheet,1) Để lấy tên sheet ở vị trí số 1!
Sau đó mình save lại và đóng - sau đó mở lại thì bị lỗi : #NAME?
nhờ các anh giúp!
Bạn lưu định dạng file là gì vậy?
 

snow25

Thành viên gắn bó
Tham gia ngày
24 Tháng bảy 2018
Bài viết
2,350
Được thích
2,175
Điểm
360
chào mọi người! mình co tham khảo cách lấy tên các sheet trong workbook như sau:
1. đặt namelà : Ten_Sheet
Refersto :
=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),"")
2. Dùng hàm :
=INDEX(Ten_Sheet,1) Để lấy tên sheet ở vị trí số 1!
Sau đó mình save lại và đóng - sau đó mở lại thì bị lỗi : #NAME?
nhờ các anh giúp!
Có hàm get.workbook hả bạn.
 

minhduc12122003

Thành viên mới
Tham gia ngày
29 Tháng mười một 2008
Bài viết
2
Được thích
1
Điểm
665
Tuổi
26
chào mọi người! mình co tham khảo cách lấy tên các sheet trong workbook như sau:
1. đặt namelà : Ten_Sheet
Refersto :
=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),"")
2. Dùng hàm :
=INDEX(Ten_Sheet,1) Để lấy tên sheet ở vị trí số 1!
Sau đó mình save lại và đóng - sau đó mở lại thì bị lỗi : #NAME?
nhờ các anh giúp!
Bạn lưu file thành định dạng Enable-Macro thì sẽ không bị nhé
 

be09

TNMT_Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
8,395
Được thích
8,163
Điểm
560
Tuổi
62
Nơi ở
Biên Hòa, Đồng Nai
chào mọi người! mình co tham khảo cách lấy tên các sheet trong workbook như sau:
1. đặt namelà : Ten_Sheet
Refersto :
=REPLACE(GET.WORKBOOK(1),1,FIND("]",GET.WORKBOOK(1)),"")
2. Dùng hàm :
=INDEX(Ten_Sheet,1) Để lấy tên sheet ở vị trí số 1!
Sau đó mình save lại và đóng - sau đó mở lại thì bị lỗi : #NAME?
nhờ các anh giúp!
Tại sao không lấy tên sheet và HyperLink luôn để di chuyển qua lại cho nhanh mà chỉ lấy tên sheet?????
 

be09

TNMT_Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
8,395
Được thích
8,163
Điểm
560
Tuổi
62
Nơi ở
Biên Hòa, Đồng Nai
Em lưu với định dạng này - những vẫn bị khi tắt và mở lại!
Tôi có ý kiến tại bài 6 là muốn giúp cho bạn, nhưng bạn phớt lờ và không có ý kiến nên tôi chỉ đưa cái hình coi chơi cho vui.
Thêm bao nhiêu sheet là tùy, khi chạy code nó tự động lấy tất cả các tên sheet và tạo HyperLink để di chuyển qua lại giữa các sheet.

A_Link.GIF
 

songhovl201

Núi Bà Đen
Tham gia ngày
11 Tháng tám 2015
Bài viết
577
Được thích
283
Điểm
235
Tôi có ý kiến tại bài 6 là muốn giúp cho bạn, nhưng bạn phớt lờ và không có ý kiến nên tôi chỉ đưa cái hình coi chơi cho vui.
Thêm bao nhiêu sheet là tùy, khi chạy code nó tự động lấy tất cả các tên sheet và tạo HyperLink để di chuyển qua lại giữa các sheet.

View attachment 229363
Xin lỗi thầy cho em hỏi về bài viết. Em có 1 file mà vài chục sheet, giờ mà tạo liên kết thủ công rất tốn thời gian, vậy có cách nào dùng code rồi tự lấy liên kết giống hình thầy minh họa không? Em xin cám ơn.
 

be09

TNMT_Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
8,395
Được thích
8,163
Điểm
560
Tuổi
62
Nơi ở
Biên Hòa, Đồng Nai
Xin lỗi thầy cho em hỏi về bài viết. Em có 1 file mà vài chục sheet, giờ mà tạo liên kết thủ công rất tốn thời gian, vậy có cách nào dùng code rồi tự lấy liên kết giống hình thầy minh họa không? Em xin cám ơn.
Thêm khoảng vài chục sheet rồi nhấn nút.
1/ Tại Sheet TRANG_CHU, Click vào 1 Link trong cột B để di chuyển đến sheet cần.
2/ Click vào A1 của các sheet để di chuyển về Sheet TRANG_CHU.
 

File đính kèm

songhovl201

Núi Bà Đen
Tham gia ngày
11 Tháng tám 2015
Bài viết
577
Được thích
283
Điểm
235
Thêm khoảng vài chục sheet rồi nhấn nút.
1/ Tại Sheet TRANG_CHU, Click vào 1 Link trong cột B để di chuyển đến sheet cần.
2/ Click vào A1 của các sheet để di chuyển về Sheet TRANG_CHU.
Thầy có thể chỉ chi tiết cách làm được không thầy, em định làm cho File khác mà vọc hoài không biết cách. (1. Sheet TRANG_CHU cột A1 làm cách nào để vẽ như vậy và sao code chạy, trong file em thấy có tới 3 module. 2 là phải lưu file ở dạng xlsm mới chạy hay sao vậy thầy, nếu lưu ở dạng thường thì có chạy không thầy). Em xin cám ơn thầy.
 

batman1

Thành viên gắn bó
Tham gia ngày
8 Tháng chín 2014
Bài viết
2,505
Được thích
3,787
Điểm
560
Học cái gì thực sự có ích thôi. Mấy cái chuyển sheet thì cứ phải chuột lên sheet tabs rồi chọn sheet cần chuyển tới. Thế thôi.

Nếu cứ vài giây, hoặc 1, 2 phút lại chuyển qua lại giữa các sheet thì còn có thể hiểu và thông cảm. Nhưng chuyện chuyển qua lại không phải là liên tục, thường xuyên.

Có chăng chỉ cần đoạn code ngắn gọi cửa sổ chọn sheet - cửa sổ sau khi phải chuột trên sheet tabs. Còn dành 1 sheet để chứa các link rồi mỗi lần chuyển sheet phải về nó rồi đi tiếp? Làm chơi thì không nói làm gì.

Một đoạn code ngắn để gọi cửa sổ chọn sheet của Excel, không cần thêm sheet phụ nào cả.
 

be09

TNMT_Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
8,395
Được thích
8,163
Điểm
560
Tuổi
62
Nơi ở
Biên Hòa, Đồng Nai
Thầy có thể chỉ chi tiết cách làm được không thầy, em định làm cho File khác mà vọc hoài không biết cách. (1. Sheet TRANG_CHU cột A1 làm cách nào để vẽ như vậy và sao code chạy, trong file em thấy có tới 3 module. 2 là phải lưu file ở dạng xlsm mới chạy hay sao vậy thầy, nếu lưu ở dạng thường thì có chạy không thầy). Em xin cám ơn thầy.
Tải File bài 10: Tôi xóa module2 và 3.
1/ Để vẽ cái nút làm như hình 1 (còn màu với chữ) thì định dạng bình thường như trong Cell. Nút thì có nhiều cái khác nữa nhưng tôi thích cái này vì gõ được tiếng Việt có dấu và tô được màu tùy thích.
2/ Để gán macro click phải vào nút chọn Assign Macro, click chọn tên macro và OK (hình 2).
3/ Để lưu File có chứa macro lưu với 2 dạng .xlsm hoặc .xlsb (hình 3.
4/ Cái File làm chơi thôi thực tế trong Excel nó cũng có sẳn:
Click phải chuột vào ngay đầu Tab sheet (viền đỏ) nó hiện hộp thoại muốn di chuyển đến sheet nào thì chọn rồi nhấn OK (Hình 4).
Hình 1.
A_H1.GIF

Hình 2.
A_H2.GIF

Hình 3.
A_H4.GIF

Hình 4.
A_H3.GIF
 
Lần chỉnh sửa cuối:

batman1

Thành viên gắn bó
Tham gia ngày
8 Tháng chín 2014
Bài viết
2,505
Được thích
3,787
Điểm
560
Mà lại phải dành 1 cell A1 trong mỗi sheet để có thể chuyển về "Trang Chủ"? Tại sao phải khổ như thế?
 

HeSanbi

Thành viên tích cực
Tham gia ngày
24 Tháng hai 2013
Bài viết
1,103
Được thích
948
Điểm
560
Em lưu với định dạng này - những vẫn bị khi tắt và mở lại!
1. Bạn nói file lỗi thì ai tin file của bạn bị lỗi đây, phải có dẫn chứng chứ.

2. Bạn đã thiết lập trung tâm tin cậy VBA hay chưa:

+ Vào File -> Options : sẽ có bảng [Excel Options].
+ Chọn Trust Center : trong phần Microsoft Excel Trust Center chọn Trust Center Setting, sẽ xuất hiện bảng [Trust Center].
+ Chọn Macro Setting: Đánh dấu vào [Trust access to the VBA project object model].
Tiếng Việt:
File = Tệp, Options = Tùy chọn, Excel Options = Tùy chọn Excel, Trust Center = Trung tâm tin cậy
Trust Center Setting = Thiết đặt Trung tâm tin cậy, Macro Setting = Thiết đặt Macro, Trust access to the VBA project object model = Tin tưởng cho phép truy cập đến mô hình đối tượng VBA.

Và dịch xuống chọn mục "File Block Settings" -> bỏ hai dấu check ở các "Excel 4 ..." -> "OK" (Không khuyến khích vì Macro4.0 lỗi thời - hãy dùng VBA)
-------------------------
Capture.JPG
-------------------------

Mở lại file một lần nữa.


3. Bạn nên xem xét lại có nên dùng Macro4.0 trong Name để tạo các Hyperlink Worksheet hay không. Vì nó đã lỗi thời.
Rắc rối nếu bạn sử dụng Hyperlink sheet, đang ở Sheet thứ 100 và Sheet chứa Hyperlink là 1 thì phải tìm về lại 1 rồi chọn Link.
Nếu bạn vận dụng Name Worksheet cho hàm Indirect thì vẫn sử dụng Macro4.0.

4. Di chuyển qua lại giữa các Worksheet có Add-ins này bạn thử xem sao.
Nếu muốn chuyển code sang File của bạn, bạn chỉ cần copy Code (Hoặc kéo thả) sang file của bạn đúng Object của nó là được.
 
Lần chỉnh sửa cuối:

songhovl201

Núi Bà Đen
Tham gia ngày
11 Tháng tám 2015
Bài viết
577
Được thích
283
Điểm
235
Tải File bài 10: Tôi xóa module2 và 3.
1/ Để vẽ cái nút làm như hình 1 (còn màu với chữ) thì định dạng bình thường như trong Cell. Nút thì có nhiều cái khác nữa nhưng tôi thích cái này vì gõ được tiếng Việt có dấu và tô được màu tùy thích.
2/ Để gán macro click phải vào nút chọn Assign Macro, click chọn tên macro và OK (hình 2).
3/ Để lưu File có chứa macro lưu với 2 dạng .xlsm hoặc .xlsb (hình 3.
4/ Cái File làm chơi thôi thực tế trong Excel nó cũng có sẳn:
Click phải chuột vào ngay đầu Tab sheet (viền đỏ) nó hiện hộp thoại muốn di chuyển đến sheet nào thì chọn rồi nhấn OK (Hình 4).
Hình 1.
View attachment 229376

Hình 2.
View attachment 229377

Hình 3.
View attachment 229378

Hình 4.
View attachment 229379
Thầy cho em hỏi đoạn code bài 10 không giới hạn số sheet hay là giới hạn 100 sheet vậy thầy? Em thấy có đoạn B2:B100.
 

be09

TNMT_Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
8,395
Được thích
8,163
Điểm
560
Tuổi
62
Nơi ở
Biên Hòa, Đồng Nai
Thầy cho em hỏi đoạn code bài 10 không giới hạn số sheet hay là giới hạn 100 sheet vậy thầy? Em thấy có đoạn B2:B100.
Trong File trên có 12 sheet, mục đích xóa nội dung từ B2: B100 để tránh Link bị lỗi vì sheet không tồn tại, sửa lại là B2: B10 rồi xóa bớt 3 sheet cuối đi xong chạy code và click vào Link của 3 sheet cuối thì hiểu liền.
 

BeclinHaTran

Thành viên mới
Tham gia ngày
17 Tháng bảy 2017
Bài viết
7
Được thích
0
Điểm
163
Tuổi
29
Tôi có ý kiến tại bài 6 là muốn giúp cho bạn, nhưng bạn phớt lờ và không có ý kiến nên tôi chỉ đưa cái hình coi chơi cho vui.
Thêm bao nhiêu sheet là tùy, khi chạy code nó tự động lấy tất cả các tên sheet và tạo HyperLink để di chuyển qua lại giữa các sheet.

View attachment 229363
Dạ thầy! tại em chưa rành lắm về vba!
Với lại em đang bị vướn cái không thể lưu cái macro 4 ! Thầy giúp em!
Bài đã được tự động gộp:

Trong File trên có 12 sheet, mục đích xóa nội dung từ B2: B100 để tránh Link bị lỗi vì sheet không tồn tại, sửa lại là B2: B10 rồi xóa bớt 3 sheet cuối đi xong chạy code và click vào Link của 3 sheet cuối thì hiểu liền.
FILE EM NÓ BỊ LỖI HAY CODE NAME BỊ LỖI - EM CHƯA KHÁC PHỤC ĐƯỢC!
MỤC ĐÍCH CHÍNH CỦA EM LÀ KHI MÌNH TẠO SHEET - THÌ TÊN SHEET NÓ TỰ CẬP NHẬT Ờ TRANG ĐẦU!
EM CÁM ƠN
 

File đính kèm

Lần chỉnh sửa cuối:

songhovl201

Núi Bà Đen
Tham gia ngày
11 Tháng tám 2015
Bài viết
577
Được thích
283
Điểm
235
Tải File bài 10: Tôi xóa module2 và 3.
1/ Để vẽ cái nút làm như hình 1 (còn màu với chữ) thì định dạng bình thường như trong Cell. Nút thì có nhiều cái khác nữa nhưng tôi thích cái này vì gõ được tiếng Việt có dấu và tô được màu tùy thích.
2/ Để gán macro click phải vào nút chọn Assign Macro, click chọn tên macro và OK (hình 2).
3/ Để lưu File có chứa macro lưu với 2 dạng .xlsm hoặc .xlsb (hình 3.
4/ Cái File làm chơi thôi thực tế trong Excel nó cũng có sẳn:
Click phải chuột vào ngay đầu Tab sheet (viền đỏ) nó hiện hộp thoại muốn di chuyển đến sheet nào thì chọn rồi nhấn OK (Hình 4).
Hình 1.
View attachment 229376

Hình 2.
View attachment 229377

Hình 3.
View attachment 229378

Hình 4.
View attachment 229379
Em có lấy đoạn code module 1 và chạy macro sang file khác, mà sheet cũ có sẵn không liên kết được (từ sheet TRANG_CHU không liên kết đến các sheet khác được, nhưng các sheet khác liên kết đến sheet TRANG_CHU được). Và em thử insert sheet mới thì từ sheet TRANG_CHU liên kết được sheet mới và sheet mới lại liên kết được sheet TRANG_CHU.
 

be09

TNMT_Đồng Nai
Tham gia ngày
9 Tháng tư 2011
Bài viết
8,395
Được thích
8,163
Điểm
560
Tuổi
62
Nơi ở
Biên Hòa, Đồng Nai
Dạ thầy! tại em chưa rành lắm về vba!
Với lại em đang bị vướn cái không thể lưu cái macro 4 ! Thầy giúp em!
FILE EM NÓ BỊ LỖI HAY CODE NAME BỊ LỖI - EM CHƯA KHÁC PHỤC ĐƯỢC!
MỤC ĐÍCH CHÍNH CỦA EM LÀ KHI MÌNH TẠO SHEET - THÌ TÊN SHEET NÓ TỰ CẬP NHẬT Ờ TRANG ĐẦU!
EM CÁM ƠN
File có code đâu mà đòi nó HyperLink.

Em có lấy đoạn code module 1 và chạy macro sang file khác, mà sheet cũ có sẵn không liên kết được (từ sheet TRANG_CHU không liên kết đến các sheet khác được, nhưng các sheet khác liên kết đến sheet TRANG_CHU được). Và em thử insert sheet mới thì từ sheet TRANG_CHU liên kết được sheet mới và sheet mới lại liên kết được sheet TRANG_CHU.
Có thể đặt tên sheet không đúng với code, có File đính kèm tôi mới xem được.
 

File đính kèm

Top Bottom