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

Zellverknüfung in DropDown Feldern dynamisch änder

Zellverknüfung in DropDown Feldern dynamisch änder
29.07.2008 11:58:21
Jens
Hallo zusammen,
ich habe noch ein problem bei dem Kopieren von DropDown Feldern.
Ich habe drei Stück in einer Zeile und möchte gerne die ganze Zeile kopieren in die nächste freie Zeile (das funktioniert bereits).
Jedoch muss sich auch die Zellverknüpfung der drei Steuerelemente ändern. Die Spalte soll gleich bleiben jedoch die Zeile sollte der entsprechen in der die drei Elemente kopiert wurden.
Wie könnte hierfür ein makro aussehen, das in einer Schleife läuft, also ich die Zeile wieder kopieren kann und die Werte sich entsprechend änder.
Bin langsam am verzweifeln :-)
Gruß
Jens

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellverknüfung in DropDown Feldern dynamisch änder
29.07.2008 13:08:00
fcs
Hallo Jens,
verwende wenn es geht für dieses Art Dropdown nicht die Combi-Box aus den Formular-Steuerelementen sondern "Datengültigkeit" aus dem Menü Daten.
Das Anpassen per Makro der Zellverknüpfung von kopierten Steuerelementen aus der Symbolleiste "Formular" ist ziemlich kompliziert. Die neue kopierte Zeile muss zunächst nach den Shape-Elementen durchsucht werden. An Hand der Adresse der TopLeftCell der ShapeElemente kann dann die Adresse der verknüpften Zelle (LinkedCell) festgelegt werden.
Gruß
Franz

AW: Zellverknüfung in DropDown Feldern dynamisch änder
29.07.2008 14:14:00
Jens
Hallo Franz,
ich habe Deine Idee leider noch nicht ganz verstanden.
Was kann ich mit der Datengültigkeit in diesem Fall erreichen?
Gruß
Jens

Anzeige
AW: Zellverknüfung in DropDown Feldern dynamisch änder
29.07.2008 17:58:00
fcs
Hallo Jens,
mit Datengültigkeit kannst auch eine einspaltige Liste (am Besten mit einem Namen für den Zellbereich) als gültige Daten für den Zelleintrag festlegen. Diese stehen dann als DropDown-Auswahl in jeder Zelle zur Verfügung für die die Gültigkeit festgelegt wurde. Beim Kopieren einer Zeile wird die Datengültigkeit mit kopiert.
Allerdings sollte die Auswahlliste nicht zu lang sein, damit man nicht so viel scrollen muss.
Vorteil: Du pflasterst nicht das Tabellenblatt mit CombiBoxen zu.
Nachteil: Die Dateneingabe ist nicht so flexibel wie bei einer Combobox.
In einer anderen Antwort schreibst du, dass es nicht so schlimm ist, dass die Verknüpfung aller CombiBoxen geändert wird.
Dies deutet darauf hin, dass es eigentlich reicht, wenn man für jede der drei Spalten eine Combibox anlegt, die dann beim Klick in die entsprechende Zelle ihre Position und verknüpfte Zelle wechselt. Das kann man mit Ereignismakros lösen, die auf die Zellauswahl reagieren.
Gruß
Franz

Anzeige
AW: Zellverknüfung in DropDown Feldern dynamisch ä
29.07.2008 14:04:00
Beverly
Hi Jens,
eine Möglichkeit (Voraussetzung ist, dass die Elemente an der Zellenoberkante richtig ausgerichtet sind)

Sub linkedcell_zuweisen()
Dim cbbDropDown As DropDown
Dim inElement As Integer
Dim strSpalte As String
For inElement = 1 To ActiveSheet.Shapes.Count
With ActiveSheet.Shapes(inElement)
If .FormControlType = xlDropDown Then
strSpalte = Mid(.ControlFormat.LinkedCell, 2, InStr(2, .ControlFormat. _
LinkedCell, "$") - 2)
.ControlFormat.LinkedCell = Cells(.TopLeftCell.Row, strSpalte).Address
End If
End With
Next inElement
End Sub




Anzeige
AW: Zellverknüfung in DropDown Feldern dynamisch ä
29.07.2008 14:15:00
Jens
Hallo Karin,
leider funktioniert das Makro nicht. Es bleibt an folgender Stelle hängen:
strSpalte = Mid(.ControlFormat.LinkedCell, 2, InStr(2, .ControlFormat. _
LinkedCell, "$") - 2)
Gruß
Jens

AW: Zellverknüfung in DropDown Feldern dynamisch ä
29.07.2008 14:49:00
Beverly
Hi Jens,
ich habe im Augenblick kein Excel2007 zur Verfügung (kann ich erst heute Abend testen), in meinem Beispiel in 2003 funktioniert der Code problemlos. In dem angehängten Beispiel sind die Steuerelemente bereits kopiert und es wird nur noch die LinkedCell zugewiesen
https://www.herber.de/bbs/user/54198.xls


Anzeige
AW: Zellverknüfung in DropDown Feldern dynamisch ä
29.07.2008 14:44:40
Jens
Hallo Karin,
das Makro funktioniert doch, leider nicht in meiner Excel Tabelle (Ich habe keine Ahnung wieso nicht).
Wenn ich eine blanko Mappe erstelle und dort in die Spalte A die DropDown Felder kopiere und dann Dein Makro starte funktioniert es.
Gibt es eine Möglichkeit dies für 3 Felder (Spalte D, H, K) zu erstellen?

AW: Zellverknüfung in DropDown Feldern dynamisch ä
29.07.2008 16:50:00
Beverly
Hi Jens,
der Code ist unabhängig von der Anzahl der Elemente - er weist allen Kombinationsfeldern die LincedCell zu (auch denen noch einmal die bereits vor dem Kopieren exisitert haben, was jedoch kein Beinbruch ist)


Anzeige
AW: Zellverknüfung in DropDown Feldern dynamisch ä
30.07.2008 08:13:00
Jens
Hallo,
also ich habe gestern noch mal bei meiner Datei alles hin und her probiert aber ich bekomme es einfach nicht hin, dass das Makro funktioniert.
Kann ich Dir die Datei zuschicken oder hier irgendwie hochladen?

AW: Zellverknüfung in DropDown Feldern dynamisch ä
30.07.2008 08:16:16
Beverly
Hi Jens,
über dem Antwortfenster findest du den Schalter "Hier geht es zum File-Upload". Wenn du die Datei in dem dortigen Menü hochgeladen hast, erhältst du eine Linkadresse - diese musst du in deinen Beitrag kopieren.


AW: Zellverknüfung in DropDown Feldern dynamisch ä
30.07.2008 10:40:00
Jens
Hallo Karin,
hier die DateI. Vielen vielen Dank für Deine Hilfe!!!
Ich bin nicht so der VBA Profi :-)
https://www.herber.de/bbs/user/54206.xls

Anzeige
AW: Zellverknüfung in DropDown Feldern dynamisch ä
30.07.2008 11:07:23
Beverly
Hi Jens,
der Code ging davon aus, dass die Zellverknüpfung als absolute Adresse eingetragen ist, also z.B. $P$5, was in deinem Beispiel jedoch nicht der Fall ist (hängt wohl mit deiner Excel-Version zusammen). Hier eine andere Möglichkeit ohne Berücksichtigung ob der Bezug absolut oder relativ ist

Sub linkedcell_zuweisen()
Dim cbbDropDown As DropDown
Dim inElement As Integer
For inElement = 1 To ActiveSheet.Shapes.Count
With ActiveSheet.Shapes(inElement)
If .FormControlType = xlDropDown Then
.ControlFormat.LinkedCell = Cells(.TopLeftCell.Row, Range(.ControlFormat. _
LinkedCell).Column).Address
End If
End With
Next inElement
End Sub




Anzeige

226 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige