Ändern Sie Text mit VBA in eine Zahl

Inhaltsverzeichnis:

Anonim

In einer kürzlich durchgeführten Aufgabe habe ich über VBA in einer Zahlenspalte 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 hat das Makro einwandfrei funktioniert. Aber ich wollte diese Texte mit dem VBA-Skript in Zahlen umwandeln und habe es geschafft. Ich wollte dies teilen, als ob jemand wissen möchte, wie man Textwerte mit VBA in eine Zahl umwandelt, er kann sich das ansehen.

Konvertieren von Text in eine Zahl mit der Methode Range.NumberFormat

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 umgewandelt.

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 zunächst das Zahlenformat des Bereichs auf Allgemein. Dann setzen wir den Wert dieses Bereichs mit VBA in denselben 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 Nummer im obigen Code eines festen Bereichs geändert, aber dies wird die meiste Zeit nicht der Fall sein. Um Text in mehrere dynamische Bereiche umzuwandeln, 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 ab A3 beginnt. Aber ich weiß nicht, wo es enden könnte.
Also identifiziere ich dynamisch die zuletzt verwendete Excel-Zeile, die Daten enthält, mithilfe des VBA-Snippets Cells(Rows.Count, 1).End(xlUp).Row. Es gibt die zuletzt verwendete Zeilennummer zurück, die wir mit "A3:A" verketten.

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

Sub ConvertTextToNumber() Set Rng = ThisWorkbook.Sheets("Sheet1").Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row) With Rng .NumberFormat = "General" .Value = .Wert Ende mit Ende Sub 

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

Loop 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) Für jede Zelle In Rng.Cells cel.Value = CSng(cel.Value) Nächstes cel End Sub 

Im obigen VBA-Snippet verwenden wir die VBA-For-Schleife, um über jede Zelle im Bereich zu iterieren und den Wert jeder Zelle mit der CSng-Funktion von VBA in eine Zahl umzuwandeln.

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

Ändern Sie Text mit VBA in Zahl.

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

So erhalten Sie Text und Zahlen in umgekehrter Richtung über VBA in Microsoft Excel | Um Zahlen und Text umzukehren, verwenden wir Schleifen und die Mid-Funktion in VBA. 1234 wird in 4321 umgewandelt, "du" wird in "uoy" umgewandelt. Hier ist der Ausschnitt.

Formatieren Sie Daten mit benutzerdefinierten Zahlenformaten mit VBA in Microsoft Excel | Um das Zahlenformat bestimmter Spalten in Excel zu ändern, verwenden Sie dieses VBA-Snippet. Es wandelt das Zahlenformat vom angegebenen in das angegebene Format mit einem Klick um.

Populäre Artikel:

50 Excel-Kurzbefehle zur Steigerung Ihrer Produktivität | Werden Sie schneller bei Ihrer Aufgabe. Mit diesen 50 Tastenkombinationen arbeiten Sie noch schneller mit Excel.

Die SVERWEIS-Funktion in Excel | Dies ist eine der am häufigsten verwendeten und beliebtesten Funktionen von Excel, die verwendet wird, um Werte aus verschiedenen Bereichen und Blättern zu suchen.

ZÄHLENWENN in Excel 2016 | Zählen Sie Werte mit Bedingungen mit dieser erstaunlichen Funktion. Sie müssen Ihre Daten nicht filtern, um einen bestimmten Wert zu zählen. Die Countif-Funktion ist unerlässlich, um Ihr Dashboard vorzubereiten.

So verwenden Sie die SUMIF-Funktion in Excel | Dies ist eine weitere wesentliche Funktion des Dashboards. Dies hilft Ihnen, Werte unter bestimmten Bedingungen zusammenzufassen.