Questo sito utilizza cookie, anche di terze parti, per migliorare la tua esperienza e offrire servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie

Rimani informato sugli aggiornamenti di SOS-OFFICE. Inserisci il tuo indirizzo e-mail: Informativa sulla privacy

Funzione sostituzione

Vai
3 Anni 1 Mese fa #510 da micheledusck
COM_KUNENA_MESSAGE_CREATED_NEW
Ciao a tutti, ho un file con 50.000 righe e 20 colonne con dei valori numerici. E' un'estrazione che viene da un gestionale e i numeri sono formattati come contabilità senza valuta. Quindi i valori 0 li vedo come "-". Per far funzionare alcune funzioni nella tabella pivot devo sostituire il valore "-" con "0". Usando la funzione trova e sostituisci ci mette circa 5 minuti (deve leggere tutte le righe). C'è per caso un modo più veloce? Oppure si può fare in background in modo da non inchiodare tutto Excel?

Grazie per l'aiuto!

Ciao

Si prega Accedi o Crea un account a partecipare alla conversazione.

Vai
3 Anni 1 Mese fa #511 da Alessandra
COM_KUNENA_MESSAGE_REPLIED_NEW
hai provato a cambiare semplicemente il formato?

Si prega Accedi o Crea un account a partecipare alla conversazione.

Vai
3 Anni 1 Mese fa - 3 Anni 1 Mese fa #512 da micheledusck
COM_KUNENA_MESSAGE_REPLIED_NEW
Ciao, si ho provato e non funziona. Forse mi sono espresso male, ma quando seleziono una cella, il valore che vedo (nella barra di excel) è "-" e non 0. Quindi excel non lo riconosce come valore numerico ma come testo (credo). Se seleziono tutto e faccio cambia formato, il valore "-" rimane sempre "-", mentre gli altri numeri variano. Credo il problema sia nel salvataggio dei dati del gestionale, perché se scrivo *in un foglio nuovo un elenco di numeri tra cui valori con 0 e poi modifico il formato come contabilità senza valuta, excel continua a vedere i valori come 0, anziché come "-".

Ho paura che "-" venga visto come un testo e non si possa modificare se non con una sostituzione...qualche idea?

Grazie mille
Ciao
Last edit: 3 Anni 1 Mese fa by micheledusck.

Si prega Accedi o Crea un account a partecipare alla conversazione.

Vai
2 Anni 10 Mesi fa - 2 Anni 10 Mesi fa #513 da ges
COM_KUNENA_MESSAGE_REPLIED_NEW
Una soluzione è ricorrere al vba.

Con questa macro te la cavi in circa 30 secondi:

Sub sostituisci()
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Dim myArray()
    ReDim myArray(1 To 50000, 1 To 20)
    For i = 1 To 50000
        For x = 1 To 20
            myArray(i, x) = Cells(i, x).Value
        Next x
    Next i
    For i = 1 To 50000
        For x = 1 To 20
            Cells(i, x).Value = Replace(myArray(i, x), "-", 0)
        Next x
    Next i
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
End Sub
Last edit: 2 Anni 10 Mesi fa by ges.

Si prega Accedi o Crea un account a partecipare alla conversazione.

Vai
2 Anni 10 Mesi fa - 2 Anni 10 Mesi fa #514 da Rubik72
COM_KUNENA_MESSAGE_REPLIED_NEW
Un saluto a tutti.
Con questa modifica della routine di @ges (che saluto), recuperi qualche secondo:
Sub Sostituisci()
	Dim myArray()
	
	Application.ScreenUpdating = False
	Application.Calculation = xlCalculationManual
	
	myArray = Range("A1:T50000")
	
	For i = 1 To 1
		For x = 1 To 20
			myArray(i, x) = Replace(myArray(i, x), "-", "0")
		Next
	Next
	
	Range("A1:T50000") = myArray
	
	Application.ScreenUpdating = True
	Application.Calculation = xlCalculationAutomatic
End Sub

Follia è fare sempre la stessa cosa e aspettarsi risultati diversi.
Albert Einstein
Last edit: 2 Anni 10 Mesi fa by Rubik72.

Si prega Accedi o Crea un account a partecipare alla conversazione.

Tempo creazione pagina: 0.386 secondi
Powered by Forum Kunena
Joomla templates by a4joomla