Funzione "SOSTITUISCI"

Versione Completa   Stampa   Cerca   Utenti   Iscriviti     Condividi : FacebookTwitter
VITTER
00venerdì 23 febbraio 2018 16:26
"Bloccare" il formato di una o più celle
Ciao a tutti, modifico questo post perché mi sono reso conto di non essere stato molto chiaro in precedenza nell'esposizione del problema..

Mi piacerebbe sapere se esiste un modo (anche con l'ausilio di VBA) per "bloccare" il formato di una o più celle.

Mi spiego meglio..vorrei impostare uno specifico formato numerico su determinate celle del mio file excel e vorrei "bloccare" questo formato in modo che, nel momento in cui vado a copiare un numero da un file excel esterno (per esempio il numero "0001234.5") questo venga automaticamente trasformato, una volta incollato nella mia cella formattata, in un numero del tipo "1234,5" (senza zero e con sostituzione del punto con la virgola per i decimali).

Qualcuno sa dirmi come fare?

Avevo già provato le funzioni COPIA - INCOLLA SPECIALE - VALORI ma viene modificato purtroppo anche il formato...

Grazie mille
federico460
00venerdì 23 febbraio 2018 17:20
ciao

se lo copi come valore non dovresti
avere problemi
VITTER
00venerdì 23 febbraio 2018 17:49
Grazie, in che modo posso farlo?
federico460
00venerdì 23 febbraio 2018 18:57
ciao

copia
quando incolli clicca sull'icona che
ha scritto 123
VITTER
00lunedì 26 febbraio 2018 12:49
Ho provato a copiare e poi ho cliccato su "INCOLLA SPECIALE" - VALORI. Ma continua a non funzionare. Dove sbaglio?
VITTER
00lunedì 26 febbraio 2018 19:03
Ho modificato il primo messaggio spiegando più dettagliatamente il problema
by sal
00lunedì 26 febbraio 2018 20:15
Formattazione
Ciao Vetter esiste un modo di farlo anche molto semplice Usare gli stili di cella, non so quale versione di Excel usi, potrebbe darsi che nella tua versione non sia stato ancora implementato.

io uso la versione 2013, ma credo che dalla 2003 e superiore sia presente tale comando, ma non ne sono sicuro.

La prima cosa seleziona tutto il tuo foglio oppure solo le celle interessate al tuo formato, poi vai nel menu->Home e clicca su "Stili Cella" compare la maschera che vedi



a questo punto in basso della maschera clicca su "Nuovo Stile Cella" ti compare una mascherina per inserire il nome che vuoi assegnare allo stile, di norma esce "Stile 1" puoi lasciare anche quello e confermi.

Nella mascherina per l'assegnazione del nome puoi anche selezionare quale Formato vuoi mantenere, di norma lasciali tutti selezionati se poi non ti va bene deseleziona quello che non ti interessa.

ora fai il copiaIncolla dei dati logicamente ti riporterà il formato di partenza, apri di nuovo "Stili Cella" e nella mascherina compare in alto al primo rigo il nome che hai assegnato oppure "Stile 1", clicca sul Nome e vedrai cambiare il formato dei dati incollati in quello che volevi.

Spero di aver interpretato bene quello che ti serviva

Ciao By Sal [SM=x423051]

VITTER
00martedì 27 febbraio 2018 09:46
Ciao Sal, grazie per la risposta.
Ho seguito alla lettera le tue istruzioni, ma purtroppo non funziona nemmeno in questo caso.
Non so proprio come risolvere
raffaele1953
00martedì 27 febbraio 2018 11:11
Ciao a tutti
Secondo me nel file dove prendi i dati sono formatati come testo e dovrebbe esserci al fianco sinistro della cella un simbolo che dice "se vuoi convertirlo in numero". Copia/incolla e non dovresti avere problemi
Questo codice modifica eventuali dati "scritti male=0001234.5" nelle celle A1:A10
vb
Sub converti()
Dim x, n, d As Double
For x = 1 To 10
n = Replace(Cells(x, 1), ".", ",")
d = n
Cells(x, 1) = d
Next x
End Sub
VITTER
00martedì 27 febbraio 2018 11:46
Re:
raffaele1953, 27/02/2018 11.11:

Ciao a tutti
Secondo me nel file dove prendi i dati sono formatati come testo e dovrebbe esserci al fianco sinistro della cella un simbolo che dice "se vuoi convertirlo in numero". Copia/incolla e non dovresti avere problemi
Questo codice modifica eventuali dati "scritti male=0001234.5" nelle celle A1:A10
vb
Sub converti()
Dim x, n, d As Double
For x = 1 To 10
n = Replace(Cells(x, 1), ".", ",")
d = n
Cells(x, 1) = d
Next x
End Sub




Ti ringrazio raffaele1953 ! Il codice fornito funziona alla perfezione!
Ho solo un'altra domanda. Se volessi attuare questa modifica su diversi intervalli di celle (per esempio A1:A10 A13:A20 A22:A35) come potrei fare?
raffaele1953
00martedì 27 febbraio 2018 12:46
Questo il motivo di allegare sempre un files, in modo da capire quale soluzione sia migliore
Ripetendo il ciclo for, oppure usare il Worksheet_Change su celle distinte
For x = 1 To 10
.......
Next x
For x = 13 To 20
.......
Next x
For x = 22 To 35
.......
Next x
VITTER
00martedì 27 febbraio 2018 14:13
Re:
raffaele1953, 27/02/2018 12.46:

Questo il motivo di allegare sempre un files, in modo da capire quale soluzione sia migliore
Ripetendo il ciclo for, oppure usare il Worksheet_Change su celle distinte
For x = 1 To 10
.......
Next x
For x = 13 To 20
.......
Next x
For x = 22 To 35
.......
Next x



Grazie mille!

Questa è la versione 'lo-fi' del Forum Per visualizzare la versione completa clicca qui
Tutti gli orari sono GMT+01:00. Adesso sono le 11:23.
Copyright © 2000-2024 FFZ srl - www.freeforumzone.com