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

Forumthread: Wert in leere Zelle auf anderem Tabellenblatt

Wert in leere Zelle auf anderem Tabellenblatt
Markus
Hallo,
also, ich habe folgendes Problem :
Auf einem Tabellenblatt ("Kalkulation") erhalte ich in den Zellen C4, C5, C6, C7 und C8 Werte, die ich wie folgt in die jeweils erste leere Zelle einer Spalte auf einem anderen Tabellenblatt ("Übersicht" ) einfügen möchte : C4 in Spalte A , C5 in Spalte B, C6 in Spalte C, C7 in Spalte D und C8 in Spalte E. Das kopieren in das andere Tabellenblatt soll über einen Button erfolgen.
Wer kann mir da helfen ?
Denke mal für einen Profi dürfte das nicht das Problem sein.
Grüße
Markus
Anzeige
AW: Wert in leere Zelle auf anderem Tabellenblatt
12.11.2009 16:48:06
Björn
Hallo,
ist die erste leere Zelle bekannt, oder muss diese ermittelt werden?
Gruß
Björn B.
AW: Wert in leere Zelle auf anderem Tabellenblatt
12.11.2009 19:55:21
Markus
Hallo,
grundsätzlich ist die Liste Übersicht erst einmal leer, lediglich die Überschriften in Zeile 1 sind vorhanden. Bekannt ist also dementsprechend, das die ersten Werte in Zeile 2 geschrieben werden müssen. Es handelt sich hier um eine Kalkulationsliste, wo Aufmasse erstellt werden, und in der Übersicht lediglich die Summen zusammen geschrieben werden.
Gruß
Markus
Anzeige
AW: Wert in leere Zelle auf anderem Tabellenblatt
13.11.2009 08:10:22
Björn
Hallo Markus,
also ich habe Dir mal 2 Möglichkeiten aufgeschrieben.
Hierbei werden die ganzen Zellen (inkl. Formate) kopiert. Wenn Du nur Werte kopieren möchtest, dann schau dir "PasteSpecial" an.
Die Werte werden fest in die 2. Zeile kopiert.
Wenn die erste freie Zeile ermittelt werden muss, gilt die Zeile dann für alle Werte?
Oder kann es sein, dass der Wert in C5 in eine andere Zeile soll, wie der aus C6?
Sub kopieren()
'einfachere Methode
With Sheets("Kalkulation")
.Range("C4").Copy Sheets("Übersicht").Range("A2")
.Range("C5").Copy Sheets("Übersicht").Range("B2")
.Range("C6").Copy Sheets("Übersicht").Range("C2")
.Range("C7").Copy Sheets("Übersicht").Range("D2")
.Range("C8").Copy Sheets("Übersicht").Range("E2")
End With
End Sub

oder so:

Sub kopieren_neu()
'komplizierter, aber kürzer
Dim i As Integer
For i = 4 To 8
Sheets("Kalkulation").Cells(i, 3).Copy Sheets("Übersicht").Cells(2, i - 3)
Next i
End Sub
Klappt´s?
Gruß
Börn
Anzeige
AW: Wert in leere Zelle auf anderem Tabellenblatt
13.11.2009 11:32:40
Markus
Hallo Björn,
klappt nicht wirklich, es werden nur die Formate kopiert.
Keine Werte. Das nächste Problem ist, das ich diesen Vorgang mehrmals wiederholen möchte, und dann die kalkulierten Werte irgendwann alle untereinander stehen. Auf dem einen Blatt wird kalkuliert, auf dem anderen Blatt sollen alle Summen zusammengeführt werden. Zwischendurch wird nach dem speichern das Kalkulationsblatt wieder leer gemacht.
Gruß
Markus
Anzeige
AW: Wert in leere Zelle auf anderem Tabellenblatt
13.11.2009 11:37:49
Björn
Hallo,
wirklich nur Formate? Das kann nicht sein.
Da stehen bestimmt Formeln in den Zellen, die dann in der neuen Tabelle einfach 0 ergeben, oder?
Wie schon gesagt, wenn du Werte kopieren möchtest, dann schau Dir PasteSpecial an.
Auch das habe ich schon angedeutet. Bei mehrmaligem Ausführen musst du die letzte Zeile ermitteln.
Dazu gibt es zig Beiträge hier im Forum.
Außerdem habe ich noch Fragen dazu gestellt, die du nicht beantwortet hast.
So kann ich Dir nicht helfen.
Gruß
Björn B.
Anzeige
AW: Wert in leere Zelle auf anderem Tabellenblatt
13.11.2009 12:15:52
Markus
Hallo Björn,
das wird wohl so sein, wie du das mit den Formeln beschrieben hast.
In den Zellen werden jeweils zwei Bereichsnamen miteinander multipliziert.
Dieses PasteSpezial sagt mir garnichts, denn so fit bin ich in VBA nicht.
Wenn es schon Beispiele hier gibt, könntest du mir da einige nennen, damit ich mir diese mal ansehen kann ?
Gruß
Markus
Anzeige
;

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

Werte aus einem anderen Tabellenblatt in Excel übernehmen


Schritt-für-Schritt-Anleitung

Um Werte aus einem anderen Tabellenblatt in Excel zu übernehmen, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Füge ein neues Modul hinzu: Klicke im Menü auf Einfügen und wähle Modul.

  3. Kopiere den folgenden Code in das Modul:

    Sub kopieren()
       With Sheets("Kalkulation")
           Sheets("Übersicht").Range("A2").Value = .Range("C4").Value
           Sheets("Übersicht").Range("B2").Value = .Range("C5").Value
           Sheets("Übersicht").Range("C2").Value = .Range("C6").Value
           Sheets("Übersicht").Range("D2").Value = .Range("C7").Value
           Sheets("Übersicht").Range("E2").Value = .Range("C8").Value
       End With
    End Sub
  4. Führe das Makro aus: Gehe zurück zu Excel, drücke ALT + F8, wähle kopieren und klicke auf Ausführen.

Mit diesem Code übernimmst du die Werte aus dem Tabellenblatt "Kalkulation" in die leeren Zellen des Blatts "Übersicht".


Häufige Fehler und Lösungen

  • Nur Formate werden kopiert: Wenn du nur Formate siehst und keine Werte, könnte es daran liegen, dass in den Zellen Formeln sind, die nicht in der Zielzelle ausgewertet werden. Stelle sicher, dass du den Zelleninhalt übernimmst, nicht die Zellformate.

  • Fehler beim Ausführen des Makros: Überprüfe, ob die Blattnamen korrekt sind. Sie müssen genau mit den Namen in deiner Arbeitsmappe übereinstimmen.


Alternative Methoden

Neben VBA gibt es alternative Methoden, um Werte aus einem anderen Blatt zu übernehmen:

  • Direkte Formeln: Du kannst in die Zellen deines Zielblatts eine Formel einfügen, die auf die Zellen des anderen Blatts verweist. Zum Beispiel für die Zelle A2 in "Übersicht":

    =Kalkulation!C4
  • PasteSpecial: Wenn du nur die Werte ohne Formate kopieren möchtest, kannst du die Funktion PasteSpecial verwenden, um nur die Werte zu übernehmen.


Praktische Beispiele

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

  1. Einzelne Zelle übernehmen:

    Sheets("Übersicht").Range("A2").Value = Sheets("Kalkulation").Range("C4").Value
  2. Mehrere Zellen in einer Schleife:

    Dim i As Integer
    For i = 4 To 8
       Sheets("Übersicht").Cells(2, i - 3).Value = Sheets("Kalkulation").Cells(i, 3).Value
    Next i

Diese Beispiele zeigen dir, wie du sowohl spezifische Zellen als auch einen Bereich von Zellen übernehmen kannst.


Tipps für Profis

  • Fehlerüberprüfung: Füge Fehlerüberprüfungen in deinen Code ein, um sicherzustellen, dass die Zellen nicht leer sind, bevor du die Werte übernimmst.

  • Dynamische Bereiche: Wenn du regelmäßig neue Daten hinzufügst, überlege, wie du den Code anpassen kannst, um die letzte gefüllte Zeile dynamisch zu ermitteln.

  • Namen verwenden: Verwende benannte Bereiche in Excel, um die Lesbarkeit deiner Formeln und Codes zu erhöhen.


FAQ: Häufige Fragen

1. Wie kann ich Werte aus einem anderen Blatt übernehmen, ohne VBA zu nutzen? Du kannst Formeln verwenden, um direkt auf Zellen in einem anderen Blatt zuzugreifen, z.B. =Kalkulation!C4.

2. Was ist der Unterschied zwischen Kopieren und PasteSpecial? Mit PasteSpecial kannst du auswählen, ob du nur die Werte, Formate oder beides kopieren möchtest. Das ist nützlich, wenn du nur einen bestimmten Teil der Zelle benötigst.

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