Creazione macroimpostazioni
Hai un problema con Excel? 
Creazione macro/impostazioni
di italianslovak (utente non iscritto) data: 05/12/2017 13:21:26
Salve a tutti, come sarebbe possibile in excel impedire l'inserimento di caratteri speciali [™, ®, €, …, †, ‡, o, ¢, £, ¥, ©, ±, ~, â, e simili], impostare automaticamente la modifica della lettera maiuscola per ogni lettera iniziale di parola, impostare lunghezza massima caratteri e impedire inserimento di link e/o numeri di telefono e mail?
di alfrimpa data: 05/12/2017 14:22:25
Ciao
Allega un file di esempio con i dati spiegando bene quello che vuoi fare.
Alfredo
di italianslovak (utente non iscritto) data: 05/12/2017 17:46:51
campo 1:
- struttura: Brand + Numero modello + Nome collezione (se previsto) + Caratteristiche essenziali prodotto + Colore/Taglia (se previsto)
- Non sono ammessi caratteri speciali [™, ®, €, …, †, ‡, o, ¢, £, ¥, ©, ±, ~, â, e simili]
- Lettera maiuscola per ogni lettera iniziale di parola (articoli e preposizioni esclusi). Parole intere tutte in maiuscolo non sono ammesse (eccezion fatta nel caso in cui il brand sia stato registrato come scritto tutto in maiuscolo).
- Lunghezza massima tra i 120 e 150 caratteri spazi inclusi.
campo 2: - lunghezza massima: 2000 caratteri spazi inclusi
- Non sono ammessi caratteri speciali [™, ®, €, …, †, ‡, o, ¢, £, ¥, ©, ±, ~, â e simili]
- Parole intere tutte in maiuscolo non ammesse
- da evitare: riferimenti a garanzie del produttore, politiche di reso e rimborso, garanzie universali.
- non possono riportare link a siti esterni, né contenere hyperlink
- non possono contenere riferimenti a siti esterni e/o recapiti email o telefonici
- controllare la lunghezza delle descizioni (inclusi I tag non devono superare i 2000 caratteri)
di Zer0Kelvin data: 05/12/2017 17:57:04
Il file di esempio dov'è?
di alfrimpa data: 06/12/2017 12:23:26
Marco il file di esempio c'è ma è inutile.
Alfredo
di Marco (utente non iscritto) data: 06/12/2017 17:53:51
in pratica, in determinate colonne bisogna impostare delle "restrizioni" quali lunghezza massima del testo, cambio automatico della prima lettera se minuscola in maiuscola, impedire l'inserimento di caratteri speciali, etc...
di alfrimpa data: 06/12/2017 18:54:39
Allora per la lunghezza massima del testo puoi impostarla con la Convalida dati, Lunghezza Testo.
Per l'iniziale maiuscola puoi usare una procedura del tipo di quella che vedi sotto utilizzando eventualmente l'istruzione Intersect per limitarne l'effetto a determinate colonne (qui l'ho impostata per la colonna ).
Per la non immissione di caratteri speciali al momento non saprei dire ma credo si possa fare con una Convalida dati personalizzata.
A questo proposito sei in grado di darci i codici ASCII di tutti i caratteri "speciali" che non vuoi siano inseriti?
Alfredo
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C:C")) Is Nothing Then
Target.Value = Application.WorksheetFunction.Proper(Target.Value)
End If
End Sub
|
di Zer0Kelvin data: 06/12/2017 20:50:19
Ciao.
Tantp per... ho provato ad impostare una convalida, ma (almeno a me) vengono fuori cose chilometriche.
Per esempio, per impedire l'inserimanto di # e @
Potrebbe essere più pratico obbligare l'utente ad inserire i dati tramite TextBox.
=E(SE.ERRORE(RICERCA("#";INDIRETTO(CELLA("indirizzo"));1); VERO )=VERO;SE.ERRORE(RICERCA("@";INDIRETTO(CELLA("indirizzo"));1); VERO )=VERO)
oppure
=SOMMA(SE.ERRORE(RICERCA("#";INDIRETTO(CELLA("indirizzo"));1); 0);SE.ERRORE(RICERCA("@";INDIRETTO(CELLA("indirizzo"));1); 0))=0 |
di Zer0Kelvin data: 06/12/2017 22:23:43
Scusate, in realtà non c'era bisogno di usare
INDIRETTO(CELLA("indirizzo"))
=SOMMA(SE.ERRORE(RICERCA("#";A1;1); 0);SE.ERRORE(RICERCA("@";A1;1); 0))=0 |
di Marco (utente non iscritto) data: 07/12/2017 13:27:39
caratteri speciali in ascii
dal 1 al 38
dal 126 al 245 esclusi 133, 138, 141, 144, 149.
di Marco (utente non iscritto) data: 15/12/2017 07:50:55
Ciao Alfredo,
purtroppo non sono riuscito ad impostare i codici d ate forniti :(
di alfrimpa data: 15/12/2017 18:14:36
Per far funzionare la macro che vedi sotto devi
1) Aprire l'editor di VBA con Alt+F11
2) In alto a sinistra fai doppio clic sul foglio interessato
3) In alto a destra copia/incolla il codice.
Tornando al foglio vedrai che ogni volta che inserirai qualcosa in colonna C la parola assumerà l'iniziale maiuscola.
Alfredo
P.S. Perché non ti iscrivi al forum? Almeno così riceverai le notifiche mail delle risposte che vengono alle discussioni che apri.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C:C")) Is Nothing Then
Target.Value = Application.WorksheetFunction.Proper(Target.Value)
End If
End Sub
|
di Marco (utente non iscritto) data: 17/12/2017 18:27:56
Registrato :)
l'ultima funzione l'ho inserita e funziona, quelle precedenti non c'è verso :(
Vuoi Approfondire?