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

Forumthread: Text aus Zelle als Variable

Text aus Zelle als Variable
30.07.2014 21:06:49
AcJoker
Hallo,
ich stehe gerade total auf dem Schlauch.
Ich würde gerne den Inhalt einer Zelle (Zahlen und Buchstaben) als Variable auslesen.
Wenn ich doch eine Variable habe die aus Text und Zahlen besteht ist dies doch ein String, richtig?
Dim ABC As String
Set ABC = Range("A2").Value
Ich bekomme immer die Meldung "Objekt erforderlich", beim Set Befehl.
Nur wie kann ich sonst noch die Variable mit Inhalt füllen?
Beste Grüße
Joker

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Was passiert ohne "set" owT
30.07.2014 21:13:57
Matze

AW: Was passiert ohne "set" owT
30.07.2014 21:23:35
AcJoker
Ohne "set" funktioniert es wie gewünscht.
Danke für die Hilfe.
Muss ich das Füllen einer Variablen nicht immer mit "set" einleiten?
Bzw. wo ist der Unterschied mit und ohne "set"?

AW: Was passiert ohne "set" owT
30.07.2014 21:30:35
Daniel
Hi
SET verwendet man beim Zuweisen von Objektvariablen (Range, Cells, Workbooks, Worksheets usw)
einfache Variablen für Zahlen, Texte, Wahrheitswerte werden ohne SET zugewiesen:
dim rng as Range
Set rng = Range("A1:J10")
rng.clearcontents
rng.Interior.Colorindex = 3
dim txt as String
txt = Range("A1").value
Msgbox txt
Gruß Daniel

Anzeige
Set im VbaEditor markieren F1 Taste dücken? owT
30.07.2014 21:35:27
Matze

AW: Was passiert ohne "set" owT
30.07.2014 21:40:55
Luschi
Hallo Daniel,
lt. http://msdn.microsoft.com/de-de/library/office/gg264823%28v=office.15%29.aspx
sollte man Deinen Code aber so schreiben:
Dim rng As Range
Set rng = Range("A1:J10")
Dim txt As String, i As Integer
Let txt = Range("A1").Value
Let i = 45
MsgBox txt
MsgBox i
Aber 'Let' ist seit ewigen Zeiten für normale Variablen optional.
Gruß von Luschi
aus klein-Paris

Anzeige
AW: Was passiert ohne "set" owT
31.07.2014 00:15:32
Daniel
Hi Luschi
und nutzt du LET jedesmal?
oder lässt du es weg und sparst dir die Tipperei?
Gruß Daniel

AW: Was passiert ohne "set" owT
31.07.2014 05:54:46
Luschi
Hallo Danieln
in diesem Fall natürlich NICHT, obwohl ich sonst bemüht bin, von M$ auf 'Standard' gesetzte Eigenschaften mit hinzuschreiben:
txt = Range("A1").Value statt txt = Range("A1")
Gruß von Luschi
aus klein-Paris
Anzeige
;

Forumthreads zu verwandten Themen

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

Text aus Zelle als Variable nutzen


Schritt-für-Schritt-Anleitung

Um den Text oder Wert einer Zelle in eine Variable zu speichern, kannst Du den folgenden VBA-Code verwenden. Es ist wichtig zu wissen, dass es einen Unterschied gibt, ob Du mit Objektvariablen oder einfachen Variablen arbeitest.

  1. Öffne den VBA-Editor in Excel (ALT + F11).

  2. Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject -> Einfügen -> Modul").

  3. Gib den folgenden Code ein:

    Dim rng As Range
    Dim txt As String
    
    ' Zelle auswählen und Wert in die Variable schreiben
    Set rng = Range("A1")  ' Hier die Zelle angeben
    txt = rng.Value  ' Wert der Zelle in die String-Variable speichern
    
    ' Ausgabe des Wertes
    MsgBox txt
  4. Führe das Makro aus (F5), um den Wert aus Zelle A1 auszulesen und anzuzeigen.


Häufige Fehler und Lösungen

  • Fehler: "Objekt erforderlich": Dieser Fehler tritt auf, wenn Du versuchst, eine einfache Variable mit Set zuzuweisen. Bei einfachen Variablen wie Strings benötigt man Set nicht. Beispiel:

    Dim ABC As String
    ABC = Range("A2").Value  ' Korrekt, kein Set erforderlich
  • Lösung für Objektvariablen: Denke daran, Set nur bei Zuweisungen von Objektvariablen zu verwenden, wie zum Beispiel:

    Dim rng As Range
    Set rng = Range("A1")  ' Hier ist Set notwendig

Alternative Methoden

Du kannst auch auf verschiedene Arten den Wert einer Zelle in eine Variable speichern:

  • Ohne Verwendung von Range: Wenn Du den Wert direkt aus einer Zelle in eine Variable speichern möchtest, kannst Du die folgende Methode verwenden:

    Dim txt As String
    txt = Cells(1, 1).Value  ' Zelle A1
  • Zelle als Variable definieren: Wenn Du die Zelle als Variable definierst, wird der Code flexibler:

    Dim myCell As Range
    Set myCell = Worksheets("Sheet1").Cells(1, 1)  ' A1 auf "Sheet1"
    Dim cellValue As String
    cellValue = myCell.Value

Praktische Beispiele

Hier sind einige Beispiele, wie Du Text aus Zellen auslesen und in Variablen speichern kannst:

  • Zahl und Text kombinieren:

    Dim myValue As String
    Dim myNumber As Double
    myNumber = Range("A1").Value  ' Zahl aus Zelle A1
    myValue = "Der Wert ist: " & myNumber
    MsgBox myValue
  • Text und Variable in Zelle schreiben:

    Dim outputText As String
    outputText = "Aktueller Wert: " & Range("A2").Value
    Range("B1").Value = outputText  ' Schreiben in Zelle B1

Tipps für Profis

  • Verwende Option Explicit: Diese Anweisung am Anfang Deines Codes zwingt Dich, alle Variablen zu deklarieren. So vermeidest Du häufige Fehler.

  • Teste Deine Variablen: Bevor Du Werte in eine Zelle schreibst, kannst Du sie in einer MsgBox anzeigen lassen, um sicherzustellen, dass sie korrekt sind.

  • Namen für Variablen: Verwende selbsterklärende Namen für Deine Variablen, wie cellValue oder outputText, um den Code lesbarer zu machen.


FAQ: Häufige Fragen

1. Muss ich immer Set verwenden?
Nein, Set ist nur für Objektvariablen notwendig. Bei einfachen Variablen wie Strings oder Integers brauchst Du es nicht.

2. Wie kann ich den Wert einer Zelle in eine Textvariable speichern?
Du kannst den Wert einfach mit der Zuweisung txt = Range("A1").Value in eine String-Variable speichern.

3. Was ist der Unterschied zwischen Dim und Set?
Dim wird verwendet, um eine Variable zu deklarieren, während Set verwendet wird, um einem Objekt eine Referenz zuzuweisen.

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