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

vba wert aus zelle lesen

Forumthread: vba wert aus zelle lesen

vba wert aus zelle lesen
jojo
Hallo,
ich habe folgendes Problem. In einer Exceltabelle, Tabellenblatt "Einstellungen" habe ich einen Eingabebereich vorgesehen, z.B. Zelle "C50". Den Wert aus dieser Zelle möchte ich mit einem Makro auslesen und anschließend als Parameter über geben. Ich habe mir das in etwa so gedacht:
Sub Abfragen_tauschen()
'Const A_Arbeitstage As String = "Arbeitstage"
'*obige Konstante funktioniert
Const A_Arbeitstage As String A_Arbeitstage = Workbooks("Niederlassung_Entwurf_V14"). _
Einstellungen.Range("C50").Value
'*An dieser Stelle bekomme ich eine Fehlermeldung: Syntaxfehler! Was ist jetzt anders?
Sheets("Arbeitstage").Select
Range("F8").Select
With Selection.QueryTable
.Connection = Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB.4.0;Password="""";User ID=Admin;Data Source=T:
'*den Mittelteil habe ich jetzt mal rausgenommen
.CommandType = xlCmdTable
.CommandText = Array(A_Arbeitstage)
'Diesem Array will ich den Wert (Text) von A_Arbeitstage übergeben.
.Refresh BackgroundQuery:=False
End With
End Sub

Danke für die Hilfe
Heiko
Anzeige

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

Betreff
Benutzer
Anzeige
AW: vba wert aus zelle lesen
24.05.2011 18:02:21
jojo
auch mit dieser Variante komme ich nicht weiter:
Dim A_Arbeitstage As String
A_Arbeitstage = Workbooks("Niederlassung_Entwurf_V14").Einstellungen.Range("C50").Value
ergibt Fehlermeldung Laufzeitfehler 438
AW: vba wert aus zelle lesen
24.05.2011 18:03:11
MichaV
Hei,
bisschen schwierig, die Frage zu finden.
'*An dieser Stelle bekomme ich eine Fehlermeldung: Syntaxfehler! Was ist jetzt anders?
Du wolltest wohl so schreiben?
Const A_Arbeitstage As String = Workbooks("Niederlassung_Entwurf_V14"). _
Einstellungen.Range("C50").Value
Das geht aber aber auch nicht, denn .Value ist kein konstanter Ausdruck. Das beschreibt Dir die Fehlermeldung dann genauer :o)
Gruss- Micha
Anzeige
AW: vba wert aus zelle lesen
24.05.2011 18:19:07
jojo
Hallo Micha,
habe die Hilfe für den Fehler jetzt mehrmals gelesen. Komme damit nicht ganz klar. Habe auch eine Initialisierung versucht, dann darf ich bei Const keinen neuen Parameter übergeben.
Also ich lese in C50 text aus (gibt es da noch eine ALternative zu .value ?) diesen Text will ich übergeben an A_Arbeitstage
Soll ich statt value etwas anderes probieren oder die Dimension ändern?
Danke
Heiko
Anzeige
AW: vba wert aus zelle lesen
24.05.2011 21:40:04
Gerd
Hallo Heiko,
probiere es so. Die Datei muss geöffnet sein.
Dim A_Arbeitstage As String
A_Arbeitstage = Workbooks("Niederlassung_Entwurf_V14.xlsx").Worksheets("Einstellungen").Range("C50").Value
Gruß Gerd
AW: vba wert aus zelle lesen
25.05.2011 11:24:11
jojo
Hallo Gerd,
es läuft. Danke!!
;

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

Infobox / Tutorial

Wert aus Zelle mit VBA auslesen


Schritt-für-Schritt-Anleitung

Um den Wert einer Zelle in Excel mit VBA auszulesen, folge diesen Schritten:

  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 (DeineArbeitsmappe)", wähle Einfügen > Modul.

  3. Schreibe das Makro: Füge den folgenden Code in das Modul ein:

    Sub WertAuslesen()
       Dim A_Arbeitstage As String
       A_Arbeitstage = Workbooks("Niederlassung_Entwurf_V14.xlsx").Worksheets("Einstellungen").Range("C50").Value
       MsgBox "Der ausgelesene Wert ist: " & A_Arbeitstage
    End Sub
  4. Führe das Makro aus: Drücke F5, um das Makro auszuführen und den Wert aus Zelle C50 auszulesen.


Häufige Fehler und Lösungen

Fehler 1: Laufzeitfehler 438

  • Ursache: Dieser Fehler tritt auf, wenn das ausgelesene Element nicht richtig referenziert wird. Stelle sicher, dass die Arbeitsmappe geöffnet ist und der Name korrekt ist.
  • Lösung: Überprüfe den Namen der Arbeitsmappe und das Arbeitsblatt. Der Code sollte so aussehen:

    A_Arbeitstage = Workbooks("Niederlassung_Entwurf_V14.xlsx").Worksheets("Einstellungen").Range("C50").Value

Fehler 2: Syntaxfehler

  • Ursache: Ein Syntaxfehler kann auftreten, wenn du versuchst, eine Variable als Konstante zu deklarieren.
  • Lösung: Verwende Dim statt Const für Variablen, die zur Laufzeit geändert werden sollen.

Alternative Methoden

Es gibt mehrere Möglichkeiten, den Inhalt einer Zelle auszulesen:

  • Excel VBA mit .Value: Die einfachste Methode, um den Zelleninhalt auszulesen.

    Dim zellenWert As String
    zellenWert = Range("A1").Value
  • Excel VBA mit .Text: Wenn du den formatierten Text der Zelle benötigst.

    Dim zellenText As String
    zellenText = Range("A1").Text

Praktische Beispiele

Hier sind einige Beispiele, die zeigen, wie du den Zellenwert auslesen und in eine andere Zelle schreiben kannst:

  1. Wert auslesen und in eine andere Zelle schreiben:

    Sub WertAuslesenUndSchreiben()
       Dim A_Arbeitstage As String
       A_Arbeitstage = Workbooks("Niederlassung_Entwurf_V14.xlsx").Worksheets("Einstellungen").Range("C50").Value
       Workbooks("Niederlassung_Entwurf_V14.xlsx").Worksheets("Arbeitstage").Range("F8").Value = A_Arbeitstage
    End Sub
  2. Zelleninhalt auslesen und in einer MessageBox anzeigen:

    Sub InhaltAnzeigen()
       Dim inhalt As String
       inhalt = Workbooks("Niederlassung_Entwurf_V14.xlsx").Worksheets("Einstellungen").Range("C50").Value
       MsgBox "Inhalt der Zelle: " & inhalt
    End Sub

Tipps für Profis

  • Fehlerbehandlung: Füge eine Fehlerbehandlung hinzu, um unerwartete Fehler zu vermeiden:

    On Error Resume Next
  • Verwende Option Explicit: Dies zwingt dich, alle Variablen zu deklarieren und hilft, Fehler zu vermeiden.

  • Nutze With-Anweisungen: Sie vereinfachen den Code und verbessern die Lesbarkeit:

    With Worksheets("Einstellungen")
       A_Arbeitstage = .Range("C50").Value
    End With

FAQ: Häufige Fragen

1. Wie kann ich den Wert einer Zelle in einer anderen Zelle speichern? Du kannst den Wert einfach wie folgt zuweisen:

Range("ZielZelle").Value = Range("QuellZelle").Value

2. Was kann ich tun, wenn die Arbeitsmappe nicht geöffnet ist? Stelle sicher, dass die Arbeitsmappe geöffnet ist, bevor du versuchst, auf ihre Zellen zuzugreifen. Du kannst auch den Code anpassen, um die Datei automatisch zu öffnen, wenn sie nicht geöffnet ist.

3. Wie lese ich einen Zelleninhalt in einer Schleife aus? Du kannst eine For-Schleife verwenden, um durch die Zellen zu iterieren:

For i = 1 To 10
    Debug.Print Worksheets("Einstellungen").Cells(i, 1).Value
Next i

Mit diesen Anleitungen und Tipps kannst du den Excel VBA Wert einer Zelle auslesen und in deinen Projekten effektiv nutzen.

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