Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dauerbrenner: Zahl in String umwandeln

Dauerbrenner: Zahl in String umwandeln
Russi
Halo, Retter in höchster Not!
Ich versuche, eine Zahl aus meiner Tabelle in eine Variable zu packen.
Da die Zahl eine führende Null hat ("02") und diese Null erhalten bleiben muss, habe ich die Zelle als "TEXT" formatiert und eine Stringvariable benutzt.
Weise ich per "Inhalt = range("A1").value" den Zelleninhalt meiner String-Variablen zu, erhält diese Variable jedoch den Inhalt " 02 " (mit 2 Leerzeichen!).
Sehe ich das richtig, dass Excel meinen Zellinhalt doch als Zahl interpretiert?!? (In der Hilfe habe ich gelesen, dass zumindest das führende Leerzeichen für das Vorzeichen der Zahl reserviert ist)
Ich habe versucht, meine Wertzuweisung zu verändern:
"Inhalt = cstr(range("A1").value)" bzw.
"Inhalt = string(range("A1").value,"00")
Leider waren die Versuche erfolglos. Wo ist mein Fehler?!? Die Zahl "02" soll als zweistelliger String gespeichert werden.
Russi
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dauerbrenner: Zahl in String umwandeln
Mac4
Hallo Russi,
hilft das vielleicht?
Variabele = Format([A1], "00")
Marc
AW: Dauerbrenner: Zahl in String umwandeln
02.04.2004 11:06:24
Russi
Hallo Marc!
Sorry, das isses nicht. Macht keinen Unterschied zu vorher. Hast Du vielleicht noch eine Idee?
Russi
AW: Dauerbrenner: Zahl in String umwandeln
Stephan
Steht denn auch wirklich nur "02" in Deinem Tabellenfeld bzw. ist vielleicht von der Formatierung her etwas andres vorgegeben? Wenn ich Dein Beispiel nachvollziehe, funktioniert es nämlich einwandfrei.
Gruß, Stephan.
Anzeige
AW: Dauerbrenner: Zahl in String umwandeln
Russi
Hallo Stephan!
Eingegeben ist nur eine zweistellige Zahl, das Zellformat ist auf Text eingestellt. Es sind keine Leerzeichen enthalten. Mein Fehler muss also woanders liegen.
Ich habe in meinem ersten Text eine verkürzte Fassung des Problems geschildert. Vielleicht hilft die "Langfassung":
Variablen:
PropsValue(30) as String
Zeile as string: Zeile = 6
Wertzuweisung:
PropsValue(6) = ThisWorkbook.Worksheets("Parameter").Cells(Zeile, 2).Value
Macht aber meines Wissens nach keinen Unterschied, oder?
Russi
Anzeige
ICH HABS!
02.04.2004 11:41:56
Russi
Es funktioniert jetzt! Fragt mich bitte nicht, was ich anders gemacht habe, denn ich kann es nicht sagen. Aber jetzt geht alles!
Vielen Dank für Eure schnelle Hilfe!!!
Russi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zahl in String umwandeln in Excel


Schritt-für-Schritt-Anleitung

Um eine Zahl in einen String in Excel VBA umzuwandeln, befolge diese Schritte:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Rechtsklicke in das Projektfenster und wähle Einfügen > Modul.
  3. Definiere deine Variablen:

    Dim Inhalt As String
    Dim Zeile As Integer
    Zeile = 6 ' Beispielzeile
  4. Weise den Zellinhalt zu:

    • Um sicherzustellen, dass die Zahl als String behandelt wird, nutze die CStr-Funktion oder Format:
      Inhalt = CStr(ThisWorkbook.Worksheets("Parameter").Cells(Zeile, 2).Value)
  5. Falls du führende Nullen benötigst:

    • Verwende Format, um sicherzustellen, dass die führende Null beibehalten wird:
      Inhalt = Format(ThisWorkbook.Worksheets("Parameter").Cells(Zeile, 2).Value, "00")

Häufige Fehler und Lösungen

  • Problem: Leerzeichen um die Zahl
    Wenn du beim Zuweisen von Inhalt = Range("A1").Value Leerzeichen erhältst, könnte das an der Formatierung der Zelle liegen. Stelle sicher, dass die Zelle korrekt formatiert ist und keine zusätzlichen Leerzeichen enthält.

  • Problem: Führende Null wird abgeschnitten
    Dies passiert häufig, wenn die Zelle als Zahl formatiert ist. Stelle sicher, dass die Zelle als Text formatiert ist oder benutze Format, um die Zahl als String mit führenden Nullen zu speichern.


Alternative Methoden

  • Excel-Formel zur Umwandlung: Du kannst auch eine einfache Formel in Excel verwenden, um eine Zahl in einen String umzuwandeln. Zum Beispiel:

    =TEXT(A1, "00")

    Diese Formel wandelt die Zahl in der Zelle A1 in einen zweistelligen Text um.

  • Verwendung von VBA-Funktionen: Eine andere Möglichkeit besteht darin, die Str-Funktion in VBA zu verwenden, um eine Zahl in einen String zu konvertieren.

    Inhalt = Str(ThisWorkbook.Worksheets("Parameter").Cells(Zeile, 2).Value)

Praktische Beispiele

  1. Zahl in String mit führender Null:

    Dim Zahl As Integer
    Dim StringZahl As String
    Zahl = 2
    StringZahl = Format(Zahl, "00") ' Ergebnis: "02"
  2. Zahl aus einer Zelle in einen String umwandeln:

    Dim CellValue As String
    CellValue = CStr(ThisWorkbook.Worksheets("Parameter").Cells(1, 1).Value)

Tipps für Profis

  • Vermeide die Verwendung von CStr für Zellen mit führenden Nullen: Verwende stattdessen Format, um sicherzustellen, dass die Nullen beibehalten werden.
  • Überprüfe das Zellformat: Achte darauf, dass die Zelle, aus der du die Zahl extrahieren möchtest, korrekt formatiert ist (Text oder Zahl).
  • Debugging: Verwende Debug.Print, um den Inhalt deiner Variablen zu überprüfen, wenn du Schwierigkeiten hast, die korrekten Werte zu erhalten.

FAQ: Häufige Fragen

1. Wie kann ich eine Zahl in einen String umwandeln, wenn die Zelle als Zahl formatiert ist?
Du kannst die Format-Funktion verwenden, um die Zahl als String zu speichern, z.B. Inhalt = Format(Range("A1").Value, "00").

2. Was ist der Unterschied zwischen CStr und Format?
CStr konvertiert einfach einen Wert in einen String, während Format es dir ermöglicht, das Ausgabeformat zu spezifizieren, z.B. führende Nullen.

3. Wie kann ich sicherstellen, dass eine Zahl in einen String umgewandelt wird, ohne dass Leerzeichen hinzugefügt werden?
Stelle sicher, dass die Zelle als Text formatiert ist und der zugewiesene Wert ohne zusätzliche Leerzeichen ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige