Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: string in long umwandeln

string in long umwandeln
Philipp
Hallo
Ich möchte einen String AUsdruck in eine Zahl (Long) umwandeln. Der Inhalt der Zelle sieht so aus
Zelle1: z.B 1,2 (Gleitkommazahl)
Jetzt möchte ich das mein Programm das auch als 1,2 erkennt.
Über Hilfe wáre ich dankbar.
Philipp
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: string in long umwandeln
10.12.2009 16:26:09
selli
hallo philip,
versuche mal die multiplikation des strings mit 1.
gruß selli
AW: string in long umwandeln
10.12.2009 16:26:13
Rudi
Hallo,
ein Long ist eine Ganzzahl!
Variable=Zelle*1
Gruß
Rudi
Bei VBA gut sollte man das wissen.
AW: string in long umwandeln
10.12.2009 16:26:28
Hajo_Zi
Halo Philipp,
Long ist eine Ganzzahl. Ich häte Double benutzt
Option Explicit
Sub Philipp()
Dim StWert As String
Dim Lowert As Long
StWert = "1,2"
Lowert = StWert
MsgBox TypeName(Lowert)
End Sub


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

String in Long umwandeln in Excel VBA


Schritt-für-Schritt-Anleitung

Um einen String in eine Long-Zahl in Excel VBA umzuwandeln, kannst Du folgende Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject" und wähle "Einfügen" > "Modul".

  3. Füge den folgenden Code ein:

    Option Explicit
    
    Sub StringToLong()
       Dim StWert As String
       Dim LongWert As Long
    
       StWert = "123" ' Hier kannst Du Deinen String eingeben
       LongWert = StWert * 1 ' String in Long umwandeln
    
       MsgBox "Der Long-Wert ist: " & LongWert
    End Sub
  4. Führe das Makro aus: Drücke F5, um das Makro auszuführen und den Long-Wert anzuzeigen.

Mit dieser Methode kannst Du einen Excel-String in eine Long-Zahl umwandeln, indem Du einfach die Multiplikation mit 1 nutzt, um den Datentyp zu konvertieren.


Häufige Fehler und Lösungen

  • Fehler: Typenkonflikt: Wenn Du versuchst, einen String, der nicht in eine Long-Zahl konvertiert werden kann, zu verwenden, erhältst Du einen Typenkonflikt. Stelle sicher, dass der String nur Zahlen enthält.

  • Lösung: Verwende die Funktion CInt() oder CLng(), um sicherzustellen, dass die Umwandlung korrekt erfolgt.

    LongWert = CLng(StWert) ' Konvertiere den String in Long
  • Fehler: Dezimalzahlen: Wenn Du mit Gleitkommazahlen arbeitest, solltest Du den Datentyp Double verwenden, da Long nur für Ganzzahlen geeignet ist.


Alternative Methoden

Es gibt verschiedene Möglichkeiten, einen String in einen Long-Wert umzuwandeln:

  • Verwendung von CInt() oder CLng(): Diese Funktionen helfen, den String direkt in einen Long-Wert umzuwandeln.

    LongWert = CInt(StWert) ' Für Ganzzahlen
    LongWert = CLng(StWert) ' Für Long-Werte
  • Direkte Zuweisung: Wenn Du sicher bist, dass der String nur Ganzzahlen enthält, kannst Du ihn direkt einer Long-Variablen zuweisen:

    LongWert = StWert ' Funktioniert nur, wenn StWert ein gültiger Long-Wert ist

Praktische Beispiele

Hier sind einige Beispiele für die Umwandlung von Strings in Long-Werte:

  1. Beispiel für eine einfache Umwandlung:

    Dim StWert As String
    Dim LongWert As Long
    StWert = "456"
    LongWert = CInt(StWert)
    MsgBox "Umgewandelter Wert: " & LongWert
  2. Umwandlung mit Fehlerbehandlung:

    Dim StWert As String
    Dim LongWert As Long
    
    On Error GoTo Fehlerbehandlung
    StWert = "789"
    LongWert = CLng(StWert)
    MsgBox "Umgewandelter Wert: " & LongWert
    Exit Sub
    
    Fehlerbehandlung:
    MsgBox "Fehler bei der Umwandlung!"

Tipps für Profis

  • Verwende Option Explicit: Dies zwingt Dich, alle Variablen zu deklarieren, wodurch Fehler reduziert werden.
  • Zahlenformat beachten: Achte darauf, dass das Zahlenformat in der Zelle korrekt ist, um Umwandlungsfehler zu vermeiden.
  • Leistungsoptimierung: Wenn Du viele Strings umwandeln musst, ziehe in Betracht, die Werte in ein Array zu laden und dann in einem Rutsch zu verarbeiten, um die Leistung zu verbessern.

FAQ: Häufige Fragen

1. Kann ich einen String mit Dezimalzahlen in Long umwandeln?
Nein, Long kann nur Ganzzahlen speichern. Verwende stattdessen den Typ Double.

2. Was passiert, wenn der String nicht in eine Zahl umgewandelt werden kann?
Du erhältst einen Laufzeitfehler. Stelle sicher, dass der String nur gültige Zahlen enthält.

3. Wie kann ich sicherstellen, dass meine Umwandlungen immer funktionieren?
Nutze Fehlerbehandlungsroutinen und überprüfe die Eingabewerte, bevor Du die Umwandlung durchführst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige