maiban1986
Thành viên thường trực




- Tham gia
- 28/2/13
- Bài viết
- 229
- Được thích
- 29
Tôi thấy bạn thêm được nút lệnh rồi còn nhờ gì nửa. Bây giờ chổ nào chưa hiểu tôi giải thích thôi.Nhờ anh chị hướng dẫn tạo Ribbon menu các link tên sheet dưới kèm theo hình ảnh logo tương ứng với mỗi sheet. em xin cảm ơn
Bài đã được tự động gộp:
anh Giaiphap em lập topic mới rồi nhờ anh và mọi Người hướng dẫn làm. em xin cảm ơn
Cái này đợt trước anh giúp mà.Tôi thấy bạn thêm được nút lệnh rồi còn nhờ gì nửa. Bây giờ chổ nào chưa hiểu tôi giải thích thôi.
Nhưng bạn đã thêm được nút lệnh và chạy được rồi còn gì nửa.Cái này đợt trước anh giúp mà.
Trong ví dụ này Sheet em yêu cầu nhờ giúp là cố định. Đợt trước file anh giúp là cứ thêm sheet nào thì nó lấy sheet mới và bỏ sheet cũNhưng bạn đã thêm được nút lệnh và chạy được rồi còn gì nửa.
Bạn muốn cố định sheet thì sửa trong Module.Trong ví dụ này Sheet em yêu cầu nhờ giúp là cố định. Đợt trước file anh giúp là cứ thêm sheet nào thì nó lấy sheet mới và bỏ sheet cũ
Public gobjRibbon As IRibbonUI
Public Sub OnRibbonLoad(ribbon As IRibbonUI)
Set gobjRibbon = ribbon
gobjRibbon.ActivateTab "tab0"
End Sub
Sub getlabelbnt(control As IRibbonControl, ByRef returnedVal)
Select Case control.ID
Case "Bnt1": returnedVal = Sheet1.Name
Case "Bnt2": returnedVal = Sheet2.Name
Case "Bnt3": returnedVal = Sheet3.Name
End Select
End Sub
Sub OnActionTglButton(control As IRibbonControl, pressed As Boolean)
Select Case control.ID
Case "Bnt1": Sheet1.Select
Case "Bnt2": Sheet2.Select
Case "Bnt3": Sheet3.Select
End Select
gobjRibbon.Invalidate
End Sub
Sub GetPressedTglButton(control As IRibbonControl, ByRef pressed)
pressed = ThisWorkbook.Sheets(Val(Right(control.ID, 1))) Is ActiveSheet
End Sub
em chièn ảnh vào sao nó không hiện ảnh anh nhỉ. hay nỗi chỗ nào mong anh chỉ choBạn muốn cố định sheet thì sửa trong Module.
Bạn thay tất cả code trong Module bằng code này.
Chú ý chổ Bnt1, Bnt2, ... là tên cá nút lệnh trong file customUi14.xml. Muốn thay bằng sheet nào là do bạn. Còn chổ imageMso là tên các Icon hiển thị cho nút lệnh, mỗi nút lệnh nó có một biểu tượng và tên riêng, bạn có thể xem file Office2010_RibbonIcons.xlsm kèm theo phía dưới.Mã:Public gobjRibbon As IRibbonUI Public Sub OnRibbonLoad(ribbon As IRibbonUI) Set gobjRibbon = ribbon gobjRibbon.ActivateTab "tab0" End Sub Sub getlabelbnt(control As IRibbonControl, ByRef returnedVal) Select Case control.ID Case "Bnt1": returnedVal = Sheet1.Name Case "Bnt2": returnedVal = Sheet2.Name Case "Bnt3": returnedVal = Sheet3.Name End Select End Sub Sub OnActionTglButton(control As IRibbonControl, pressed As Boolean) Select Case control.ID Case "Bnt1": Sheet1.Select Case "Bnt2": Sheet2.Select Case "Bnt3": Sheet3.Select End Select gobjRibbon.Invalidate End Sub Sub GetPressedTglButton(control As IRibbonControl, ByRef pressed) pressed = ThisWorkbook.Sheets(Val(Right(control.ID, 1))) Is ActiveSheet End Sub
View attachment 238665
Còn chổ sheet1, Sheet2, ... là do tên các sheet (chổ đóng khung đỏ phía dưới) bạn muốn gắn vào nút lệnh.
View attachment 238666
Các nút lệnh còn lại bạn thử tùy biến xem kết quả ra sao.
Ảnh mà bạn chèn vào phải dùng thuộc tính image chứ không phải imageMso.em chièn ảnh vào sao nó không hiện ảnh anh nhỉ. hay nỗi chỗ nào mong anh chỉ cho
Dạ xin cám ơn anh nhiềuẢnh mà bạn chèn vào phải dùng thuộc tính image chứ không phải imageMso.
anh ơi lại phiền anh lần này nữa. làm đến đây rồi. nhưng không biết cách gộp dự liệu thành 1 nhờ anh gộp hộ .(trong 1 file có 2 custom UI. em muốn gộp thành một để nó chạy được). em xin phiền anh 1 lần này nữaBạn muốn cố định sheet thì sửa trong Module.
Bạn thay tất cả code trong Module bằng code này.
Chú ý chổ Bnt1, Bnt2, ... là tên cá nút lệnh trong file customUi14.xml. Muốn thay bằng sheet nào là do bạn. Còn chổ imageMso là tên các Icon hiển thị cho nút lệnh, mỗi nút lệnh nó có một biểu tượng và tên riêng, bạn có thể xem file Office2010_RibbonIcons.xlsm kèm theo phía dưới.Mã:Public gobjRibbon As IRibbonUI Public Sub OnRibbonLoad(ribbon As IRibbonUI) Set gobjRibbon = ribbon gobjRibbon.ActivateTab "tab0" End Sub Sub getlabelbnt(control As IRibbonControl, ByRef returnedVal) Select Case control.ID Case "Bnt1": returnedVal = Sheet1.Name Case "Bnt2": returnedVal = Sheet2.Name Case "Bnt3": returnedVal = Sheet3.Name End Select End Sub Sub OnActionTglButton(control As IRibbonControl, pressed As Boolean) Select Case control.ID Case "Bnt1": Sheet1.Select Case "Bnt2": Sheet2.Select Case "Bnt3": Sheet3.Select End Select gobjRibbon.Invalidate End Sub Sub GetPressedTglButton(control As IRibbonControl, ByRef pressed) pressed = ThisWorkbook.Sheets(Val(Right(control.ID, 1))) Is ActiveSheet End Sub
View attachment 238665
Còn chổ sheet1, Sheet2, ... là do tên các sheet (chổ đóng khung đỏ phía dưới) bạn muốn gắn vào nút lệnh.
View attachment 238666
Các nút lệnh còn lại bạn thử tùy biến xem kết quả ra sao.
Bạn xem file, do trong file của bạn chưa có các file hình nên các nút lệnh hiện tại không có icon nhé.anh ơi lại phiền anh lần này nữa. làm đến đây rồi. nhưng không biết cách gộp dự liệu thành 1 nhờ anh gộp hộ .(trong 1 file có 2 custom UI. em muốn gộp thành một để nó chạy được). em xin phiền anh 1 lần này nữa
Quả là bạn giúp đến z luôn, thế này thì người nhờ còn chi phải loBạn xem file, do trong file của bạn chưa có các file hình nên các nút lệnh hiện tại không có icon nhé.
Mà có một góp ý cho bạn, nếu bạn sử dụng image để tạo icon cho các nút lệnh thì sẽ làm dung lượng tệp tin Excel bạn lớn lên, theo tôi thì sử dụng imageMso có sẳn sẽ làm giảm dung lượng file hơn là image. Cái quan trọng không phải hình đẹp mà là chất lượng sản phẩm mình tạo ra nhé, theo tôi sử dụng cái có sẳn là đã dư thừa về trang trí rồi.
Em cám ơn anh nhiềuBạn xem file, do trong file của bạn chưa có các file hình nên các nút lệnh hiện tại không có icon nhé.
Mà có một góp ý cho bạn, nếu bạn sử dụng image để tạo icon cho các nút lệnh thì sẽ làm dung lượng tệp tin Excel bạn lớn lên, theo tôi thì sử dụng imageMso có sẳn sẽ làm giảm dung lượng file hơn là image. Cái quan trọng không phải hình đẹp mà là chất lượng sản phẩm mình tạo ra nhé, theo tôi sử dụng cái có sẳn là đã dư thừa về trang trí rồi.
Tôi cũng muốn chia sẻ thôi, tôi còn định viết luôn một chuyên mục về tạo ribbon, ngặt nỗi kiến thức còn hạn hẹp quá sợ các thành viên khác khai thác sâu tôi lại không biết trả lời thê nào.Quả là bạn giúp đến z luôn, thế này thì người nhờ còn chi phải lo
nó báo nỗi anh ạBạn xem file, do trong file của bạn chưa có các file hình nên các nút lệnh hiện tại không có icon nhé.
Mà có một góp ý cho bạn, nếu bạn sử dụng image để tạo icon cho các nút lệnh thì sẽ làm dung lượng tệp tin Excel bạn lớn lên, theo tôi thì sử dụng imageMso có sẳn sẽ làm giảm dung lượng file hơn là image. Cái quan trọng không phải hình đẹp mà là chất lượng sản phẩm mình tạo ra nhé, theo tôi sử dụng cái có sẳn là đã dư thừa về trang trí rồi.
Lỗi là do trong file của bạn có 9 hay 10 nút lệnh trong khi sheet thì chỉ có 3, tôi chỉ để đại code chứ không sửa do biết bạn chỉ cần file xml thôi. Còn không làm được nửa thì up file thực tế lên đây, up file giả lập giúp xong lại không biết áp dụng mất thời gian thêm. Khuya về giúp nhé đi đánh chén đây.nó báo nỗi anh ạ
em kiểm tra rồi nói tương ứng với mã vba mà trong modulesLỗi là do trong file của bạn có 9 hay 10 nút lệnh trong khi sheet thì chỉ có 3, tôi chỉ để đại code chứ không sửa do biết bạn chỉ cần file xml thôi. Còn không làm được nửa thì up file thực tế lên đây, up file giả lập giúp xong lại không biết áp dụng mất thời gian thêm. Khuya về giúp nhé đi đánh chén đây.
Bạn tải lại file ở #11 và đọ lại dòng đầu trong hình của bạn xem. Theo hình bạn chụp còn thiếu, tôi không ngồi trên máy tính nên không xem được.em kiểm tra rồi nói tương ứng với mã vba mà trong modules
vẫn báo nỗi anh ah. làm theo lời anh nhưng nó vẫn báo thếBạn tải lại file ở #11 và đọ lại dòng đầu trong hình của bạn xem. Theo hình bạn chụp còn thiếu, tôi không ngồi trên máy tính nên không xem được.
Nói qua lại thế này tới mai vẫn không xong việc, up cái file bị lỗi lên đây.vẫn báo nỗi anh ah. làm theo lời anh nhưng nó vẫn báo thế