Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1612to1616
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

Via Dropdownliste eine Tabelle laden lassen

Via Dropdownliste eine Tabelle laden lassen
04.03.2018 12:20:56
Kristina
Hallo Leute!
Ich möchte gerne, wie die Überschrift es schon verrät, eine Tabelle durch Auswahl in einer Dropdownliste laden lassen. Nach tagelangem Suchen in verschiedenen Foren wurde ich immer noch nicht fündig und hoffe mir nun, dass mir vielleicht hier geholfen wird :)
Ich bin VBA Anfänger und vielleicht liegt die Lösung ja ganz nah, nur komme ich nicht drauf!
Zu meinem Problem:
Ich habe zwei Tabellenblätter, einmal "Tool" und einmal "Vorlage". In "Vorlage" sind 6 verschiedene Tabellen, die jeweils _1stufig, _2stufig, _3stufig, usw.heißen. Diese Namen können im Tabellenblatt "Tool" im Feld "H2" via Dropdownliste ausgewählt werden. Soweit so gut. Nun möchte ich, dass wenn ich in der Dropdownliste die Tabelle _1stufig auswähle, diese ab "C9" eingefügt wird (Auswahl und Einfügen geschieht beides in dem "Tool" Tabellenblatt, das ActiveSheet sozusagen). In meiner Logik, dachte ich, ich könnte es so über die VBA lösen lassen:
Sheets(Vorlage).Indirect(H2).Copy
ActiveSheet.Cells("C9").Paste
Allerdings klappt es nicht und ich denke auch, dass es an dem Indirect liegt, geht das überhaupt? Wie kann ich denn sonst die Tabellen über deren Namen ansprechen und einfügen lassen? Ich bin wie gesagt Anfänger, deswegen sieht es mir nicht nach, wenn ich vielleicht ein wenig zu naiv gedacht habe :D
Ich würde mich über jede Hilfe freuen!

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Crossposting
04.03.2018 12:36:44
Hajo_Zi
Zu Crossposting lies diese Seite Hajo-Excel.de
Durch Crossposting werden mehrere Gruppen von Leuten mit dem gleichen Thema befasst, ohne dass sie voneinander wissen.
Naturgemäß laufen dann die Antworten, die im einen Forum "zu spät" gegeben wurden, ins Leere und bleiben ohne Resonanz.
Es reicht also, zunächst in einem Forum zu posten - wenn die Antworten dann unbefriedigend sein sollten, steht es einem anschließend immer noch offen, ein anderes Forum zu Rate zu ziehen.
Ich mache keine Werbung für andere Foren und verzichte darum auf den Link.

Anzeige
AW: Via Dropdownliste eine Tabelle laden lassen
04.03.2018 12:54:55
Werner
Hallo Kristina,
Crossposting ohne entsprechenden Hinweis und Verlinkung in den verschiedenen Foren ist nicht die feine englische Art.
Trotzdem mal ein Versuch:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "H2" Then
If Not Target Is Nothing Then
Worksheets("Vorlage").ListObjects(Target.Value).Range.Copy Range("C9")
End If
End If
End Sub
Code gehört ins Codemodul des Blattes Tool. Dazu
-Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren
Makro startet, sobald in H2 eine Zelländerung erfolgt.
Gruß Werner
Anzeige
AW: Via Dropdownliste eine Tabelle laden lassen
04.03.2018 13:05:03
Kristina
Hallo Leute,
erstmal entschuldigt ich bin nicht oft in Foren unterwegs und wusste nicht, dass man nicht in mehreren gleichzeitig schreiben darf! Da ich Dienstag Projektabgabe habe, habe ich mir erhofft dadurch eine höhere Chance auf eine Antwort zu bekommen :) Verzeiht also wenn ich wen gekränkt habe!
Dann Danke Werner für die schnelle Antwort! Ich habe mich an deine Anweisung gehalten und die VBA sagt mir, dass ein Laufzeitfehler '9' besteht, Index außerhalb des gültigen Bereichs!
Weißt du vielleicht woran das liegt?
Dankeschön :)
Beispielmappe bitte
04.03.2018 13:16:26
Werner
Hallo Kristina,
dann lad bitte mal deine Mappe hoch.
Gruß Werner
Anzeige
AW: Beispielmappe bitte
04.03.2018 14:27:16
Werner
Hallo Kristina,
na ja, du hast ja auch auf deinem Tabellenblatt Vorlage keine intelligenten Tabellen (wovon ich aufgrund deiner Beschreigung ausgegangen bin) sondern benannte Bereiche. Die mußt du dann halt als Range ansprechen.
Was du allerdings mit den weiteren Auswahlfeldern H3 bis H5 vor hast weiß ich natürlich nicht.
Hier jetzt mal der Code für H2
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "H2" Then
If Not Target Is Nothing Then
Worksheets("Vorlage").Range(Target.Value).Copy Range("C9")
End If
End If
End Sub
Gruß Werner
Anzeige
AW: Beispielmappe bitte
05.03.2018 10:57:48
Kristina
Das klappt super, vielen lieben Dank!!
Achso hast recht, das war vielleicht etwas irreführend, dass es keine inteligenten Tabellen sind!
Mit den Feldern H3-H5 wollte ich weitere Szenarien neben der ersten Anzeigen lassen, da muss ich ja den Code dann nur auf H3-H5 ändern und C9 auf G9 usw oder?
Ich bedanke mich nochmal herzlich!
AW: Beispielmappe bitte
05.03.2018 11:31:04
Werner
Hallo Kristina,
da würde ich dann mit Select Case arbeiten. Ich hab dir auch noch ein Pulldown eingebaut, mit dem du die einkopierten Bereiche wieder löschen kannst.
https://www.herber.de/bbs/user/120211.xlsm
Gruß Werner
Anzeige
AW: Via Dropdownliste eine Tabelle laden lassen
04.03.2018 13:05:55
Kristina
Hallo Leute,
erstmal entschuldigt ich bin nicht oft in Foren unterwegs und wusste nicht, dass man nicht in mehreren gleichzeitig schreiben darf! Da ich Dienstag Projektabgabe habe, habe ich mir erhofft dadurch eine höhere Chance auf eine Antwort zu bekommen :) Verzeiht also wenn ich wen gekränkt habe!
Dann Danke Werner für die schnelle Antwort! Ich habe mich an deine Anweisung gehalten und die VBA sagt mir, dass ein Laufzeitfehler '9' besteht, Index außerhalb des gültigen Bereichs!
Weißt du vielleicht woran das liegt?
Dankeschön :)
AW: Via Dropdownliste eine Tabelle laden lassen
04.03.2018 13:08:26
Kristina
Hallo Leute,
erstmal entschuldigt ich bin nicht oft in Foren unterwegs und wusste nicht, dass man nicht in mehreren gleichzeitig schreiben darf! Da ich Dienstag Projektabgabe habe, habe ich mir erhofft dadurch eine höhere Chance auf eine Antwort zu bekommen :) Verzeiht also wenn ich wen gekränkt habe!
Dann Danke Werner für die schnelle Antwort! Ich habe mich an deine Anweisung gehalten und die VBA sagt mir, dass ein Laufzeitfehler '9' besteht, Index außerhalb des gültigen Bereichs!
Weißt du vielleicht woran das liegt?
Dankeschön :)
Anzeige

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige