Macro per maiuscole su textbox



  • Maiuscole
    di Elton (utente non iscritto) data: 13/04/2009

    Ciao a tutti,
    mi potete aiutare a risolvere questo problema.
    con il codice seguente:
    private sub textbox1_change()
    textbox1 = ucase(textbox1)
    end sub
    si attiva il maiuscolo per quanto riguarda il testo digitato nella textbox1.
    vorrei, con una unica macro nella userform1, attivare il maiuscolo anche a tutte le altre textbox (ne ho 29)senza riscrivere ogni volta il sopra descritto codice. e' possibile?
    grazie per l'aiuto.



  • di Big ronnie (utente non iscritto) data: 14/04/2009

    Ciao elton,

    questa macro ti dovrebbe andare bene.

    ciao big
     
    Sub Maiuscole()
    Dim Ctrl As Control
    For Each Ctrl In UserForm1.Controls
         If (TypeName(Ctrl) = ("TextBox")) Then Ctrl = UCase(Ctrl)
    Next
    End Sub


  • Maiuscole
    di Elton (utente non iscritto) data: 08/05/2009

    Buongiorno,
    solo oggi ho potuto provare il vs suggerimento, ma non essendo molto esperta in vba non riesco ad applicarlo alla mia userform che si chiama "inseriemnto".
    quello che vorrei ottenere è che all'apertura della mia userform, tutte le textbox in essa contenute, quando digito il testo questo venga immesso in maiuscolo.
    grazie e saluti



  • di Enzo (utente non iscritto) data: 08/05/2009

    Proprieta' change della textbox
    es textbox1 inserisci
    textbox1.text = ucase(textbox1.text)


  • Maiuscole
    di Elton (utente non iscritto) data: 09/05/2009

    Si, è corretto quello che mi suggerisci per la singola textbox, ma io chiedevo se era possibile fare in modo tramite una sola macro attivare le maiuscole in tutte le textbox della userform. la macro suggerita da big non so dove e come va inserita. ho provato ad inserirla sia
    in un modulo e anche in una “private sub userform_activate()” ma il testo che viene inserito nella textbox rimane sempre in minuscolo.
    ancora grazie



  • di R (utente non iscritto) data: 09/05/2009

    Un buon modo è quello di creare una classe
    dai un occhio qui:
    blog.maurogsc.eu/ -> "excel - vba. array di controlli"

    codice di esempio: www.webalice.it/maurogsc/blog/arraydicontrolli_1.zip

    saluti
    r





  • di Albatros (utente non iscritto) data: 10/05/2009

    Prendendo spunto dal suggerimento di r , ho modificato la classe clstexbox , nel modulo della tua userform incolla il codice riferito alla userform e il tutto sembra funzionare ti allego il file
    ciao
    albatros
     
    ---Codice Classe-----
    
    Option Explicit
    
    Public WithEvents txt As MSForms.TextBox
    Public frm As UserForm
    
    Private Sub txt_Change()
       txt.Text = UCase(txt.Text)
    End Sub
    
    ---- Codice Userform-----
    
    Option Explicit
    
    Dim colTextBox As Collection
    Dim myTxt As clsTextBox
    
    Private Sub UserForm_Initialize()
        
        Dim ctl As MSForms.Control
        
        If Not colTextBox Is Nothing Then
            Set colTextBox = Nothing
        End If
        
        Set colTextBox = New Collection
        
        For Each ctl In Me.Controls
            If TypeOf ctl Is MSForms.TextBox Then
                Set myTxt = New clsTextBox
                Set myTxt.txt = ctl
                Set myTxt.frm = Me
                colTextBox.Add myTxt
            End If
        Next
    
    End Sub
    
    
    Private Sub UserForm_Terminate()
        Set myTxt = Nothing
        Set colTextBox = Nothi