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

Forumthread: Daten per Button von Tabelle 1 zu Tabelle 2

Daten per Button von Tabelle 1 zu Tabelle 2
05.08.2016 17:54:52
Tabelle
Hallo!
Wie ich gesehen habe befinden sich hier die Excel Profis. Ich bin ein Anfänger und bräuchte eine kleine Hilfe. Ich möchte die Kundendaten des gewählten Kunden (Zeilen) per Kopfdruck in eine zweite Tabelle übertragen. Wenn das schon was drin ist einfach überschreiben.
Leider bin ich mit VBA nicht so vertraut aber wenn mir jemand ein Beispiel machen könnte wäre ich super froh, z.B:: Daten von A1 Tabelle1 nach B1 Tabelle 2, oder gleich in meinem Beispiel.
https://www.herber.de/bbs/user/107421.xlsx
Vielen Dank für die Hilfe!
Gruss Marc
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten per Button von Tabelle 1 zu Tabelle 2
05.08.2016 18:21:11
Tabelle
Hallo Marc,
da bietet sich meiner Meinung nach das Doppelklick-Ereignis des Tabellenblattes an.
Rechtsklick auf den Tabellenblattreiter "Kundenkartei" - Code anzeigen - Code rechts ins Codefenster des Tabellenblattes kopieren
Sobald im Tabellenblatt "Kundenkartei" auf dem Familiennamen eines Kunden ein Doppelklick ausgeführt wird, werden die Daten ins Blatt "Auftrag" übertragen.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 2 And Target.Row > 6 Then
Cancel = True
Sheets("Auftrag").Range("C7").Value = Target.Value
Sheets("Auftrag").Range("C8").Value = Target.Offset(0, 1).Value
Sheets("Auftrag").Range("C9").Value = Target.Offset(0, 4).Value
Sheets("Auftrag").Range("C10").Value = Target.Offset(0, 5).Value
Sheets("Auftrag").Range("C12").Value = Target.Offset(0, 2).Value
Sheets("Auftrag").Range("C13").Value = Target.Offset(0, 3).Value
Sheets("Auftrag").Select
End If
End Sub
Gruß Werner
Anzeige
AW: Daten per Button von Tabelle 1 zu Tabelle 2
05.08.2016 22:32:16
Tabelle
Sensationell, vielen Herzlichen Dank, da bin ich schon fast am Ziel!
Nur eine Sache will mir nicht gelingen, egal wie ich den Code im Editor speichere und auch das File Speichere bleibt er mir nicht drin, wenn ich die Excel Datei erneut öffne fehlt der Code in der Kundenkartei. Was mache ich falsch?
Anzeige
AW: Daten per Button von Tabelle 1 zu Tabelle 2
06.08.2016 09:29:02
Tabelle
Hallo Marc,
den Editor brauchst du nicht extra zu speichern. Datei als Arbeitsmappe mit Makros speichern (bei mir Endung .xlsm, ob das bei Excel 2010 auch schon die gleiche Endung ist weiß ich jetzt nicht).
Ansonsten mal die Sicherheitseinstellungen deines Excel überprüfen.
Ich hänge dir die Datei mit Makro mal an, da ist das Makro also definitiv drin.
https://www.herber.de/bbs/user/107427.xlsm
Gruß Werner
Anzeige
AW: Daten per Button von Tabelle 1 zu Tabelle 2
06.08.2016 11:28:21
Tabelle
Hallo Marc,
ich vermute mal, dass es an euren Sicherheitseinstellungen liegt -Makros nicht erlaubt?!
Hier mal noch eine Version mit einer SVERWEIS-Formel und ohne Makros.
Die Kundendaten, die du im Blatt Auftrag haben willst einfach im Blatt Kundenkartei in Spalte A mit einem x markieren.
Das geht aber jeweils nur für einen Kunden (nur ein x in Spalte A), aber mehr brauchst du ja nicht.
https://www.herber.de/bbs/user/107428.xlsx
Übrigens sind die Zellen C7 bis C13 im Blatt Auftrag folgendermaßen formatiert:
-Benutzerdefiniert im Format 0;0;;@
Das verhindert die Ausgabe von 0 im Blatt Auftrag wenn ein Feld der Kundendaten im Blatt Kundenkartei keine Daten enthalten sollte.
Gruß Werner
Anzeige
AW: Daten per Button von Tabelle 1 zu Tabelle 2
08.08.2016 16:43:07
Tabelle
Hallo Werner!
Danke vielmals, mit der Endung *.xlsm haben die Makros funktioniert nach speichern.
Darf ich noch eine weitere Button-Frage stellen?
Habe mir noch einen Button Auftrag absenden gemacht, welcher Drucken ausführt: (vorerst nur Preview)
Sub AuftragAbsenden()
Range("A1:H41").PrintPreview
End Sub

Wäre es möglich das dieser Button mir auch automatisch den übertragenen Kundennamen (F3)und Datum (C13) aus Tabelle "Auftrag" in eine weitere Tabelle fortlaufend schreibt? So kann ich dann kontrollieren ob der gedruckte Auftragsrapport zurückkommt zum verrechnen.
Anzeige
AW: Daten per Button von Tabelle 1 zu Tabelle 2
08.08.2016 17:20:12
Tabelle
Hallo Marc,
Sub AuftragAbsenden()
Dim loLetzte As Long
loLetzte = Sheets("Deine_Tabelle").Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("Deine_Tabelle").Cells(loLetzte, 1).Value = Sheets("Auftrag").Cells(3, 6).Value
Sheets("Deine_Tabelle").Cells(loLetzte, 2) = Date 'aktuelles Datum eintragen
Range("A1:H41").PrintPreview
End Sub
Die Tabelle wo du das hinspeichern willst mußt du halt anlegen und den Tabellenblattnamen im Code entsprechend anpassen.
Der Name wird in Spalte A, das Datum in Spalte B geschrieben. Ich bin mal davon ausgegangen, dass in der ersten Zeile in Spalte A und Spalte B jeweils eine Überschrift steht.
Wenn in Spalte B unbedingt das Datum aus Zelle C13 aus dem Blatt Auftrag stehen soll dann im Code die Zeile mit ......= Date auskommentieren oder löschen und stattdessen diese Codezeile einfügen.
Sheets("Deine_Tabelle").Cells(loLetzte, 2).Value = Sheets("Auftrag").Cells(13, 3).Value
Gruß Werner
Anzeige
AW: Daten per Button von Tabelle 1 zu Tabelle 2
09.08.2016 10:03:16
Tabelle
Hallo Werner,
perfekt habe es noch etwas angepasst und es funktioniert super, so hab eich totale Kontrolle.
In meinem Button Makro habe ich noch folgendes angefügt um gleich auf den richtigen Drucker zu drucken:
Sheets("Auftrag").PrintOut ActivePrinter:="PDF_Printer"
Ich bin erstaunt was sich alles machen lässt und frage mich ob sogar ein automatisierter Kalendereintag in eine Google Kalender möglich wäre?
Gruss Marc
Anzeige
AW: Daten per Button von Tabelle 1 zu Tabelle 2
12.08.2016 13:15:42
Tabelle
Hallo Werner,
alles super funktioniert perfekt, einzig bei meiner Kotrolltabelle habe ich festgestellt, dass es zum Teil Überschneidungen gibt wenn mehrere Benutzer das File offen haben.
Wäre es auch möglich meine Kontrolle in eine externe Excel Datei zu schreiben C:\kontrolle.xls
loLetzte = Sheets("Kontrolle").Cells(Rows.Count, 1).End(xlUp).Row + 1
Sheets("Kontrolle").Cells(loLetzte, 1).Value = Sheets("Auftrag").Cells(3, 6).Value
Sheets("Kontrolle").Cells(loLetzte, 2).Value = Sheets("Auftrag").Cells(4, 6).Value
Sheets("Kontrolle").Cells(loLetzte, 3) = Date 'aktuelles Datum eintragen
Sheets("Kontrolle").Cells(loLetzte, 4) = Time 'aktuelles Datum eintragen
Vielen Dank schon mal!
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

Daten per Button von Tabelle 1 zu Tabelle 2 übertragen


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei mit deiner Kundenkartei.

  2. Wechsel in die Visual Basic for Applications (VBA) Umgebung:

    • Rechtsklicke auf den Tabellenblattreiter von "Kundenkartei" und wähle "Code anzeigen".
  3. Füge den folgenden VBA-Code ein, um die Daten per Doppelklick zu übertragen:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 2 And Target.Row > 6 Then
       Cancel = True
       Sheets("Auftrag").Range("C7").Value = Target.Value
       Sheets("Auftrag").Range("C8").Value = Target.Offset(0, 1).Value
       Sheets("Auftrag").Range("C9").Value = Target.Offset(0, 4).Value
       Sheets("Auftrag").Range("C10").Value = Target.Offset(0, 5).Value
       Sheets("Auftrag").Range("C12").Value = Target.Offset(0, 2).Value
       Sheets("Auftrag").Range("C13").Value = Target.Offset(0, 3).Value
       Sheets("Auftrag").Select
    End If
    End Sub
  4. Speichere die Datei als Arbeitsmappe mit Makros (*.xlsm).

  5. Testen: Doppelklicke auf einen Kunden in der "Kundenkartei", um die Daten nach "Auftrag" zu übertragen.


Häufige Fehler und Lösungen

  • Fehler: Der VBA-Code wird beim erneuten Öffnen nicht gespeichert.

    • Lösung: Stelle sicher, dass du die Datei als *.xlsm speicherst. Andernfalls wird der Code nicht gespeichert.
  • Fehler: Makros sind deaktiviert.

    • Lösung: Überprüfe die Sicherheitseinstellungen in Excel. Aktiviere die Ausführung von Makros.

Alternative Methoden

Falls du keine Makros verwenden möchtest, kannst du auch die SVERWEIS-Funktion in Excel nutzen. Markiere die gewünschte Zeile in der "Kundenkartei" mit einem "x" und verwende die folgende Formel in der "Auftrag" Tabelle:

=SVERWEIS("x"; Kundenkartei!A:C; 2; FALSCH)

Diese Methode ist einfacher, erfordert jedoch, dass nur ein Kunde gleichzeitig ausgewählt wird.


Praktische Beispiele

Hier sind einige nützliche Beispiele, wie du Daten von "Tabelle 1" (Kundenkartei) nach "Tabelle 2" (Auftrag) überträgst:

  1. Übertragung mit Doppelklick:

    • Doppelklicke auf den Namen eines Kunden in der "Kundenkartei", um die relevanten Daten automatisch in die "Auftrag"-Tabelle zu übertragen.
  2. Daten automatisch in eine externe Datei speichern:

    Dim loLetzte As Long
    loLetzte = Sheets("Kontrolle").Cells(Rows.Count, 1).End(xlUp).Row + 1
    Sheets("Kontrolle").Cells(loLetzte, 1).Value = Sheets("Auftrag").Cells(3, 6).Value

Tipps für Profis

  • VBA optimieren: Achte darauf, dass deine Variablen gut benannt sind und der Code sauber strukturiert ist. Dies erleichtert spätere Anpassungen.

  • Makros dokumentieren: Schreibe Kommentare in deinen VBA-Code, um die Funktionalität zu erklären. Dies ist besonders nützlich, wenn du mit Teams arbeitest oder die Datei später selbst wieder aufrufst.

  • Backup erstellen: Erstelle regelmäßig Backups deiner Excel-Dateien, insbesondere wenn du mit Makros arbeitest. Dies schützt vor Datenverlust.


FAQ: Häufige Fragen

1. Wie kann ich einen Button in Google Tabellen einfügen? Für Google Tabellen musst du Apps Script verwenden. Gehe zu "Erweiterungen" > "Apps Script", um deine Skripte zu schreiben und Buttons zu erstellen.

2. Welche Excel-Version wird benötigt? Die beschriebenen Funktionen und VBA-Codes sind in Excel 2010 und neueren Versionen verfügbar. Stelle sicher, dass du die Endung *.xlsm verwendest, um Makros zu speichern.

3. Was mache ich, wenn die Übertragung nach "Auftrag" nicht funktioniert? Überprüfe den VBA-Code auf Syntaxfehler und stelle sicher, dass die Blattnamen korrekt sind. Teste auch, ob du die richtigen Zellen anvisierst.

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