Discussione:
Formattare cella di testo da VBA
(troppo vecchio per rispondere)
Mizio
2008-06-09 15:11:44 UTC
Permalink
Mi sembrava una cosa banale ma non ne vengo a capo. Da un
programma Access devo generare un file Excel e poi lavorarci su. Tutto
bene, ma quando scrivo alcuni codici particolari tipo 1E0010 Excel li
trasforma in 1+E10, trattandoli quindi come formato scientifico. Dato
che invece sono dei codici che dovrebero rimanere cosi', volevo
formattare la cella prima di scrivere i valori, ma non riesco a
trovare il modo di farlo.

Il codice che uso e' il seguente :

Cellabase.Offset(0, 1).Value = txtCod

dove Cellabase e' la cella di riferimento e txtCode il codice da
scrivere passato alla routine come stringa. Ho provato a passare il
valore racchiuso tra apici :

Cellabase.Offset(0, 1).Value = """" & txtCod & """"

ma naturalmente mi racchiude tutti i valori tra apici, e questo non e'
accettabile.

Ma come si fa a imporre di considerarlo del testo ?

Grazie per il supporto,

Maurizio
Norman Jones
2008-06-09 15:26:51 UTC
Permalink
Ciao Mizio.

=============
Mi sembrava una cosa banale ma non ne vengo a capo. Da un
programma Access devo generare un file Excel e poi lavorarci su. Tutto
bene, ma quando scrivo alcuni codici particolari tipo 1E0010 Excel li
trasforma in 1+E10, trattandoli quindi come formato scientifico. Dato
che invece sono dei codici che dovrebero rimanere cosi', volevo
formattare la cella prima di scrivere i valori, ma non riesco a
trovare il modo di farlo.

Il codice che uso e' il seguente :

Cellabase.Offset(0, 1).Value = txtCod

dove Cellabase e' la cella di riferimento e txtCode il codice da
scrivere passato alla routine come stringa. Ho provato a passare il
valore racchiuso tra apici :

Cellabase.Offset(0, 1).Value = """" & txtCod & """"

ma naturalmente mi racchiude tutti i valori tra apici, e questo non e'
accettabile.

Ma come si fa a imporre di considerarlo del testo ?
=============

Prova qualcosa del genere:

'========>>
Public Sub Tester()

'\\ Tuo codice

With Cellabase.Offset(0, 1)
.NumberFormat = "@"
.Value = txtCod
End With

'\\ Tuo altro codice

End Sub
'<<========



---
Regards.
Norman
Mizio
2008-06-09 16:06:24 UTC
Permalink
On Mon, 9 Jun 2008 16:26:51 +0100, "Norman Jones"
Post by Norman Jones
With Cellabase.Offset(0, 1)
.Value = txtCod
End With
Perfetto, funziona alla grande. Pensavo che NumberFormat servisse solo
per i numeri.......brutta cosa l'ignoranza !!

Grazie mille per la rapidita' nella risposta,

Maurizio
Mauro Gamberini
2008-06-09 17:06:13 UTC
Permalink
Post by Mizio
Perfetto, funziona alla grande. Pensavo che NumberFormat servisse solo
per i numeri.......brutta cosa l'ignoranza !!
Domanda stupida(la mia).
Ma registrare una macro formattando
come testo una cella e guardare poi
il risultato nell'editor del vb, era
*poco professionale*?
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
Loading...