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

Kombinationsfeld

Forumthread: Kombinationsfeld

Kombinationsfeld
Andreas
Liebe Excel-Profis,
wenn ich ein Kombinationsfeld erzeuge und mit RMT "Steuerelement formatieren" drücke, komme ich auf dem Tab "Steuerung" zum Eintrag "Zellverknüpfung".
Ich möchte 300 Kombinationsfelder untereinander (in jeder Zeile eins) erzeugen, müsste jedoch die "Zellverknüpfung" jedesmal neu eingeben, da sie sich nicht dynamisch auf die neue Zeile anpasst. Leider benötige ich die Zellverknüpfung, weill ich hierauf einen Sverweis steuere, der mit dieser Zahl weiterrechnet.
Meine Frage also, kann ich mit blossem Kopieren des Kombinationsfeldes auf die nächste Zeile auch die Zellverküpfung sich anpassen lassen?
Vielen Dank im Voraus
Gruss
Andreas
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Kombinationsfeld
29.12.2009 10:59:37
Beverly
Hi Andreas,
nein, das geht nicht. Du kannst das höchstens per VBA machen:
Sub Kombinationsfelder()
Dim cbbDropDown As DropDown
Dim inElement As Integer
For inElement = 1 To 300
Set cbbDropDown = ActiveSheet.DropDowns.Add(10, 0, 50, 10)
With ActiveSheet.Shapes(inElement)
.Width = Cells(inElement, 1).Width
.Height = Rows(inElement).RowHeight
.Left = 0
.Top = Rows(inElement).Top
.ControlFormat.ListFillRange = "Tabelle1!$A$1:$A$7"
.ControlFormat.LinkedCell = Cells(.TopLeftCell.Row, .TopLeftCell.Row).Address
End With
Next inElement
Set cbbDropDown = Nothing
End Sub

Die Kombinationsfelder werden in Spalte A ab Zeile 1 eingefügt. Ich bin davon ausgegangen, dass sie alle den selben Eingabebereich haben. Beides musst du an deine Bedingungen anpassen.


Anzeige
AW: Kombinationsfeld
29.12.2009 11:26:23
Andreas
Hey gleich 3 VBA-Lösungen. Ich bin zwar eine Null in VBA, werde aber alle drei mal einkopieren und ausprobieren - habt ALLE vielen Dank und guten Rutsch :-)
Viele Grüsse
Andreas
hier noch eine Version...
29.12.2009 11:07:49
Tino
Hallo,
dieser geht alle Kombinationsfelder auf der Tabelle 1 durch und gibt diesem die Linkzelle rechts daneben.
Sub Link_Cell_Erstellen()
Dim oSh As Shape
For Each oSh In Tabelle1.Shapes
If TypeName(oSh.DrawingObject) = "DropDown" Then
oSh.DrawingObject.LinkedCell = oSh.TopLeftCell.Offset(0, 1).Address
End If
Next oSh
End Sub
Gruß Tino
Anzeige
AW: Kombinationsfeld
29.12.2009 11:17:34
Josef
Hallo Andreas,
nachdem du die Kombos erstellt hast und dem ersten die richtige Zellverknüpfung zugewiesen hast,
kannst du diesen Code ausprobieren.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub kombi()
  Dim objShp As Shape
  Dim lngOffset As Long, lngCol As Long
  
  For Each objShp In ActiveSheet.Shapes
    If objShp.Type = msoFormControl Then
      If objShp.FormControlType = xlDropDown Then
        If lngCol = 0 Then
          lngCol = Range(objShp.DrawingObject.LinkedCell).Column
          lngOffset = objShp.TopLeftCell.Row - _
            Range(objShp.DrawingObject.LinkedCell).Row
        Else
          objShp.DrawingObject.LinkedCell = Cells(objShp.TopLeftCell.Row - _
            lngOffset, lngCol).Address
        End If
      End If
    End If
  Next
  
End Sub

Gruß Sepp

Anzeige
;

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