Có cách nào gõ vào Menu có dấu không?

Liên hệ QC

ongtrungducmx25

Thành viên gạo cội
Tham gia
5/2/07
Bài viết
2,077
Được thích
1,987
Nghề nghiệp
GV
Có cách nào hổ trợ có dấu khi Tạo Menu không! Có file đính kèm
 

File đính kèm

Tạo Menu có chữ Việt thì thầy có thể tham khảo file mẫu taomenu.xls của anh Duyệt. Còn nếu thầy viết lệnh trực tiếp trong VBA thì thầy có thể kết hợp với hàm CHR() vì trong VBA không hỗ trợ Unicode.

TDN
 
Upvote 0
thêm vào đâu em làm cho thầy luôn đi!không biết vào đâu để sửa
 
Upvote 0
ongtrungducmx25 đã viết:
thêm vào đâu em làm cho thầy luôn đi!không biết vào đâu để sửa

To: ongtrungducmx25,
Bạn này hơi bị lười đó nha. Cố gắng đọc bài hướng dẫn và thực hiện chứ !&&&%$R

Nói giỡn thôi, bạn cố gắng đọc hướng dẫn và thực hiện. Như vậy nó mới có cái thú vị của nó chứ !

Lê Văn Duyệt
 
Upvote 0
Very lười luôn :D
cho bạn tham khảo nè
 

File đính kèm

Upvote 0
SoiBien đã viết:
Very lười luôn :D
cho bạn tham khảo nè

Mình muốn thêm một form nữa thì sau nhỉ frmlogin khi add-in vào thì đổi tên: otd password:852394 có được không!mình gởi frmlogin cho bạn nhé!
 

File đính kèm

Upvote 0
Thế này nhé, để tiện cho bạn í mà, bạn có để ý ở trên cùng có sub removeaddin không? bạn sửa True thành false, như vậy sheet MenuWks sẽ visible, vậy lả bạn chỉnh sửa thoải mái.
Thân.
PS. nếu Sheet1, Sheet2, Sheet3 bạn không làm gì thỉ xoá nó đi luôn cho đẹp :D
 
Lần chỉnh sửa cuối:
Upvote 0
hàm này của Phước "CHR()" phải chèn vào đâu nhỉ thầy chèn hoài mà không được nó báo lỗi hoài!
 

File đính kèm

Upvote 0
ongtrungducmx25 đã viết:
hàm này của Phước "CHR()" phải chèn vào đâu nhỉ thầy chèn hoài mà không được nó báo lỗi hoài!
Thầy chèn thế thì không báo lỗi mới là lạ đó. Thế này nhé, thầy thử dòng MsgBox sau sẽ rõ :
MsgBox "tedaynui là Tui " & Chr(208) & "ây Nè" & Chr(13) & "Tui " & Chr(208) & "ây Nè là tedaynui"
Vì trong VBA, không hỗ trợ Unicode nên muốn viết chữ có thì phải dùng hàm Chr() để chuyển. Cái này thầy tìm bài viết và công cụ chuyển đổi của thầy Phạm Duy Long nhé !

Thân!
____________
Em nói thầy Click thanks bác SoiBien và Anh Duyệt, ấy vậy mà em lại được hưởng (em có giúp gì được đâu). hi hi
 
Upvote 0
SoiBien đã viết:
Thế này nhé, để tiện cho bạn í mà, bạn có để ý ở trên cùng có sub removeaddin không? bạn sửa True thành false, như vậy sheet MenuWks sẽ visible, vậy lả bạn chỉnh sửa thoải mái.
Thân.
PS. nếu Sheet1, Sheet2, Sheet3 bạn không làm gì thỉ xoá nó đi luôn cho đẹp :D

làm thế nào xóa đi các sheet1,2,3 của bạn mình vào Modoul_Menu chỉnh lại nhưng không được có cần ra ngoài chỉnh thêm không zậy, nếu mình muốn đổi tên các menu khác thì sau " thống kê học sinh" thành " thống kê học sinh năm học 07-08" ,"bảng điểm" thành "bảng điểm năm học" có được không zậy
mình đã sữa đoạn code:
Mã:
Option Explicit
Public Sub Auto_Open()
    CreateMenu
End Sub
Public Sub Auto_Close()
    DeleteBar
End Sub
Sub removeaddin()
Application.CommandBars(1).Reset
ThisWorkbook.IsAddin = True
End Sub

Public Sub CreateMenu()
    Dim AppCB As Object
    Dim wks As Worksheet
    Dim Bar As Object
    Dim BarBtn As Object
    Dim SubBarBtn As Object
    Dim buf As Variant
    Dim i As Long
    Dim KindaMenu As Long
    
    
    
    DeleteBar
    Set AppCB = Application.CommandBars
    Set wks = ThisWorkbook.Sheets("MenuWks")
    KindaMenu = wks.[F1]
   
    buf = wks.Range("Menu_Level").Value
    
    Select Case KindaMenu
    Case 1    'Worksheet Menu Bar
        If buf(1, 3) = "" Then
            Set Bar = AppCB(1).Controls.Add(msoControlPopup)
        Else
            Set Bar = AppCB(1).Controls.Add(msoControlPopup, Before:=buf(1, 3))
        End If
    Case 2
        If buf(1, 3) = "" Then
            Set Bar = AppCB("cell").Controls.Add(msoControlPopup)
        Else
            Set Bar = AppCB("cell").Controls.Add(msoControlPopup, Before:=buf(1, 3))
        End If
    End Select
    With Bar
        If Not KindaMenu = 3 Then
            .BeginGroup = buf(1, 4)
            .Caption = buf(1, 2 + ICS)
            .Tag = RemoveAmp(buf(1, 2 + ICS))
        End If

        For i = LBound(buf) To UBound(buf)
            Select Case buf(i, 1)
            Case 2
                On Error Resume Next
                If buf(i + 1, 1) = 3 Then
                    If Err.Number = 0 Then
                        Set BarBtn = .Controls.Add(msoControlPopup)
                    Else
                        Set BarBtn = .Controls.Add(msoControlButton)
                    End If
                Else
                    Set BarBtn = .Controls.Add(msoControlButton)
                End If
                With BarBtn
                    .Caption = buf(i, 2 + ICS)
                    .OnAction = buf(i, 3)
                    .BeginGroup = buf(i, 4)
                    If buf(i, 5) <> "" Then .FaceId = buf(i, 5)
                End With
                On Error GoTo 0
            Case 3
                Set SubBarBtn = BarBtn.Controls.Add(msoControlButton)
                With SubBarBtn
                    .Caption = buf(i, 2 + ICS)
                    .OnAction = buf(i, 3)
                    .BeginGroup = buf(i, 4)
                    .FaceId = buf(i, 5)
                End With
            End Select
        Next
        .Visible = True
    End With
End Sub
Public Function RemoveAmp(seq) As String
    Dim i As Long
    Dim tmp As String
    For i = 1 To Len(seq)
        If Mid(seq, i, 1) <> "&" Then
            tmp = tmp & Mid(seq, i, 1)
        End If
    Next
    RemoveAmp = tmp
End Function
Public Sub DeleteBar()
    Dim buf As Variant
    buf = ThisWorkbook.Sheets("MenuWks").Range("Menu_Level").Value
    On Error Resume Next
    Application.CommandBars.FindControl(Tag:=RemoveAmp(buf(1, 2 + ICS))).Delete
    'For a Commndbar Control
    Application.CommandBars(RemoveAmp(buf(1, 2 + ICS))).Delete
    On Error GoTo 0
End Sub
Private Function ICS() As Integer
Dim tmpICS As Integer
    tmpICS = Application.International(xlCountrySetting)
    If tmpICS = 47 Then
        ICS = 6
    Else
        ICS = 0
    End If
End Function

bạn hướng dẫn mình đổi tên lại trong Menu nhé! thank
 
Chỉnh sửa lần cuối bởi điều hành viên:
Upvote 0
Thầy Post bài dài ngoằn, em đọc không hiểu gì luôn. Nhưng đoán ý thầy em trả lài đại, hên xui nhé. Hi hi

Thầy muốn đổi tên Worksheet trong VBA tất nhiên là được và có 2 cách :
1/ Thầy dùng tên sheet : ví dụ Sheets("ThongKe")
2/ Thầy dùng Name (trong Properties) của sheet đó. Cách này có ưu điểm là thầy có thể thay đổi tên Sheet nhưng không ảnh hưởng đến code : ví dụ Sheet2

Thân!
 
Upvote 0
Tôi đã loại bỏ chức năng Add-ins của file này, bạn chỉnh sửa xong thì save as file lại thành Add-ins là được.
Thân.

View attachment 4083
 
Lần chỉnh sửa cuối:
Upvote 0
SoiBien đã viết:
Tôi đã loại bỏ chức năng addin của file này, bạn chỉnh sửa xong thì save as file lại thành Add-ins là được.
Thân.

View attachment 4083

bạn ơi mình đã làm mà cũng add-in lại rồi nhưng mở lên thì không thấy gì cả, "soibien" này nói rõ hơn một tí nữa nhé!
 

File đính kèm

Upvote 0
ẹc, sao cái sheet MenuWks của bạn trống trơn vậy ???
 
Upvote 0
mình đã lọc hết code đó rồi, đâu có ăn thua gì đâu, cái quang trọng là biết tạo và sửa menu mà đúng không , mình thử lọc hết các 2 from sau chỉ còn add-in "rỗng" thồi mà chạy lại thì menu cũng hiện lại "thống kê học sinh" tại sau zậy chỉ giúp mình nhé!
 
Upvote 0
Vâng, đúng vậy, quan trọng là biết cách tạo menu, vậy sau khi bạn xoá form (không ảnh hưởng đến chuyện menu hiện lên) thì nếu thực thi lệnh được gán cho form đó thì mới báo lỗi. sau khi sửa xong addins, bạn có save lại nó không ? phải save trong VBA nhé, nếu addins đó đang active thì bạn save ở cửa sổ Excel sẽ không tác dụng, sau khi sửa xong, bạn tốt nhất là Restart Excel, rồi xem thay đổi.

để hiểu rõ hơn , đề nghị bạn xem lại hướng dẫn cụ thể từ đầu của bác Duyệt, ở đây tôi chỉ chỉnh sửa lại để thêm được ngôn ngữ 47 của bác.

File nhap.rar của bác attached ở trên tôi thấy trong sheet Menuwks không có gì hết (blank sheet) vậy thì excel sẽ báo lỗi khi load cái addins đó. Bác phải giữ nguyên cấu trúc của file chứ (Header).

Bác thử làm lại và mô tả cụ thể là bác muốn làm gì, lỗi gì, chứ hiện giờ mỗi lần bác hỏi lại không liên quan đến câu hỏi trước đó, làm tôi rất khó để theo dõi.

Làm hộ bác luôn thì không khó, nhưng tôi muốn bác tự làm để hiểu được và sau này tự mình Custom lại ứng dụng của mình, vậy nên bác nên đọc lại hết hướng dẫn của bác Duyệt nhé, có gì thì post tiếp nhé.
Thân.
 
Upvote 0
mình đã tìm được công cụ tạo menu nhưng không hiểu sau làm hoài cũng không được! không biết có save vào add-in có chạy được không!
 

File đính kèm

Upvote 0
Đáng lẽ nếu không vướng cái ngôn ngữ 47 gì đó của bác thì tôi cũng gửi cho bác cái tools để tạo menu rồi, nếu không cần ngôn ngữ đó thì bác xài cái tool đó tiện lắm
 
Upvote 0
Web KT

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

Back
Top Bottom