I figli d'arte sono all'altezza dei genitori? Vieni a parlarne su Award & Oscar.
 
Pagina precedente | 1 | Pagina successiva
Vota | Stampa | Notifica email    
Autore

lunghezza testo mentre scrivo

Ultimo Aggiornamento: 27/10/2015 12:53
Post: 1
Registrato il: 27/10/2015
Utente Junior
excel 2007
OFFLINE
27/10/2015 11:31

un saluto a tutti,
avrei bisogno di controllare il numero di caratteri di una stringa mentre la scrivo, cerco di spiegarmi meglio:
devo utilizzare un foglio excel con un elenco di progetti distribuito sulle righe (il foglio è blindato e non posso inserire colonne a fianco di quelle esistenti), per generare una presentazione PowerPoint; utilizzo una macro in Visualasic e tutto funziona bene, ho solo un problema con le dimensioni delle caselle di testo che debbono accogliere il testo presente in alcune celle del foglio excel dal momento che tali dimensioni sono fisse e alcune volte il testo è troppo lungo; ho inserito di controlli nel foglio execl con lunghezza massima dei caratteri ed avvisi ma non riesco a visualizzare il numero dei caratteri (non potendo inserire colonne non posso utilizzare nemmeno la funzione LUNGHEZA()) e mi domando se esista una funzione che generi un messaggio con il numero di caratteri digitati magari facendo comparire un "BOX" a video.

spero di essere riuscito a spiegare bene il problema e che vogliate scusare eventuali termini da inesperto.

Franco [SM=x423023]
Post: 1.131
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
27/10/2015 12:06

Ciao Franco

Premetto che il mio è solo un tentativo di risposta.

La sottostante macro fa si che (la cosa è limitata alla sola cella A1) che quando inserisci qualcosa e dai Invio ti appare una finestra che ti indica il numero di caratteri inseriti.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("a1")) Is Nothing Then
    Select Case Len(Range("a1"))
        Case Is = 1
            MsgBox "Hai inserito n.:" & vbCrLf & Len(Range("a1")) & " " & "carattere"
        Case Is > 1
            MsgBox "Hai inserito n.:" & vbCrLf & Len(Range("a1")) & " " & "caratteri"
    End Select
End If
End Sub


Non so se sia possibile fare apparire il messaggio alla pressione di ogni singolo tasto.

E' possibile invece impostare la cosa in modo che, qualora la lunghezza sia maggiore di quella consentita, tornare in cella A1 cancellarne il contenuto per una nuova immissione.

Ti allego comunque il file
[Modificato da alfrimpa 27/10/2015 12:09]

Alfredo
Post: 1
Registrato il: 27/10/2015
Utente Junior
excel 2007
OFFLINE
27/10/2015 12:37

Grazie
Ciao e grazie ..... fa più o meno quello che vorrei .... però come faccio ad inserirlo nel foglio che utilizzo ? nel senso ... se copio la macro non riesco ad eseguirla e nel foglio c'è un'istruzione relativa ad una userform che non trovo ... scusa ma quello che mi hai mandato è molto interessante e vorrei provare ad utilizzarlo

ciao [SM=x423028]
Post: 1.132
Registrato il: 21/06/2013
Città: NAPOLI
Età: 70
Utente Veteran
Excel 365
OFFLINE
27/10/2015 12:49

Ciao Franco

Quello della userform è un mio precedente tentativo che ho poi cancellato.

Le macro possono essere inserite in moduli standard (e lanciate in vari modi) o in moduli dei fogli di lavoro qualora si voglia eseguire il codice al verificarsi di determinati eventi.

Nel tuo caso la macro viene eseguita quando viene modificato il contenuto della cella A1 (va da sé che si possono prevedere quante celle si vogliono).

Per inserire tali macro devi:

1) Aprire l'editor di VBA
2) In alto a sinistra fare doppio clic sul foglio dove vuoi la macro abbia effetto
3) Nella finestra a destra in altro vedrai due "tendine"; in quella a sinistra seleziona Worksheet ed in quella a destra Change
4) Vedrai comparire le seguenti istruzioni:

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

all'interno delle quali dovrai copiare il codice della mia macro.

Alfredo
Post: 2
Registrato il: 27/10/2015
Utente Junior
excel 2007
OFFLINE
27/10/2015 12:53

OK
OK Fatto ed impostando un range più ampio la cosa funziona anche se ora devo trovare il sistema di legare i messaggi alla cella che sto cambiando ... comunque grazie ... fa quello che mi serve, semplice ed efficace [SM=x423030]
Vota:
Amministra Discussione: | Chiudi | Sposta | Cancella | Modifica | Notifica email Pagina precedente | 1 | Pagina successiva
Nuova Discussione
 | 
Rispondi
Feed | Forum | Bacheca | Album | Utenti | Cerca | Login | Registrati | Amministra
Tutti gli orari sono GMT+01:00. Adesso sono le 03:24. Versione: Stampabile | Mobile | Regolamento | Privacy
FreeForumZone [v.6.1] - Copyright © 2000-2024 FFZ srl - www.freeforumzone.com