formattare i dati con i formati numerici personalizzati che utilizzano VBA in Microsoft Excel
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 “Formato” per eseguire la macro “Formattazione”.
La macro cambierà la formattazione dei dati forniti in base al formato numerico personalizzato specificato.
Spiegazione logica
Questa macro seleziona 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 loop. Per prima cosa 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 (,).
Colonne (CInt (strCol)). NumberFormat = wks.Cells (intRow, 16) .Value Il codice sopra viene utilizzato per applicare il formato numerico personalizzato alla colonna specificata.
txt = Right (txt, Len (txt) – InStr (txt, “,”))
Il codice sopra viene utilizzato per separare la stringa esclusa dopo la rimozione del numero di colonna dalla stringa definita.
Segui sotto per il codice
Option Explicit Sub Formatting() 'Declaring variables Dim wks As Worksheet Dim intRow As Long Dim strCol As String Dim txt As String 'Initializing the variables Set wks = Worksheets("Format") intRow = 4 'Looping in 16th column until empty value is found Do Until IsEmpty(wks.Cells(intRow, 16)) 'Assigning the value of custom number format txt = wks.Cells(intRow, 17) 'Looping and finding all the column number separated by comma(,) Do Until InStr(txt, ",") = 0 'Getting the column number strCol = Left(txt, InStr(txt, ",") - 1) 'Assigning the number format Columns(CInt(strCol)).NumberFormat = wks.Cells(intRow, 16).Value 'Truncating the string for finding the next column number after the comma(,) txt = Right(txt, Len(txt) - InStr(txt, ",")) Loop 'Assigning the number format 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 e Facebook.
[_GoBack] # Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]