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

Forumthread: Auswahlboxen in Spalten verbergen

Auswahlboxen in Spalten verbergen
EarnyToLearny
Einen schönen Abend an die Excel-Freunde,
ich habe mal wieder ein anscheinend nicht lösbares Problem und hoffe auf Eure Hilfe.
Hier kurz erklärt: 1 feststehende Spalte in der eine Auswahlbox steht. Ausgewählt können hier 4 betreffende Personen, die in 4 weiteren Spalten stehen. Je nach Wahl, z.B. 2 Personen, sollen nur die für 2 betreffenden Personen angezeigt werden. (Bringe ich grade noch so hin)
Jedoch stehen in den jeweiligen Spalten weitere Auswahlboxen, die aber nicht ausgeblendet werden können.
Ich habe hier im Forum ein Beispiel gefunden, das aber nur von einer "CommandBox1" spricht.
Also neben meinem ursprünglichen Problem habe ich auch gleich das zweite, dass ich, wenn ich zig solche
Boxen habe nicht weiß, wie die heißen, bzw. wo ich die Namen dafür finden kann.
Wie immer mache ich das Ganze mit einer Beispieldatei. Vielen Dank für Eure unendlich Mühe. Aber wie schon einmal angesprochen - jetzt habe ich Blut geleckt.
https://www.herber.de/bbs/user/69070.xls
Gruß Werner
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Auswahlboxen in Spalten verbergen
14.04.2010 02:11:23
fcs
Hallo Werner,
die Namen der Formular-Steuerelemente(Shapes) bekommst du angezeigt, wenn du mit der rechten Maustaste auf die Elemente klickst (Element selektierst). Der deutsche Name wird dann im Zelladressfeld angezeigt. Für Anzeige des vollständigen Namens muss du ggf. die Breite des Anzeigefelds verbreitern.
Das folgende Makro zeigt dir die Position (linke obere Zelle) und den englischen Namen der Shapes an.
Sub Shapes_NamenListen()
Dim objShape As Shape, AktiveZelle As Range
Set AktiveZelle = ActiveCell
For Each objShape In ActiveSheet.Shapes
With objShape
ActiveWindow.ScrollColumn = .TopLeftCell.Column
ActiveWindow.ScrollRow = .TopLeftCell.Row
If MsgBox("Name Shape : " & .Name & vbLf _
& "TopLeftCell :    " & .TopLeftCell.Address, _
vbOKCancel + vbInformation, "Liste der Shape-Namen") _
= vbCancel Then GoTo Ende
End With
Next
AktiveZelle.Select
Ende:
Set AktiveZelle = Nothing: Set objShape = Nothing
End Sub

Die folgenden Prozeduren blenden Shapes und Spalten aus abhängig von gewählter Personenzahl.
Gruß
Franz
Option Explicit
Sub Einblenden()
'Alle Spalten und Shapes einblenden
Dim wks As Worksheet, oShape As Shape
Set wks = Worksheets("Eingabe")
wks.Columns.Hidden = False
For Each oShape In wks.Shapes
oShape.Visible = True
Next
End Sub
Sub Ausblenden()
'Ausblenden gemäß Auswahl in Combobox
Call Einblenden
Select Case Worksheets("Daten").Range("A8").Value
Case 1
Call Aus_Shapes(Worksheets("Eingabe"), Array("Drop Down 3", "Check Box 10", _
"Check Box 11", "Check Box 12", "Check Box 13"))
Call Aus_Shapes(Worksheets("Eingabe"), Array("Drop Down 4", "Check Box 14", _
"Check Box 15", "Check Box 16", "Check Box 17"))
Call Aus_Shapes(Worksheets("Eingabe"), Array("Drop Down 5", "Check Box 18", _
"Check Box 19", "Check Box 20", "Check Box 21"))
With Worksheets("Eingabe")
.Range(.Columns(9), .Columns(17)).EntireColumn.Hidden = True
End With
Case 2
Call Aus_Shapes(Worksheets("Eingabe"), Array("Drop Down 4", "Check Box 14", _
"Check Box 15", "Check Box 16", "Check Box 17"))
Call Aus_Shapes(Worksheets("Eingabe"), Array("Drop Down 5", "Check Box 18", _
"Check Box 19", "Check Box 20", "Check Box 21"))
With Worksheets("Eingabe")
.Range(.Columns(12), .Columns(17)).EntireColumn.Hidden = True
End With
Case 3
Call Aus_Shapes(Worksheets("Eingabe"), Array("Drop Down 5", "Check Box 18", _
"Check Box 19", "Check Box 20", "Check Box 21"))
With Worksheets("Eingabe")
.Range(.Columns(15), .Columns(17)).EntireColumn.Hidden = True
End With
Case 4
'do nothing
End Select
End Sub
Sub Aus_Shapes(wks As Worksheet, arrNames)
'Ausblenden der genannten Shapes im Blatt
Dim iI As Long
For iI = LBound(arrNames) To UBound(arrNames)
wks.Shapes(arrNames(iI)).Visible = False
Next
End Sub

Anzeige
AW: Auswahlboxen in Spalten verbergen
14.04.2010 17:36:20
EarnyToLearny
Hallo Franz,
vielen Dank für die Mühen. Beides funzt noch nicht. Bitte nicht böse sein, aber das mit VBA versuche ich zum 2. mal und da ist dies schon eine gealtige Anstrengung für mich, trotz Deinem Script.
Schade, dass du mir das nicht in meine Beispieldatei einbauen konntest (zumindest für eine Spalte), dann könnte ich es leichter nachvollziehen. Trotzdem danke, iregndwie wird es dann schon gehen.
Gruß Werner
Anzeige
AW: Auswahlboxen in Spalten verbergen
14.04.2010 22:13:54
fcs
Hallo Werner,
soviel ist da eigentlich nicht einzubauen.
Gesamten Code in ein allgemeines Modul der Datei kopieren und dann das Makro "Ausblenden" der Combobox zur Auswahl der Personenzahl zuweisen.
Hier dann auch noch die Datei - bearbeitet unter Excel 2007.
https://www.herber.de/bbs/user/69089.xls
Gruß
Franz
Anzeige
AW: Auswahlboxen in Spalten verbergen
15.04.2010 20:15:20
EarnyTolearny
Hallo Franz,
jetzt funzt das. Vielen Dank.
Gruß Werner
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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