Thema Datum  Von Nutzer Rating
Antwort
22.11.2010 11:30:32 .
NotSolved
22.11.2010 12:02:18 Severus
NotSolved
22.11.2010 14:48:57 .
NotSolved
Blau Aw:Auswahlmöglichkeiten über UserForm
22.11.2010 15:13:39 Severus
NotSolved
23.11.2010 07:22:45 .
NotSolved
23.11.2010 11:03:36 Severus
NotSolved
23.11.2010 11:12:39 Severus
NotSolved
23.11.2010 13:05:07 .
NotSolved

Ansicht des Beitrags:
Von:
Severus
Datum:
22.11.2010 15:13:39
Views:
1087
Rating: Antwort:
  Ja
Thema:
Aw:Auswahlmöglichkeiten über UserForm
. schrieb am 22.11.2010 14:48:57:

Severus schrieb am 22.11.2010 12:02:18:


Sub Tabellenblätter_ausblenden()
Dim LaufZahl As Long
Dim ctrName As String
Dim shtName As String
On Error GoTo Fehler
Application.ScreenUpdating = False
For LaufZahl = 1 To Sheets.Count
ctrName = "cbxP" & CStr(LaufZahl)
shtName = "P" & CStr(LaufZahl)
If Controls(ctrName).Value = True Then
Sheets(shtName).Visible = xlSheetVisible
Else
Sheets(shtName).Visible = xlSheetVeryHidden
End If
Next LaufZahl
Application.ScreenUpdating = True
Exit Sub
Fehler:
MsgBox "Sie hatten kein Tabellenblatt ausgewählt! Excel erlaubt nicht, dass alle Tabellenblätter ausgeblendet werden! Es wird daher das letzte Tabellenblatt sichtbar bleiben.", vbInformation, "Hinweis..."
End Sub

Severus

Und wie würde dann das laufen, wenn die Produkte alle verschiedene Namen haben? Zum Beispiel P1 entspricht eigentlich dem "Zulaufband" und die Checkbox = cbxZulaufband
oder P4 entspricht dem "Sortierer" und die Checkbox = cbxSortierer.

Sprich, wie läuft das, wenn mein "Produktname" und cbx"Produktname" immer ganz unterschiedlich sind und nicht immer nur P1, P2 usw. heißen? (Auch keine fortlaufende Zahl besitzen)

Entschuldige schon: Aber warum verd... sagst Du das nicht gleich?
Mit solchen Ungenauigkeiten machst Du unsereins völlig unnötig Arbeit!

Hier ist das weniger tragisch, aber denk bitte künftig daran, das Problem so zu schildern, wie es wirklich ist!

Für die Tabellenblätter verwendest Du einfach den Index statt des Namens. Der Index entspricht der Position des Arbeitsblattes Im Blattregister an der Unterseite der Arbeitsmappe, also dort, wo die Blattnamen angezeigt werden.
Die Checkboxen benennst Du bitte tatsächlich so wie Du es im Beispiel getan hast, also "cbxPn" wobei n die Zahl von 1 bis 8 ist.
Beachte: Die Name Eigenschaft ist hier gemeint! Nicht die Caption Eigenschaft, welche die sichtbare Bezeichnung auf der UserForm wiedergibt! Caption kannst Du dann benennen wie Du willst.
Dann heißt der Code einfach:

Sub Tabellenblätter_ausblenden()
Dim LaufZahl As Long
Dim ctrName As String
On Error GoTo Fehler
Application.ScreenUpdating = False
For LaufZahl = 1 To Sheets.Count
ctrName = "cbxP" & CStr(LaufZahl)
If Controls(ctrName).Value = True Then
Sheets(LaufZahl).Visible = xlSheetVisible
Else
Sheets(LaufZahl).Visible = xlSheetVeryHidden
End If
Next LaufZahl
Application.ScreenUpdating = True
Exit Sub
Fehler:
MsgBox "Sie hatten kein Tabellenblatt ausgewählt! Excel erlaubt nicht, dass alle Tabellenblätter ausgeblendet werden! Es wird daher das letzte Tabellenblatt sichtbar bleiben.", vbInformation, "Hinweis..."
End Sub

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
22.11.2010 11:30:32 .
NotSolved
22.11.2010 12:02:18 Severus
NotSolved
22.11.2010 14:48:57 .
NotSolved
Blau Aw:Auswahlmöglichkeiten über UserForm
22.11.2010 15:13:39 Severus
NotSolved
23.11.2010 07:22:45 .
NotSolved
23.11.2010 11:03:36 Severus
NotSolved
23.11.2010 11:12:39 Severus
NotSolved
23.11.2010 13:05:07 .
NotSolved