Formati celle

  • Il formato di una cella di Katia
    Ciao ragazzi ho notato questo sito che e' molto interessante ed avrei bisogno di un aiutino da parte vostra per me che non ho molta dimestichezza con vba
    ho generato una macro (descritta qui sotto) che mi serve cosi'i come e'
    ossia rende una cella di excel in formato testo
    inserisce un numero e poi rende la cella in formato numero
    quando pero' poi vedo la cella il numero mi e' rimasto in formato testo e solo cliccandoci sopra si vede in formato numero
    come posso fare per far si che si veda poi in formato numero?
    p.s. lo so che la cella potrei subito settarla come numero ma ho bisogno che inizialmente sia in formato testo e poi in formato numero
     
    RANGE ("A1").SELECT
    Selection.NumberFormat = "@"
    ActiveCell.FormulaR1C1 = "1000"
    Selection.NumberFormat = "#,##"

    Ciao ! di Apoben64
    Per renderla di nuovo in formato numero come tu dici devi settarla , non ti basta questa operazione ? oppure puoi inserirla in un altra macro , forse nell'evento change del foglio.
    facci comunque sapere !!!
     
    Sub x()
    Range("A1").Select
    Selection.NumberFormat = "@"
    ActiveCell.FormulaR1C1 = "1000"
    Selection.NumberFormat = "#,##"
    Selection.NumberFormat = "0"  ' riporta la cella in formato numero 
    End Sub

    di Katia
    Caro apoben grazie per la risposta ma se tu provi ad utilizzara noterai che inizialmente rende la cella in testo, scrive 1000 nella cella
    pi la rende unnumero ma solo nel momento in cui ci clicchi sopra viene riconosciuto il numero

    di Big ronnie
    Ciao katia,
    vedi se questo codice ti va bene mettendolo nell'editor del foglio che ti interessa.ciao e fammi sapere.
     
    Sub ConvertiNumero()
    Dim A As Integer
    Range("b1").NumberFormat = "@"
    Range("b1") = "1000"
    A = Range("b1")
    Range("b1").NumberFormat = "#,##"
    Range("b1") = A
    End Sub
    

    di Apoben64
    Hai provato a usare anche la funzione =valore() ?
    esempio se il valore lo hai solo in a1 , in b1 =valore(a1), dovrebbe funzionare.

    di Katia
    Vi ringrazio vanno bene tutte e due le informazioni
    grazie

    di Tommy
    Solo per la cronaca, ma credo che la soluzione fosse molto più vicina di quanto pensassimo
    ho provato ad invertire le ultime 2 righe del codice iniziale e ... funziona! evidentemente la funzione numberformat agisce solo dopo aver inserito un nuovo valore nella cella;
     
    Range("A1").Select
    Selection.NumberFormat = "@"
    Selection.NumberFormat = "#,##"
    ActiveCell.FormulaR1C1 = "1000"