Risultati da 1 a 10 di 10

Discussione: correzione testo automaticamente e ridimensionamento



  1. #1
    L'avatar di dorico75
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    ancona
    Età
    42
    Messaggi
    50
    Versione Office
    Excel 2007
    Likes ricevuti
    0
    Likes dati
    1

    correzione testo automaticamente e ridimensionamento

    Salve bella gente e maghi di excel!:274:
    la dritta che mi serve è la seguente.
    Ho impostato un userform per l'inserimento in una determinata (M1) cella di un codice.
    Ma se tale codice mi viene inserito con forma errata mi crea un problema.
    La forma corretta è:
    Lettera zero 4 numeri ES V01234. ho notato che l'errore principale è nello zero, molte volte inseriscono la o.
    Come posso fare?

    Altro quesito. ho 2 celle (c3 e c4). in ognuna delle 2 celle c'è una formula con "se" che mi da determinati risultati ed ho impostato che in un determinato caso nella cella c3 si visualizzi una scritta e nella c4 nulla e fino a qui zero problemi.
    Ciò che non riesco a fare è che vorrei che quello che viene scritto nella C3 sconfini anche nella C4.
    In parole povere vorrei che dalla c3 alla c4 si legga: "Il presente codice non ha la giusta corrispondenza. ( in alternativa vorrei che la scritta si adegui alla cella C4 ( ma se metto vai a capo mi rimane troppo grossa e non si legge; se metto adatta e riduci praticamente non si legge).

  2. #2

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2814
    Versione Office
    Excel 2013
    Likes ricevuti
    1024
    Likes dati
    981
    1. In mancanza di un esempio (sarebbe stato più rapido e sempice), ho provveduto a farne uno con UserForm. Adattalo alle tue esigenze. Ecco il codice
    Codice: 
    Private Sub TextBox1_Change()
    Dim iCount As Integer
    Dim Codice As String
    
    
    Codice = UCase(TextBox1.Text)
    If Len(Codice) > 6 Then
        MsgBox "Codice errato", vbCritical + vbOKOnly, "ATTENZIONE"
        TextBox1.SelStart = 6
        TextBox1.SelLength = 1
        Exit Sub
    End If
    Select Case Len(Codice)
        Case 1
            If Asc(Mid(Codice, Len(Codice), 1)) < 65 Or Asc(Mid(Codice, Len(Codice), 1)) > 90 Then
                MsgBox "Valore non ammesso", vbCritical + vbOKOnly, "ATTENZIONE"
                TextBox1.SelStart = 0
                TextBox1.SelLength = 1
            End If
        Case 2
            If Mid(Codice, Len(Codice), 1) <> 0 Then
                MsgBox "Valore non ammesso", vbCritical + vbOKOnly, "ATTENZIONE"
                TextBox1.SelStart = 1
                TextBox1.SelLength = 1
            End If
        Case 3
            If Mid(Codice, Len(Codice), 1) < 0 Or Mid(Codice, Len(Codice), 1) > 9 Then
                MsgBox "Valore non ammesso", vbCritical + vbOKOnly, "ATTENZIONE"
                TextBox1.SelStart = 2
                TextBox1.SelLength = 1
            End If
        Case 4
            If Mid(Codice, Len(Codice), 1) < 0 Or Mid(Codice, Len(Codice), 1) > 9 Then
                MsgBox "Valore non ammesso", vbCritical + vbOKOnly, "ATTENZIONE"
                TextBox1.SelStart = 3
                TextBox1.SelLength = 1
            End If
        Case 5
            If Mid(Codice, Len(Codice), 1) < 0 Or Mid(Codice, Len(Codice), 1) > 9 Then
                MsgBox "Valore non ammesso", vbCritical + vbOKOnly, "ATTENZIONE"
                TextBox1.SelStart = 4
                TextBox1.SelLength = 1
            End If
        Case 6
            If Mid(Codice, Len(Codice), 1) < 0 Or Mid(Codice, Len(Codice), 1) > 9 Then
                MsgBox "Valore non ammesso", vbCritical + vbOKOnly, "ATTENZIONE"
                TextBox1.SelStart = 5
                TextBox1.SelLength = 1
            End If
    End Select
    
    
    End Sub
    2. Con Excel se due celle adiacenti contengono valori/formule, nella prima non è possibile far "allungare" il testo/risultato nella seconda cella.
    File Allegati File Allegati

  3. #3
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3222
    Versione Office
    Excel2010
    Likes ricevuti
    628
    Likes dati
    155
    Salve a tutti
    Visto che l'ho fatta, posto anche la mia macro (leggermente più corta di quella di Rubik :166: ).
    Codice: 
    Private Sub TextBox1_Change() 'controllo inserimento numero
    Dim i As Integer, codice As String, lung As Integer
        codice = UCase(TextBox1.Text)
        lung = Len(codice)
        For i = 1 To lung
            tasto = Asc(Mid(codice, i, 1))
            If i = 1 And (tasto < 65 Or tasto > 90) Then
                MsgBox "Il primo carattere deve essere una lettera", 0 + 16, "Errore"
                Exit Sub
            ElseIf i = 2 And tasto <> 48 Then
                MsgBox "Il secondo carattere deve essere uno zero", 0 + 16, "Errore"
                Exit Sub
            ElseIf i > 2 And (tasto < 48 Or tasto > 57) Then
                MsgBox "Il carattere inserito non è una cifra.", 0 + 16, "Errore"
                Exit Sub
            End If
        Next
        TextBox1.Text = codice
    End Sub
    Per quanto attiene l'altro problema concordo pienamente con Rubik.
    Forse, però, era meglio postare la domanda nell'altra sezione.

    Ciao,
    Mario
    Ultima modifica fatta da:Marius44; 24/03/16 alle 20:21 Motivo: sezione errata

  4. #4
    L'avatar di dorico75
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    ancona
    Età
    42
    Messaggi
    50
    Versione Office
    Excel 2007
    Likes ricevuti
    0
    Likes dati
    1
    Grazie per il pronto intervento.
    Sinceramente ho un problema poichè non riesco ad integrare il tuo codice con il mio.
    Scusa, ma come puoi immaginare non sono un granchè.
    Dove devo inserire il tuo codice?
    Io ho un modulo, un foglio ed un userform.

  5. #5

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6812
    Versione Office
    2013
    Likes ricevuti
    721
    Likes dati
    165
    Ciao Dorico

    Innanzi tutto un caro saluto a Mario.

    Quando sei in struttura della userform fai clic con il tasto dx del mouse e scegli "VIsualizza codice".

    Ti si apre l'editor di VBA e in alto a destra copia ed incolla il codice di Mario.

    Alfredo

  6. #6
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3222
    Versione Office
    Excel2010
    Likes ricevuti
    628
    Likes dati
    155
    Grazie per l'intervento di Alfredo (un affettuoso saluto) che ha spiegato senza dubbio meglio di me il da farsi.

    I migliori auguri per un Pasqua serena a voi ed alle vostre famiglie,
    Mario

  7. #7

    L'avatar di alfrimpa
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Napoli
    Età
    64
    Messaggi
    6812
    Versione Office
    2013
    Likes ricevuti
    721
    Likes dati
    165
    Mario ma io sono un misero "Junior" tu, invece, sei un "Esperto" :166:

    Tanti cari auguri di buona Pasqua.

    Alfredo

  8. I seguenti utenti hanno dato un "Like"


  9. #8
    L'avatar di dorico75
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    ancona
    Età
    42
    Messaggi
    50
    Versione Office
    Excel 2007
    Likes ricevuti
    0
    Likes dati
    1
    Grazie per i preziosi consigli. Non vedo l'ora di rimettermici a lavorare. Poi vi farò sapere. E grazie mille ancora.
    Buona pasqua a voi.
    Marco.

  10. #9
    L'avatar di dorico75
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    ancona
    Età
    42
    Messaggi
    50
    Versione Office
    Excel 2007
    Likes ricevuti
    0
    Likes dati
    1
    eureka FUNZIONA:274::274::274:Grazie mille e scusate i miei temi bibblici, ma sono come avrete capito non sono esattamente un drago:271:
    solo una cosa, come faccio a far limitare il numero di caratteri inseribili a 6?

  11. #10
    L'avatar di Marius44
    Clicca e Apri
    Data Registrazione
    Sep 2015
    Località
    Catania
    Età
    73
    Messaggi
    3222
    Versione Office
    Excel2010
    Likes ricevuti
    628
    Likes dati
    155
    Ciao Dorico
    Nella macro che ti ho postato, dopo lung=Len(codice) e prima del ciclo For ... Next inserisci queste righe
    Codice: 
    If lung>6 then
        msgbox "Sono consetiti massimo 6 caratteri"
        exit sub
    End if
    Ciao,
    Mario

Discussioni Simili

  1. [Risolto] Correzione macro salva file
    Di Vincenzo Damiani nel forum Domande su Excel VBA e MACRO
    Risposte: 3
    Ultimo Messaggio: 24/02/17, 08:24
  2. [Risolto] Correzione cod.VBA
    Di max72 nel forum Domande su Excel VBA e MACRO
    Risposte: 12
    Ultimo Messaggio: 08/02/17, 00:00
  3. [Risolto] Problemi con il ridimensionamento delle celle
    Di sergiogranero nel forum Domande su Excel in generale
    Risposte: 16
    Ultimo Messaggio: 28/10/16, 23:33
  4. Correzione dati mirata
    Di G.Bove nel forum Domande su Excel VBA e MACRO
    Risposte: 38
    Ultimo Messaggio: 03/09/16, 07:17
  5. Aiuto correzione macro
    Di lala10 nel forum Domande su Excel VBA e MACRO
    Risposte: 26
    Ultimo Messaggio: 12/06/16, 00:46

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •