Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1148to1152
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
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

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

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige