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

Forumthread: VBA - Wert aus einem anderen Tabellenblatt

VBA - Wert aus einem anderen Tabellenblatt
11.01.2007 12:03:23
Timonski
Servus
er soll mir schauen ob in Tabelle1 Spalte 1 jeweils in den Reihen was drin ist und wenn ja soll er in Tabelle2 halt was machen... hier einfach den oberen wert + 1
r = Target.Row
If Cells("Tabelle1!" & r, "Tabelle1!" & 1) "" Then Cells(r, 1) = Cells(r - 1, 1) + 1
ich hab keine ahnung...
danke...
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA - Wert aus einem anderen Tabellenblatt
11.01.2007 12:14:01
Timonski
bzw.
wie kann man einen Wert über vba aus Tabelle1 in Tabelle2 übernehmen...
also wie z.b. normal =Tabelle1!A1
und das in VBA...
vielen vielen dank
AW: VBA - Wert aus einem anderen Tabellenblatt
11.01.2007 13:47:22
Erich
Hallo Timonski,
... = Sheets("Tabelle1").cells(r, 1) - Sheets("Tabelle1").cells(r - 1, 1) + 1
oder so:
with Sheets("Tabelle1")
... = .cells(r, 1) - .cells(r - 1, 1) + 1
end with
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: VBA - Wert aus einem anderen Tabellenblatt
11.01.2007 14:21:59
Timonski
danke hat geklappt...

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Werte aus einem anderen Tabellenblatt mit VBA übernehmen


Schritt-für-Schritt-Anleitung

Um einen Wert aus einem anderen Tabellenblatt in Excel mithilfe von VBA zu übernehmen, kannst Du die folgenden 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 (deine Datei)“ und wähle „Einfügen“ > „Modul“.

  3. Füge den folgenden Code ein:

    Sub WertVonAnderemTabellenblattÜbernehmen()
       Dim r As Long
       Dim wert As Variant
    
       r = Target.Row
       wert = Sheets("Tabelle1").Cells(r, 1).Value
       Sheets("Tabelle2").Cells(r, 1).Value = wert + 1
    End Sub
  4. Ändere die Tabellennamen: Stelle sicher, dass die Tabellennamen in Deinem Code mit den tatsächlichen Namen in Deiner Excel-Datei übereinstimmen.

  5. Speichere den Code und schließe den Editor.

  6. Führe das Makro aus: Du kannst das Makro über ALT + F8 und Auswahl des Makros ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Objekt erforderlich": Dieser Fehler tritt auf, wenn Du versuchst, auf ein nicht vorhandenes Tabellenblatt zuzugreifen. Überprüfe die Namen der Blätter auf Tippfehler.
  • Lösung: Falscher Zellbereich: Stelle sicher, dass Du im Code den richtigen Zellbereich angibst. Zum Beispiel sollte Cells(r, 1) die richtige Zeile und Spalte ansprechen.

Alternative Methoden

Neben der Verwendung von VBA gibt es auch andere Möglichkeiten, um Werte aus einem anderen Tabellenblatt auszulesen:

  • Excel-Formel: Du kannst einfach die Formel =Tabelle1!A1 verwenden, um den Wert aus Zelle A1 in Tabelle1 in eine Zelle in Tabelle2 zu übernehmen.
  • INDEX und VERGLEICH: Mit diesen Funktionen kannst Du dynamisch Werte aus anderen Tabellenblättern abrufen.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du Werte aus einem anderen Tabellenblatt übernehmen kannst:

  1. Einfaches Übernehmen:

    Sub EinfachesÜbernehmen()
       Sheets("Tabelle2").Cells(1, 1).Value = Sheets("Tabelle1").Cells(1, 1).Value
    End Sub
  2. Wert erhöhen:

    Sub WertErhöhen()
       Dim wert As Double
       wert = Sheets("Tabelle1").Cells(1, 1).Value
       Sheets("Tabelle2").Cells(1, 1).Value = wert + 1
    End Sub
  3. Daten aus mehreren Zellen holen:

    Sub MehrereZellenÜbernehmen()
       Dim i As Long
       For i = 1 To 10
           Sheets("Tabelle2").Cells(i, 1).Value = Sheets("Tabelle1").Cells(i, 1).Value
       Next i
    End Sub

Tipps für Profis

  • Verwende With-Anweisungen: Dies verbessert die Lesbarkeit und die Ausführungsgeschwindigkeit Deines Codes, besonders wenn Du mehrfach auf dasselbe Objekt zugreifst.

    With Sheets("Tabelle1")
       Cells(r, 1).Value = .Cells(r - 1, 1).Value + 1
    End With
  • Fehlerbehandlung einbauen: Verwende On Error Resume Next, um sicherzustellen, dass Dein Code auch bei Fehlern weiterläuft.


FAQ: Häufige Fragen

1. Kann ich die Daten automatisch aktualisieren lassen?
Ja, Du kannst das Makro so einrichten, dass es bei bestimmten Ereignissen automatisch ausgelöst wird, wie z.B. beim Ändern einer Zelle.

2. Wie kann ich auf ein anderes Tabellenblatt zugreifen?
Du kannst auf ein anderes Tabellenblatt zugreifen, indem Du Sheets("Tabellenblattname") verwendest, gefolgt von .Cells() oder .Range().

3. Was ist der Unterschied zwischen Value und Formula?
Value gibt den aktuellen Wert einer Zelle zurück, während Formula die Formel zurückgibt, die in der Zelle steht.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige