Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1520to1524
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dropdown-Auswahl prüfen, dann Spalte kopieren

Dropdown-Auswahl prüfen, dann Spalte kopieren
24.10.2016 13:33:48
PwnStarr
Hallo an alle,
ich komme einfach nicht weiter. Ich hoffe, es kann mir jemand helfen.
Ich habe eine Datei mit zwei Tabellenblättern. In Tabelle1 sind in C11 bis XXX Spaltenüberschriften per Dropdown-Menü (erstellt über Datenüberprüfung) zum Auswählen. Wenn ich nun aus dem Dropdown eine Überschrift auswähle, soll in Tabelle2 nach genau dieser Überschrift gesucht werden. Wenn die Überschrift gefunden wurde, soll die komplette Spalte mit Werten, Formeln und Formatierung in die nächste freie Spalte von Tabelle 1 ab C12 eingefügt werden.
Mit WVerweis ging das ziemlich gut. Nur leider kann ich ja dann an den einzelnen, aus Tabelle2 übernommenen Werten nichts ändern, da die Zelle dann ja mit der Formel "besetzt" ist. Die Werte in Tabelle2 sind "fest".
Oje, ich hoffe, ich habe es verständlich ausdrücken können.
Kann mir ein Makro bei meinem Problem Abhilfe schaffen?
Vielen Dank im Voraus!
LG Starr

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
24.10.2016 14:32:47
Rudi
Hallo,
ins Modul der Tabelle1:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vCol
If Target.Row = 11 Then
If Target.Column > 2 Then
With Sheets("Tabelle2")
vCol = Application.Match(Target.Value, .Rows(11), 0)
If Not IsError(vCol) Then
Application.EnableEvents = False
.Range(.Cells(12, vCol), .Cells(Rows.Count, vCol).End(xlUp)).Copy _
Target.Offset(1)
Application.EnableEvents = True
End If
End With
End If
End If
End Sub
Gruß
Rudi
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
24.10.2016 15:10:37
PwnStarr
Vielen lieben Dank für die Antwort, Rudi!
Ich stelle mich bestimmt selten dämlich an, aber wenn ich den Code ins Modul der Tabelle schreibe, dann fragt Excel mich
a) nach dem Makronamen (aber er ist doch vergeben?!?)
b) wenn ich dann ein Namen definiert hab usw. bringt er die Fehlermeldung: Fehler beim Kompilieren - End Sub erwartet
Was mache ich falsch?
:(
Anzeige
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
24.10.2016 21:36:19
Werner
Hallo,
Rechtsklick auf das Tab von Tabellenblatt 1, Code anzeigen, kompletten Code von Rudi rechts ins Codefenster Kopieren und fertig.
Gruß Werner
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
25.10.2016 11:46:28
PwnStarr
Vielen Dank nochmal!
Leider funktioniert es nicht so, wie ich es mir gedacht habe. Das liegt aber sicherlich an meiner Beschreibung des Problems. Deshalb habe ich unter https://www.herber.de/bbs/user/109005.xlsx eine Beispieldatei angehängt.
Es wäre schön, wenn sich nochmal jemand meiner erbarmen würde...
In Tabellenblatt "Auswertung" soll über das Dropdown-Menü in Zeile 11 eine ID-Nr. ausgewählt werden können. Wenn man die ID-Nr. ausgwählt hat, beispielsweise die "1", sucht Excel im Tabellenblatt "Parameter" nach der ID-Nr. in Zeile 6. Wenn er die "1" gefunden hat, übernimmt er sämtliche Werte, Formeln und die Formatierung der Spalte mit der ID-Nr.1 und fügt sie im Tabellenblatt "Auswertung" in die Spalte ein, in der zu Beginn die "1" ausgwählt wurde.
Ich hoffe, es ist verständlich ausgedrückt.
Vielen, vielen Dank schon mal an meine(n) Helfer!
Grüßle Starr
Anzeige
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
25.10.2016 17:40:14
Werner
Hallo,
aufgrund einer Eingangsangaben hat der Code von Rudi in der falschen Zeile gesucht, in Zeile 12 anstatt in Zeile 6.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vCol
If Target.Row = 11 Then
If Target.Column > 2 Then
With Sheets("Parameter")
vCol = Application.Match(Target.Value, .Rows(6), 0)
If Not IsError(vCol) Then
Application.EnableEvents = False
.Range(.Cells(7, vCol), .Cells(Rows.Count, vCol).End(xlUp)).Copy
Target.Offset(1).PasteSpecial Paste:=xlAll, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.EnableEvents = True
Application.CutCopyMode = False
End If
End With
End If
End If
End Sub
Der Code gehört ins Codemodul vom Tabellenblatt Auswertung. Testen konnte ich nicht, habe momentan nur ein Tablet.
Gruß Werner
Anzeige
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
25.10.2016 18:56:41
Pwnstarr
Und ich hab gerade nur ein Smartphone... -.-
Sobald ich wieder am Rechner bin, teste ich den Code.
Wenn er funktioniert... hui. Dann steh ich in Ihrer Schuld.
Schönen Abend noch,Werner. Haben Sie vielen Dank!
Ahoi.
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
25.10.2016 21:11:27
Werner
Hallo,
ich nochmal kurz.
Punkt 1:
Wir sind hier per du.
Punkt 2:
Glück gehabt. Du hast das gleiche Problem auch bei VBA-Forum gepostet. Das nennt man Crossposting und wird nicht gerne gesehen. Bin mir nicht sicher, ob dir hier Hilfe angeboten worden wäre, wenn es früher aufgefallen wäre. Manche helfen trotzdem, viele andere nicht. Für die Zukunft: Wenn schon Crossposting, dann die verschiedenen Beiträge untereinander verlinken.
Punkt 3:
Sollte der Code so funktionieren, dann bitte den Beitrag im anderen Forum als gelöst kennzeichnen.
Gruß Werner
Anzeige
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
25.10.2016 22:50:50
Pwnstarr
Zu den Punkten 1 und 2:
Das ist das erste Mal, dass ich überhaupt in einem Forum etwas gepostet/angefragt habe, deswegen Asche auf mein Haupt, dass ich mit den Gepflogenheiten wie Anrede und Crossposting nicht vertraut bin. Beides tut mir leid und kommt nicht wieder vor.
In dem Fall ist mir deine Hilfe und die von Rudi noch mehr wert.
Zu Punkt 3:
Mach ich.
In dem Sinne... schönen Abend noch.
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
26.10.2016 08:20:14
PwnStarr
Guten Morgen,
also ich habe den Code nun getestet. Nachdem ich die absoluten Bezüge in den Formeln entfernt hatte, rechnet er bei den ins Tabellenblatt Auswertung übernommenen Werten & Formeln auch das aus, was er soll.
Nun habe ich noch eine Frage, die mir beim Testen aufgefallen ist:
Kann man dem Code einen Befehl hinzufügen, der, wenn man im Tabellenblatt "Auswertung" die ID-Nr. aus Zeile 11 entfernt, er die übernommene Spalte wieder entfernt?
Wenn ich mehrere ID-Nr. markiere und lösche, weil ich andere Parameter auswerten möchte, bringt er die Fehlermeldung "Typen unverträglich" und dann funktioniert alles nicht mehr.
Ansonsten bin ich unglaublich dankbar für die Hilfe. Alleine hätte ich das trotz der 100 VBA-Bücher auf meinem Schreibtisch und dem Internet nicht geschafft.
Schönen Mittwoch.
Adios Starr
Anzeige
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
26.10.2016 11:10:50
Werner
Hallo,
teste mal:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vCol
If Target.Row = 11 Then
If Target.Column > 2 Then
If Target.Value = "" Then
Application.EnableEvents = False
Range(Cells(12, Target.Column), Cells(Rows.Count, Target.Column).End(xlUp)).Delete
Application.EnableEvents = True
Exit Sub
End If
With Sheets("Parameter")
vCol = Application.Match(Target.Value, .Rows(6), 0)
If Not IsError(vCol) Then
Application.EnableEvents = False
Range(Cells(12, Target.Column), Cells(Rows.Count, Target.Column).End(xlUp)).Delete
.Range(.Cells(7, vCol), .Cells(Rows.Count, vCol).End(xlUp)).Copy
Target.Offset(1).PasteSpecial Paste:=xlAll, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Application.EnableEvents = True
Application.CutCopyMode = False
End If
End With
End If
End If
End Sub
Kann dir aber nicht sagen, ob es so tatsächlich passt. Ich kann nach wie vor nichts testen.
Gruß Werner
Anzeige
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
26.10.2016 12:30:41
PwnStarr
Ich hab's getestet.
Also die Spalten übernimmt er mittlerweile wunderbar.
Aber das Löschen funktioniert insoweit, dass er wirklich die Zellen löscht. Wenn ich lang genug auf Entfernen drücken würde, "verschlingt" Excel alles was sich vor der aktiven Zelle befindet, sodass irgendwann kein Tabellenkopf mehr da wäre usw.
Ich weiß nicht unter welchen Umständen, aber nachdem ich eine ID ausgewählt habe, bringt er mir Objekt erforderlich und löscht die letzte Spalte der ID-Auswahl. Beim Debuggen markiert er mir dann die Zeile:
Target.Offset(1).PasteSpecial Paste:=xlAll, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Schwierig. Meine Beschreibung lässt sicher zu wünschen übrig, aber das Verhalten von Excel ist mir hier nicht nachvollziehbar.
Danke für deine Hilfe. Ehrlich.
Grüßle.
Anzeige
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
26.10.2016 14:27:19
Werner
Hallo,
wieso löschen mit der Entfernen Taste? Wenn du eine Spalte eingelesen hast, dann lösche mal den Eintrag in deinem Pulldown. Dann sollte die zugehörige Spalte gelöscht werden.
Wenn es nicht funktioniert, dann stell den Beitrag wieder auf offen. Ich kann frühestens am Freitag wieder was testen.
Gruß Werner
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
27.10.2016 11:34:22
PwnStarr
Ahoi.
Ich habe jetzt alles nochmal neu gemacht, in der Hoffnung, dass es etwas bringt.
Leider hat es nichts gebracht.
Sobald ich per Pulldown eine ID auswähle, bringt er 'Objekt erforderlich' und markiert
Target.Offset(1).PasteSpecial Paste:=xlAll, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Zudem löscht eine ID-Zelle und die darunterliegende.
D.h. ich wähle in Zelle C11 eine ID aus, er bringt die Fehlermeldung und es wird in Zeile 11 und 12 eine Zelle gelöscht.
Ich denke ich weiß auf was du hinaus wolltest mit deiner letzten Nachricht, deswegen habe ich dem Pulldown noch ein Leerfeld "hinzugefügt", um eben nicht mehr per 'Entf' die ID zu löschen. Kann es damit zusammenhängen? Aber in der oben genannten Code-Zeile wird ja nichts angesprochen, was damit zu tun haben könnte.
Liegt es vielleicht am Befehl Target.Offset?
Wenn ja, wie könnte ich den Bereich eingrenzen?
Stressfreien (auch auf dieses Thema bezogen) Donnerstag noch.
Adios Starr
Anzeige
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
27.10.2016 21:04:05
Werner
Hallo,
ich schau es mir am Wochenende mal an.
Gruß Werner
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
29.10.2016 10:38:33
Werner
Hallo,
schau dir die Datei mal an und teste.

Die Datei https://www.herber.de/bbs/user/109088.xlsm wurde aus Datenschutzgründen gelöscht


Wenn du die Formeln mit ins Blatt Auswertung übernehmen willst (wird derzeit so gemacht), dann musst du im Blatt Parameter die absoluten Bezüge auf die Zeilen aus den Formeln rausnehmen (hab ich mal für Birne gemacht). Da zwischen Parameter und Auswertung die Zeilen unterschiedlich sind, kommt sonst nur Mist raus, da beim Kopieren die Zeilenbezüge nicht angepasst werden können.
Gruß Werner
Anzeige
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
29.10.2016 13:31:59
Pwnstarr
Ahoi.
Danke Dir.
Das mit den absoluten Zellbezügen hatte ich ja schon geändert und auch schon geschrieben. Wenigstens etwas, was ich zur Sache beitragen konnte -.-
Die Datei schaue ich mir dann gleich an. Geb dir dann Bescheid.
Danke!
Adios.
AW: Dropdown-Auswahl prüfen, dann Spalte kopieren
29.10.2016 14:11:33
PwnStarr
Hallo Werner,
ich habe getestet. Und was soll ich sagen? Es funktioniert!
Ich habe aus der Test-Datei noch die absoluten Bezüge entfernt und für alle die, die irgendwann mal das gleiche Problem haben sollten, nochmal die Datei mit Code, die das Problem gelöst hat, unter https://www.herber.de/bbs/user/109093.xlsm
hochgeladen.
Vielen, vielen, vielen Dank nochmal für deine kompetente und verständnisvolle Hilfe.
Schönes Wochenende noch!
Gruß Starr
AW: Danke für die Rückmeldung.
29.10.2016 15:08:47
Werner
Hallo,
freut mich, dass ich helfen konnte. Dir auch noch ein schönes WE.
Gruß Werner

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige