Eliminare gli zero iniziali in celle excel

Anonimo
2015-03-19T14:47:10+00:00

Buonasera,

vorrei il vostro aiuto su come eliminare gli zero iniziali su celle di excel.

es. 0098.00 vorrei che diventasse 98.00.

ho trovato nel web la seguente funzione ma si blocca alla riga .Value = InitialZeros(.Value)

Public Sub Tester()

Dim WB As Workbook

Dim SH As Worksheet

Dim Rng As Range

Dim rCell As Range

Set WB = ThisWorkbook

Set SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE

Set Rng = SH.Range("A1:A100") '<<=== da CAMBIARE

On Error GoTo XIT

Application.ScreenUpdating = False

For Each rCell In Rng.Cells

With rCell

.Value = InitialZeros(.Value)

End With

Next rCell

XIT:

Application.ScreenUpdating = True

End Sub

Grazie

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2015-03-19T16:42:49+00:00

Ciao Vito,

vorrei il vostro aiuto su come eliminare gli zero iniziali su celle di excel.

es. 0098.00 vorrei che diventasse 98.00.

ho trovato nel web la seguente funzione ma si blocca alla riga .Value = InitialZeros(.Value)

Public Sub Tester()

Dim WB As Workbook

Dim SH As Worksheet

Dim Rng As Range

Dim rCell As Range

Set WB = ThisWorkbook

Set SH = WB.Sheets("Foglio1") '<<=== da CAMBIARE

Set Rng = SH.Range("A1:A100") '<<=== da CAMBIARE

On Error GoTo XIT

Application.ScreenUpdating = False

For Each rCell In Rng.Cells

With rCell

.Value = InitialZeros(.Value)

End With

Next rCell

XIT:

Application.ScreenUpdating = True

End Sub

Anche se riconosco il codice, penso che ti manca il codice di una funzione InitialZerosche, a questa distanza di tempo, non me ne ricordo.

Tuttavia, per una soluzione di VBA, prova a sostituire quel codice con la seguente versione:

'=========>>

Option Explicit

'--------->>

Public Sub Tester()

    Dim WB As Workbook

    Dim SH As Worksheet

    Dim Rng As Range

    Dim rCell As Range

    Set WB = ThisWorkbook

    Set SH = WB.Sheets("Foglio1")                                          '<<=== Modifica

    Set Rng = SH.Range("A1:A100")                                         '<<=== Modifica

    On Error GoTo XIT

    Application.ScreenUpdating = False

    For Each rCell In Rng.Cells

        With rCell

            .NumberFormat = "0.00"

            .Value = .Value

        End With

    Next rCell

XIT:

    Application.ScreenUpdating = True

End Sub

'<<=========

===

Regards,

Norman

La risposta è stata utile?

0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2015-03-20T07:50:32+00:00

    Il formato è di testo prodotto da un sw esterno ma dovrebbe essere valuta.

    Seleziona le celle a cui cambiare formato, usa il comando Sostituisci.

    Nel campo Trova: .     metti il punto

    Nel campo Sostituisci: ,  metti la virgola

    Sostituisci tutto.

    Attribuisci ora alle celle il formato numerico che preferisci.

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2015-03-22T19:21:41+00:00

    Scusate per il ritardo ma non ho potuto provare prima il codice inviato gentilmente da Norman.

    Funziona benissimo e mi è stato di grande utilità.

    Grazie ancora

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2015-03-19T16:01:44+00:00

    Il formato è di testo prodotto da un sw esterno ma dovrebbe essere valuta.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2015-03-19T15:54:36+00:00

    Credo sia sufficiente una corretta formattazione della cella.

    Però occorrerebbe sapere cosa rappresenta 0098.00; è un numero con due decimali, o una stringa di testo o un'ora o che cosa?

    La risposta è stata utile?

    0 commenti Nessun commento