In einer kürzlich durchgeführten Aufgabe habe ich in einer Zahlenspalte über VBA gefiltert. Aber diese Zahlenspalte hatte Zahlen im Textformat. Als ich das VBA-Skript ausführte, funktionierte es natürlich nicht, da der Filter eine Zahl war und die Spalte Zahlen als Text enthielt. In diesem Fall musste ich den Text manuell in Zahlen umwandeln und speichern. Dann funktionierte das Makro perfekt.

Aber ich wollte diese Texte mit dem VBA-Skript in Zahlen umwandeln und konnte es tun. Ich wollte dies teilen, als ob jemand wissen wollte, wie man Textwerte mit VBA in eine Zahl umwandelt, er kann es sich ansehen.

===

image

Konvertieren Sie Text mit der Range.NumberFormat-Methode in eine Zahl. Diese erste und einfachste Methode. Ich bevorzuge diese Methode gegenüber anderen Methoden, da sie den ausgewählten Excel-Bereich direkt in das Zahlenformat konvertiert.

Wenn Sie also einen festen Bereich haben, den Sie in Text konvertieren möchten, verwenden Sie dieses VBA-Snippet.

Sub ConvertTextToNumber()

Range("A3:A8").NumberFormat = "General"

Range("A3:A8").Value = Range("A3:A8").Value

End Sub

Wenn Sie den obigen Code ausführen, wird der Text des Bereichs A3: A8 in Text konvertiert.

Dieser Code kann eleganter aussehen, wenn wir ihn so schreiben.

Sub ConvertTextToNumber()



With Range("A3:A8")

.NumberFormat = "General"

.Value = .Value

End With

End Sub

Wie funktioniert es?

Nun, es ist ganz einfach. Wir ändern zuerst das Zahlenformat des Bereichs in Allgemein. Dann setzen wir den Wert dieses Bereichs mit VBA in den gleichen Bereich. Dadurch wird die Textformatierung vollständig entfernt. Einfach, nicht wahr?

Ändern Sie die Anzahl der Formatierungen eines Dynamikbereichs

Im obigen Code haben wir den Text in die Nummer im obigen Code eines festen Bereichs geändert, aber dies wird die meiste Zeit nicht der Fall sein. Um Text in eine Reihe von Dynamikbereichen zu konvertieren, können wir die zuletzt verwendete Zelle auswerten oder den Bereich dynamisch auswählen.

So würde es aussehen:

Sub ConvertTextToNumber()

With Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row)

.NumberFormat = "General"

.Value = .Value

End With

Hier weiß ich, dass die Reichweite von A3 ausgeht. Aber ich weiß nicht, wo es enden könnte.

Daher identifiziere ich dynamisch „zuletzt verwendete Excel-Zeile„, in dem Daten enthalten sind das VBA-Snippet Cells (Rows.Count, 1) .End (xlUp) .Row. Es gibt die zuletzt verwendete Zeilennummer zurück, die wir mit „A3: A“ verketten.

Hinweis: Dieses VBA-Snippet funktioniert in der aktiven Arbeitsmappe und im aktiven Arbeitsblatt. Wenn Ihr Code durch mehrere Blätter wechselt, ist es besser, ein Bereichsobjekt des beabsichtigten Arbeitsblatts festzulegen. So

Sub ConvertTextToNumber()

Set Rng = ThisWorkbook.Sheets("Sheet1").Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row)

With Rng

.NumberFormat = "General"

.Value = .Value

End With

End Sub

Der obige Code ändert den Text immer in die Nummer des Blattes1 der Arbeitsmappe, die diesen Code enthält.

Schleife und CSng, um den Text in eine Zahl zu ändern Eine andere Methode besteht darin, jede Zelle zu durchlaufen und den Zellenwert mithilfe der CSng-Funktion in eine Zahl zu ändern. Hier ist der Code.

Sub ConvertTextToNumberLoop()

Set Rng = ThisWorkbook.Sheets("Sheet1").Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row)



For Each cel In Rng.Cells

cel.Value = CSng(cel.Value)

Next cel

End Sub

Im obigen VBA-Snippet verwenden wir link: / vba-for-Schleifen-mit-7-Beispielen [VBA For-Schleife], um über jede Zelle im Bereich zu iterieren und den Wert jeder Zelle unter Verwendung von in eine Zahl umzuwandeln link: / excel-makros-und-vba-was-ist-csng-funktion-in-excel-vba [CSng-funktion von VBA].

Also ja Leute, so können Sie mit VBA Texte in Excel in Zahlen umwandeln. Sie können diese Snippets verwenden, um Ihr Arbeitsblatt vorzubereiten, bevor Sie eine Zahlenoperation daran ausführen. Ich hoffe ich war erklärend genug. Sie können die Arbeitsdatei hier herunterladen.

`link: /wp-content-uploads-2020-01-Change-Text-to-Number-Using-VBA.xls [Text mit VBA in Nummer ändern].

Wenn Sie Zweifel bezüglich der Konvertierung von Text in Zahlen oder einer anderen Excel / VBA-bezogenen Abfrage haben, fragen Sie im Kommentarbereich unten nach.

Verwandte Artikel:

link: / formatieren-in-vba-format-tabelle-abhängig-von-nummer-formaten-mit-vba-in-microsoft-excel [Formatieren von Daten mit benutzerdefinierten Zahlenformaten mit VBA in Microsoft Excel] | Verwenden Sie dieses VBA-Snippet, um das Zahlenformat bestimmter Spalten in Excel zu ändern. Mit einem Klick wird das Zahlenformat von angegeben bis angegeben verdeckt.

Beliebte Artikel:

link: / Tastatur-Formel-Verknüpfungen-50-Excel-Verknüpfungen-zur-Steigerung-Ihrer-Produktivität [50 Excel-Verknüpfungen zur Steigerung Ihrer Produktivität] | Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Verknüpfungen können Sie noch schneller in Excel arbeiten.

link: / formeln-und-funktionen-einführung-der-vlookup-funktion [Die VLOOKUP-Funktion in Excel] | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, mit der Werte aus verschiedenen Bereichen und Tabellen gesucht werden. link: / tips-countif-in-microsoft-excel [COUNTIF in Excel 2016] | Zählen Sie Werte mit Bedingungen, die diese erstaunliche Funktion verwenden. Sie müssen Ihre Daten nicht filtern, um einen bestimmten Wert zu zählen.

Die Countif-Funktion ist wichtig, um Ihr Dashboard vorzubereiten.

link: / excel-formel-und-funktion-excel-sumif-funktion [Verwendung der SUMIF-Funktion in Excel] | Dies ist eine weitere wichtige Funktion des Dashboards. Auf diese Weise können Sie Werte unter bestimmten Bedingungen zusammenfassen.