Formattare i dati con formati numerici personalizzati utilizzando VBA in Microsoft Excel

Sommario

In questo articolo, creeremo una macro per formattare i dati forniti nel formato numerico personalizzato desiderato utilizzando VBA.

I dati grezzi per questo esempio sono costituiti dai dati del team di vendita. I dati grezzi contengono nome, ID prodotto, prezzo del prodotto, quantità venduta e vendite totali.

Prima di eseguire la macro, è necessario specificare il formato del numero personalizzato nella colonna P e il numero della colonna in cui si desidera applicare il formato del numero personalizzato nella colonna Q.

Fare clic sul pulsante "Formatta" per eseguire la macro "Formattazione".

La macro cambierà la formattazione dei dati forniti in base al formato numerico personalizzato specificato.

Spiegazione logica

Questa macro preleva la formattazione del numero dalla colonna P e assegna la formattazione del numero alle colonne specificate dai numeri di colonna nella colonna Q.

In questa macro, abbiamo usato due cicli DO UNTIL per il ciclo. Primo DO UNTIL Loop viene utilizzato per eseguire il ciclo finché tutti i formati numerici non vengono applicati alle colonne. Il secondo ciclo DO UNTIL viene utilizzato per trovare tutti i diversi numeri di colonna specificati e separati da virgole(,).

Spiegazione del codice

strCol = Left(txt, InStr(txt, ",") - 1)

Il codice sopra viene utilizzato per separare il numero di colonna dalla stringa che contiene tutti i numeri di colonna separati da virgole (,).

Columns(CInt(strCol)).NumberFormat = wks.Cells(intRow, 16).Value

Il codice sopra viene utilizzato per applicare il formato numerico personalizzato sulla colonna specificata.

txt = Destra(txt, Len(txt) - InStr(txt, ","))

Il codice sopra viene utilizzato per separare la stringa lasciata dopo la rimozione del numero di colonna dalla stringa definita.

Si prega di seguire sotto per il codice

Option Explicit Sub Formatting() 'Dichiarazione delle variabili Dim wks As Worksheet Dim intRow As Long Dim strCol As String Dim txt As String 'Inizializzazione delle variabili Set wks = Worksheets("Format") intRow = 4 'Ciclo nella 16a colonna fino a quando il valore vuoto è trovato Do Until IsEmpty(wks.Cells(intRow, 16)) 'Assegnazione del valore del formato numerico personalizzato txt = wks.Cells(intRow, 17) 'Looping e ricerca di tutti i numeri di colonna separati da virgola(,) Do Until InStr( txt, ",") = 0 'Ottenere il numero di colonna strCol = Left(txt, InStr(txt, ",") - 1) 'Assegnare il formato numerico Columns(CInt(strCol)).NumberFormat = wks.Cells(intRow , 16).Value 'Tronco della stringa per trovare il numero di colonna successivo dopo la virgola(,) txt = Right(txt, Len(txt) - InStr(txt, ",")) Loop 'Assegnazione del formato numerico Columns(CInt (txt)).NumberFormat = wks.Cells(intRow, 16).Value intRow = intRow + 1 Loop End Sub

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook. Inoltre, puoi seguirci su Twitter e Facebook.

Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici al sito di posta elettronica

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave