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

Benvenuto, Ospite
Nome utente: Password: Ricordami

ARGOMENTO: Funzione sostituzione

Funzione sostituzione 6 Mesi 2 Settimane fa #510

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
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Funzione sostituzione 6 Mesi 2 Settimane fa #511

hai provato a cambiare semplicemente il formato?
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Funzione sostituzione 6 Mesi 2 Settimane fa #512

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
Ultima modifica: 6 Mesi 2 Settimane fa da micheledusck.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Funzione sostituzione 3 Mesi 4 Settimane fa #513

  • ges
  • Avatar di ges
  • Offline
  • Fresh Boarder
  • Messaggi: 2
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
Ultima modifica: 3 Mesi 4 Settimane fa da ges.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

Funzione sostituzione 3 Mesi 3 Settimane fa #514

  • Rubik72
  • Avatar di Rubik72
  • Offline
  • Utente esperto
  • Messaggi: 56
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
Ultima modifica: 3 Mesi 3 Settimane fa da Rubik72.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.098 secondi
Powered by Forum Kunena
Joomla templates by a4joomla