Anzeige
Archiv - Navigation
1124to1128
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

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

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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige