Clever-Excel-Forum

Normale Version: Automatische Zeilen einfügen und automatisch mit Werten versehen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebes Forum,

im Zuge der Erstellung einer (am Ende hoffentlich) übersichtlichen Tabelle stoße ich auf folgendes Problem:

In der Titelzeile gibt es ein Feld, in welchem durch eine Mehrfachauswahl mit einer Dropdown-Liste gewisse Parameter gewählt werden können, die auch automatisch durch Kommata trennen. So weit, so gut. 

Jetzt soll allerdings unter dieser Zeile für jeden Eintrag der Mehrfachauswahl automatisch eine Zeile eingefügt werden, die idealerweise bereits einen Wert aus der Mehrfachauswahl enthält. Ist dies möglich?

Liebe Grüße
Corpelius
Hallo,

du solltest eine Beispieldatei mit händisch eingetragenem Wunschergebnis (.xlsx - keine Bildchen!!) hochladen. Das Aussehen muss mit deinem Original übereinstimmen. https://www.clever-excel-forum.de/Thread...ng-stellen
Das ist natürlich eine gute Idee :)

Ich habe mal ein Sample eingefügt.

Liebe Grüße
Hi Corp

folgenden Code ins Sheet1-Modul stellen:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   Application.EnableEvents = False
   If Not Target.Address = "$B$2" Then Exit Sub
   Range("B" & Rows.Count).End(xlUp).Offset(1) = Target
   Application.EnableEvents = True
End Sub

Wenn man nun in der DropDown-Zelle einen Eintrag auswält, wird dieser Eintrag vom Makro automatisch unten angehängt.

Falls das nicht das ist, was Du wolltest, dann präzisier doch mal das Wort "Jetzt", das Du in Deinem Eröffnungsbeitrag verwendet hast.

GRuß, Raoul
Hi Raoul,

vielen Dank, das ist extrem hilfreich!

Liebe Grüße
Corpelius
Extrem hilfreich?

Was ist dann mit Deiner Frage hier: 
https://www.ms-office-forum.net/forum/sh...p?t=369469

Willst Du etwa den Eintrag nicht unten sondern oben eingefügt?
Hallöchen,

so wie die Fragestellung aussieht sollte es "unter diese Zeile" und selbige war die Titelzeile, also sicher oben Smile Das könnte dann im Prinzip so aussehen

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'Wenn die Zelle A1 geaendert wurde, dann
If Target.Address = "$A$1" Then
    'Ereignisreaktion deaktivieren
    Application.EnableEvents = False
    'Im Bereich A2:C2 eine Zeile einfuegen
    Range("A2:C2").Insert Shift:=xlDown
    'Auswahl von A1 nach A2 uebernehmen
    Range("A2").Value = Range("A1").Value
    'Auswahlbox in A2 entfernen
    Range("A2").Validation.Delete
    'Ereignisreaktion aktivieren
    Application.EnableEvents = True
'Ende Wenn die Zelle A1 geaendert wurde, dann
End If
End Sub

Bei mir wäre das Ergebnis dieses:

Arbeitsblatt mit dem Namen 'Tabelle1'
ABC
1WerEinkaufVerkauf
2Wer
3WilliBald
4OttoKar
5HeideLinde
6
7Frage
8Wer
9Was
10Wie
11Warum
NameBezug
Frage=Tabelle1!$A$7:$A$11
ZelleGültigkeitstypOperatorWert1Wert2
A1Liste=Frage
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.2) erstellt. ©Gerd alias Bamberg