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

Forumthread: definierte Zellen aus Tabelle auslesen und in neue einfuegen

definierte Zellen aus Tabelle auslesen und in neue einfuegen
11.04.2020 03:48:57
Rainer
Hallo,
Ich habe ein Tabellenblatt mit Kunden angelegt die an verschiedenen Kursen teilnehmen. Die Tabelle dient Abrechnungszwecken (welche Kurse gebucht und zu zahlen sind, wann und ob die Beiträge gezahlt wurden etc.) und wird monatlich neu erstellt. Der Gedanke ist nun fuer den jeweils neuen Monat von einem "leeren" Tabellenblatt mit der gleichen Tabelle wie vom "alten" Monat aber eben unausgefüllt nach Wunsch auf die Daten vom vorherigen Monat zugreifen zu können. d.h. bei Eingabe des jeweiligen Kundennamen in der neuen "leeren" Tabelle sollen dann seine Daten bzw. definierte Teile daraus ausgegeben werden. Diese sollen dann als Basis fuer den neuen Monat dienen und können gegebenenfalls angepasst werden. Im beigefügten Excel habe ich versucht das mal vereinfacht darzustellen.
Viele Grüße, Rainer
https://www.herber.de/bbs/user/136621.xlsx
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: definierte Zellen aus Tabelle auslesen und in neue einfuegen
11.04.2020 20:09:45
fcs
Hallo Rainer,
ein paar Fragen:
1.
Erstellst du für jeden Monat eine neue Arbeitsmappe?
oder sind die Blätter der Monate alle in der gleichen Arbeitsmappe?
2.
Existiert das Tabellenblatt bzw. die Arbeitsmappe mit dem leeren Blatt schon?
3.
Sind es immer die gleichen in deinem Beispiel grün markierten Zellen zu einem Namen?
4.
Du möchtest die Werte automatisch übertragen nach Eingabe eines Namens. Dies kann man mit einem Ereignismakro umsetzen, das die Eingabe von Werten in Spalte A übewacht.
Wie kann Excel die Arbeitsmappe oder das Tabellenblatt des Vormonats finden?
Systematisch vergebener Dateiname/Blattname?
Es müsste dann ein Eintrag in einer bestimmtem Zelle gemacht werden, um zu markieren dass keine weiteren Werte aus dem vorherigen den Monat mehr automatisch eingelesen werden sollen, damit nicht versehentlich Daten überschrieben werden.
5.
Muss das Ganze auch über einen Jahreswechsel (Dezember auf Januar) funktionieren?
LG
Franz
Anzeige
AW: definierte Zellen aus Tabelle auslesen und in neue einfuegen
13.04.2020 01:18:56
Rainer
Hallo Franz,
vielen Dank fuer die Antwort, hier zu den Fragen:
1. Die Blätter sind alle in der gleichen Arbeitsmappe
2. Ja, das existiert schon
3. Ja, das wären immer die gleichen Zellen
4. Die systematische Vergabe wäre kein Problem. man könnte das Tabellenblatt vom jeweils letzten Monat auch umbenennen damit Makro darauf zugreifen kann waehrend man das alte Blatt archiviert und aus der Mappe entfernt. Dies wäre möglich. Die Variante mit Zelleintrag ist auch denkbar
5. Nein, das ist nicht notwendig
LG, Rainer
Anzeige
AW: definierte Zellen aus Tabelle auslesen und in neue einfuegen
14.04.2020 15:00:03
fcs
Hallo Rainer,
ich hab deine Datei jetzt so aufbereitet das dass die erforderlichen Makros vorhanden sind.
https://www.herber.de/bbs/user/136700.xlsm
  • 1. Ereignismakro "Workbook_SheetChange" im VBA-Editor unter "DieseArbeitsmappe"
    Dieses Makro überwacht die Eingabe der Namen in Spalte A des 2. Tabellenblatts.

  • 2. Makro "prcNeuerMonat" im VBA-Editor unter Modul "Modul_NeuerMonat"
    Dieses Makro legt auf Basis von "Leerblatt" ein Tabellenblatt für den neuen Monat an.
    Mit der Schaltfläche im Blatt "Steuerung" kannst du das Makro starten.

  • Im Blatt "Steuerung" findest du weitere Hinweise.
    LG
    Franz
    Anzeige
    AW: definierte Zellen aus Tabelle auslesen und in neue einfuegen
    14.04.2020 23:32:30
    Rainer
    Hallo Franz,
    es funktioniert super, recht herzlichen Dank fuer Deine Hilfe!!!
    LG, Rainer
    ;

    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

    Definierte Zellen aus einer Excel-Tabelle auslesen und in eine neue einfügen


    Schritt-für-Schritt-Anleitung

    1. Vorbereitung der Arbeitsmappe: Stelle sicher, dass alle benötigten Tabellenblätter in einer Arbeitsmappe vorhanden sind. Zum Beispiel ein Blatt für den aktuellen Monat und ein Blatt für den vorherigen Monat.

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

    3. Ereignismakro erstellen: Füge im VBA-Editor ein Ereignismakro namens Workbook_SheetChange hinzu. Dieses Makro wird die Eingabe in Spalte A überwachen und die entsprechenden Daten aus der vorherigen Tabelle auslesen.

      Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
         If Not Intersect(Target, Sh.Range("A:A")) Is Nothing Then
             ' Hier den Code zum Auslesen der Daten einfügen
         End If
      End Sub
    4. Daten aus der Tabelle auslesen: Innerhalb des Ereignismakros kannst du Excel-Befehle verwenden, um die gewünschten Werte aus der vorherigen Tabelle auszulesen. Beispielsweise:

      Dim KundenName As String
      KundenName = Target.Value
      ' Beispiel für das Auslesen von bestimmten Werten
      Dim Wert As Variant
      Wert = Worksheets("Vormonat").Range("B2").Value ' Ändere die Zellreferenz nach Bedarf
      Sh.Range("B2").Value = Wert ' In die neue Tabelle schreiben
    5. Makro zum Erstellen eines neuen Monats: Erstelle ein weiteres Makro, um ein neues Tabellenblatt für den neuen Monat zu generieren. Dieses Makro sollte auf einem leeren Vorlagenblatt basieren.

      Sub prcNeuerMonat()
         Worksheets("Leerblatt").Copy After:=Worksheets(Worksheets.Count)
         ActiveSheet.Name = "NeuerMonat" ' Ändere den Namen entsprechend
      End Sub
    6. Schaltfläche hinzufügen: Füge eine Schaltfläche im Steuerungsblatt ein, um das Makro prcNeuerMonat zu starten.


    Häufige Fehler und Lösungen

    • Fehler: Das Makro wird nicht ausgelöst: Stelle sicher, dass die Makros in Excel aktiviert sind und dass du die richtigen Zellreferenzen verwendest.

    • Fehler: Daten werden nicht korrekt ausgelesen: Überprüfe die Namen der Blätter und die Zellreferenzen im VBA-Code. Diese müssen exakt übereinstimmen.

    • Fehler: Arbeitsmappe ist geschützt: Vergewissere dich, dass die Arbeitsmappe nicht schreibgeschützt ist, da dies das Auslesen und Schreiben von Werten verhindert.


    Alternative Methoden

    • SVERWEIS-Funktion: Du kannst die SVERWEIS-Funktion verwenden, um bestimmte Werte aus der Tabelle auszulesen, ohne VBA zu nutzen. Zum Beispiel:

      =SVERWEIS(A2, Vormonat!A:B, 2, FALSCH)
    • INDEX und VERGLEICH: Eine weitere Möglichkeit ist die Kombination von INDEX und VERGLEICH, um Daten dynamisch auszulesen.


    Praktische Beispiele

    • Beispiel 1: Angenommen, du hast ein Blatt „Vormonat“ mit den Spalten A (Kundenname) und B (Zahlungsstatus). Bei Eingabe eines Kundennamens in die neue Tabelle wird der Zahlungsstatus automatisch übernommen.

    • Beispiel 2: Du kannst ein Makro so programmieren, dass es bei Eingabe eines Namens auch automatisch weitere Informationen aus der Tabelle ausliest, wie gebuchte Kurse oder Fälligkeiten.


    Tipps für Profis

    • Nutze Named Ranges, um die Lesbarkeit und Wartbarkeit deines VBA-Codes zu verbessern. So kannst du beispielsweise KundenDaten definieren, um auf bestimmte Zellbereiche zuzugreifen.

    • Halte deine Makros so modular wie möglich, damit du sie einfach anpassen und wiederverwenden kannst.

    • Teste deine Makros in einer Kopie deiner Arbeitsmappe, um Datenverluste zu vermeiden.


    FAQ: Häufige Fragen

    1. Wie kann ich Excel dazu bringen, Daten automatisch zu übertragen, wenn ich einen Namen eingebe?
    Du kannst ein Ereignismakro verwenden, das auf Änderungen in einer bestimmten Spalte reagiert und die Daten entsprechend ausliest.

    2. Was mache ich, wenn ich Fehler beim Auslesen der Daten bekomme?
    Überprüfe die Zellreferenzen und die Namen der Arbeitsblätter. Stelle sicher, dass die Daten vorhanden und korrekt formatiert sind.

    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