Login Registrati
Stai vedendo 22 articoli - dal 1 a 22 (di 22 totali)
  • Autore
    Articoli
  • #47607 Score: 0 | Risposta

    Frasubb
    Partecipante
      1 pt

      Buonasera a tutti,

      cortesemente avrei bisogno di aiuto, ovvero sapere come posso fare per trasferire automaticamente da useform al range di celle A2:A400, la scrittura in maiuscolo anche se nella userform stessa scrivo in minuscolo

      Grazie 

      #47608 Score: 0 | Risposta

      Oscar
      Partecipante
        45 pts

        Per mettere in maiuscolo tutta la lettera

        UCase

        #47609 Score: 0 | Risposta

        gianfranco55
        Partecipante
          91 pts

          ciao

          un esempio

          Private Sub TextBox1_Change()
              Sheets("Foglio1").Cells(1, 1) = UCase(TextBox1.Text)
          End Sub
          #47610 Score: 0 | Risposta

          vecchio frac
          Senior Moderator
            272 pts

            Puoi utilizzare Ucase (UCase$) oppure StrConv nel momento in cui assegni al range.

            Range("...") = UCase(TextBox)        'piu semplice

            Range("...") = StrConv(TextBox, vbUpperCase)        'piu completo

            #47611 Score: 0 | Risposta

            Oscar
            Partecipante
              45 pts

              Prova Così

              Sub Maiuscolo()
                 For Each x In Range("A2:A400")
                   x.Value = UCase(x.Value)
                 Next
              End Sub​

              Frasubb ha scritto:

              Buonasera a tutti,

              cortesemente avrei bisogno di aiuto, ovvero sapere come posso fare per trasferire automaticamente da useform al range di celle A2:A400, la scrittura in maiuscolo anche se nella userform stessa scrivo in minuscolo

               

              #47612 Score: 0 | Risposta

              LucaSR
              Partecipante
                15 pts

                vecchio frac ha scritto:

                StrConv nel momento in cui assegni al range.

                Range("...") = UCase(TextBox)        'piu semplice

                Range("...") = StrConv(TextBox, vbUpperCase)        'piu completo

                Mi accodo, personalmente lo trovo più comodo ed ha diverse combinazioni   

                #47614 Score: 0 | Risposta

                Oscar
                Partecipante
                  45 pts

                  LucaSR ha scritto:

                  vecchio frac ha scritto:

                  StrConv nel momento in cui assegni al range.

                  Range("...") = UCase(TextBox)        'piu semplice

                  Range("...") = StrConv(TextBox, vbUpperCase)        'piu completo

                  Mi accodo, personalmente lo trovo più comodo ed ha diverse combinazioni   

                  Si ma non è l'userform  o la TexBox che deve mettere in maiuscolo , ma il  range ("A2:A400")

                   

                  #47618 Score: 0 | Risposta

                  vecchio frac
                  Senior Moderator
                    272 pts

                    Oscar ha scritto:

                    Si ma non è l'userform  o la TexBox che deve mettere in maiuscolo , ma il  range ("A2:A400")

                    No, io non ho capito così. Lui ha un userform e una textbox, ci scrive qualcosa, maiuscolo o minuscolo, e poi riversa questo contenuto nel foglio.

                    Frasubb ha scritto:

                    come posso fare per trasferire automaticamente da useform al range di celle A2:A400, la scrittura in maiuscolo anche se nella userform stessa scrivo in minuscolo

                    #47620 Score: 0 | Risposta

                    Oscar
                    Partecipante
                      45 pts

                      vecchio frac ha scritto:

                      No, io non ho capito così. Lui ha un userform e una textbox, ci scrive qualcosa, maiuscolo o minuscolo, e poi riversa questo contenuto nel foglio.

                      Secondo mè lui si è spiegato male , perchè nella sua richiesta non parla di nessuna TextBox

                      Questa è la sua richiesta

                       

                      Buonasera a tutti,

                      cortesemente avrei bisogno di aiuto, ovvero sapere come posso fare per trasferire automaticamente da useform al range di celle A2:A400, la scrittura in maiuscolo anche se nella userform stessa scrivo in minuscolo

                      Grazie 

                      #47627 Score: 0 | Risposta

                      vecchio frac
                      Senior Moderator
                        272 pts

                        Oscar ha scritto:

                        nella sua richiesta non parla di nessuna TextBox

                        E' vero ma in che altro modo puoi implementare un input diretto dell'utente? Lui dice che nella userform potrebbe scrivere in minuscolo:

                        Frasubb ha scritto:

                        anche se nella userform stessa scrivo in minuscolo

                        Naturalmente possiamo andare avanti a lungo... aspettiamo che Frasubb ci risolva il dilemma   

                        #47888 Score: 0 | Risposta

                        Frasubb
                        Partecipante
                          1 pt

                          se scrivo così .... 

                          Private Sub TxtCliente_change()
                          ActiveSheet.Cells(2, 2) = UCase(TxtCliente.Text)

                          End Sub

                          mi scrive in maiuscolo solo la cella B2 ovviamente

                          Io invece vorrei che ogni qualvolta una cella della colonna B contenga testo, esso sia scritto in maiuscolo anche se nella textbox della mia userform scrivo in minuscolo

                          #47889 Score: 0 | Risposta

                          LucaSR
                          Partecipante
                            15 pts

                            Fermati perché stai sbagliando alla partenza, stai sbagliando concettualmente!!!

                            Frasubb ha scritto:

                            Private Sub TxtCliente_change() ActiveSheet.Cells(2, 2) = UCase(TxtCliente.Text)

                            End Sub

                            Questa sub è un obominio concettualmente anche se funzionasse. 

                            Praticamente stai, ad ogni pressione dei tasti sul Form, cambiando ciò che viene scritto sul foglio e questo è un approccio sbagliato.

                            Il foglio devi pensarlo come un database, prelevi ed inserisci dati UNA VOLTA, mica ad ogni pressione del tasto!!!

                            Quindi 

                            Private Sub TxtCliente_change() 
                                TxtCliente.Text = UCase(TxtCliente.Text)
                            End Sub

                            Così hai la textbox sempre in maiuscolo, poi quando sei pronto a salvare tutti i dati sul foglio, lo fai tramite pulsante o altro come hai scritto prima 

                            ActiveSheet.Cells(2, 2) = TxtCliente.Text

                            Ciao facci sapere 

                            #47890 Score: 0 | Risposta

                            gianfranco55
                            Partecipante
                              91 pts

                              ciao

                              Io invece vorrei che ogni qualvolta una cella della colonna B contenga testo, esso sia scritto in maiuscolo anche se nella textbox della mia userform scrivo in minuscolo

                              ragioniamoci sopra

                              se uso una textbox per avvalorare una cella della colonna B

                              e nello scrivere obbligo l'inserimento in MAIUSCOLO

                              `Private Sub TextBox1_Change()
                                  Sheets("Foglio1").Cells(1, 2) = UCase(TextBox1.Text)
                              End Sub
                              
                              oppure
                              Activesheets.Cells(1, 2) = UCase(TextBox1.Text)`

                              quante celle in Colonna B troverò scritte in minuscolo?

                              #47891 Score: 1 | Risposta

                              scossa
                              Partecipante
                                37 pts

                                Ciao, 

                                secondo me, a prescindere da dove scrivere il testo in maiuscolo, si dovrebbe usare l'evento TxtCliente_AfterUpdate() al posto dell'evento TxtCliente_Change().

                                #47892 Score: 0 | Risposta

                                LucaSR
                                Partecipante
                                  15 pts

                                  Ciao scossa 

                                  secondo me andrebbe bene anche l'evento LostFocus, se mi ricordo bene 🤔

                                  #47893 Score: 0 | Risposta

                                  scossa
                                  Partecipante
                                    37 pts

                                    LucaSR ha scritto:

                                    secondo me andrebbe bene anche l'evento LostFocus,

                                     

                                    Secondo me no: quell'evento viene scatenato anche se il valore della textbox non è cambiato, quindi non mi sembra l'evento più indicato.

                                    #47894 Score: 0 | Risposta

                                    LucaSR
                                    Partecipante
                                      15 pts

                                      Probabilmente hai ragione, il fatto è che non ho mai usato quell'evento e non sò come si comporti  

                                      #47918 Score: 0 | Risposta

                                      vecchio frac
                                      Senior Moderator
                                        272 pts

                                        LucaSR ha scritto:

                                        il fatto è che non ho mai usato quell'evento

                                        Per esempio, io lo utilizzo in Access per forzare il programma a non accettare piu' eventi di modifica dei campi (AllowEdits), dopo aver inserito un valore in un certo campo. La maschera quindi torna a sola lettura evitando digitazioni errate.

                                        #47966 Score: 0 | Risposta

                                        LucaSR
                                        Partecipante
                                          15 pts

                                          vecchio frac ha scritto:

                                          Per esempio, io lo utilizzo in Access per forzare il programma a non accettare piu' eventi di modifica

                                          E se volessi modificare? Hai un tasto o altro per entrare in Modalità Modifica?

                                          #47967 Score: 0 | Risposta

                                          vecchio frac
                                          Senior Moderator
                                            272 pts

                                            Be' si', e' una soluzione. Ma posso utilizzare anche l'evento GotFocus quando entro in un certo campo... riabilito AllowEdits   

                                            #47969 Score: 0 | Risposta

                                            LucaSR
                                            Partecipante
                                              15 pts

                                              Non capisco, dopo AfterUpdate disabili le modifiche con AllowEdits, per poi riabilitarle quando il campo riceve lo stato attivo con GotFocus. Onestamente secondo me è una situazione ridondante perché per modificare il campo devi in ogni caso entrarci dentro, non vedo come ottenere modifiche errate?

                                              #47989 Score: 1 | Risposta

                                              vecchio frac
                                              Senior Moderator
                                                272 pts

                                                Nel mio progetto voglio che solo Admin possa modificare i dati contenuti nella maschera. Gli altri quindi hanno una maschera in sola lettura. Pertanto in qualsiasi campo io entri (evento GotFocus) verifico il ruolo dell'utente, permettendo o no la modifica (AllowEdits) se un altro campo (un ID) aveva ricevuto un valore valido. In uscita da qualsiasi campo, io disabilito comunque la modifica perche' anche ad Admin deve essere assicurato di non poter fare danni involontari sui dati esistenti. 

                                                Riconosco che si possono studiare soluzioni alternative e i modi ci sono (uso di variabili pubbliche, di tag del form, di variabili TempVars eccetera). Ho messo in piedi questa tempo fa e non ci ho piu' pensato   

                                              Login Registrati
                                              Stai vedendo 22 articoli - dal 1 a 22 (di 22 totali)
                                              Rispondi a: Maiuscolo automatico
                                              Gli allegati sono permessi solo ad utenti REGISTRATI
                                              Le tue informazioni: