Formatdaten mit benutzerdefinierten Zahlenformaten mit VBA in Microsoft Excel
In diesem Artikel erstellen wir ein Makro, um die angegebenen Daten mit VBA im gewünschten benutzerdefinierten Zahlenformat zu formatieren.
Die Rohdaten für dieses Beispiel bestehen aus Verkaufsteamdaten. Die Rohdaten enthalten Name, Produkt-ID, Produktpreis, verkaufte Menge und Gesamtumsatz.
Vor dem Ausführen des Makros muss das benutzerdefinierte Nummernformat in Spalte P und die Spaltennummer angegeben werden, in der das benutzerdefinierte Nummernformat in Spalte Q angewendet werden soll.
Klicken Sie auf die Schaltfläche „Formatieren“, um das Makro „Formatieren“ auszuführen.
Das Makro ändert die Formatierung der angegebenen Daten entsprechend dem angegebenen benutzerdefinierten Zahlenformat.
Logische Erklärung
Dieses Makro wählt die Zahlenformatierung aus der Spalte P aus und weist die Zahlenformatierung den Spalten zu, die durch die Spaltennummern in der Spalte Q angegeben werden.
In diesem Makro haben wir zwei DO UNTIL-Schleifen zum Schleifen verwendet. Die erste DO UNTIL-Schleife wird verwendet, um eine Schleife zu erstellen, bis alle Zahlenformate auf Spalten angewendet wurden. Die zweite DO UNTIL-Schleife wird verwendet, um alle verschiedenen Spaltennummern zu finden, die durch Kommas (,) angegeben und getrennt sind.
Code Erklärung
strCol = Links (txt, InStr (txt, „,“) – 1)
Der obige Code wird verwendet, um die Spaltennummer von der Zeichenfolge zu trennen, die alle durch Kommas (,) getrennten Spaltennummern enthält.
Spalten (CInt (strCol)). NumberFormat = wks.Cells (intRow, 16) .Wert Der obige Code wird verwendet, um das benutzerdefinierte Zahlenformat auf die angegebene Spalte anzuwenden.
txt = Rechts (txt, Len (txt) – InStr (txt, „,“))
Der obige Code wird verwendet, um die ausgelassene Zeichenfolge nach dem Entfernen der Spaltennummer von der definierten Zeichenfolge zu trennen.
Bitte folgen Sie unten für den Code
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
Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook und Facebook.
[_GoBack] # Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]