Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
956to960
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
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nochmals Ordner ein- ausblenden

Nochmals Ordner ein- ausblenden
02.03.2008 15:23:00
WalterK
Hallo,
in einem älteren Beitrag habe ich die folgende Datei gefunden.
https://www.herber.de/bbs/user/50357.xls
Sie enthält eine UF, mit der man bequem Spalten ein- und ausblenden kann. Hier ist der Code dazu:
Option Explicit

Private Sub CommandButton1_Click()
Dim oCntrl As MSForms.Control
On Error Resume Next
Application.ScreenUpdating = False
For Each oCntrl In Me.Controls
If TypeOf oCntrl Is MSForms.CheckBox Then
Sheets("Gesamtliste").Columns(CInt(Mid(oCntrl.Name, 3))).Hidden = Not oCntrl.Value
'Sheets("Gesamtliste").Columns(CInt(Mid(oCntrl.Name, 3)) + 50).Hidden = Not oCntrl.Value
End If
Next
ActiveWindow.ScrollColumn = 3
Application.ScreenUpdating = True
Unload Me
End Sub



Private Sub CommandButton2_Click()
Unload Me
End Sub



Private Sub CommandButton3_Click()
Dim oCntrl As MSForms.Control
For Each oCntrl In Me.Controls
If TypeOf oCntrl Is MSForms.CheckBox Then
oCntrl.Value = True
End If
Next
End Sub



Private Sub CommandButton4_Click()
Dim oCntrl As MSForms.Control
For Each oCntrl In Me.Controls
If TypeOf oCntrl Is MSForms.CheckBox Then
oCntrl.Value = False
End If
Next
End Sub



Private Sub CommandButton5_Click()
Dim oCntrl As MSForms.Control
For Each oCntrl In Me.Controls
If TypeOf oCntrl Is MSForms.CheckBox Then
oCntrl.Value = Not oCntrl.Value
End If
Next
End Sub



Private Sub UserForm_Activate()
Dim oCB As MSForms.CheckBox
Dim rng As Range
Dim intT As Integer, intL As Integer
intL = 18
For Each rng In Sheets("Gesamtliste").Range("C3:AX3")
Set oCB = Me.Controls.Add("Forms.CheckBox.1")
intT = intT + 20
If intT > 320 Then
intT = 20
intL = intL + 80
End If
With oCB
.Caption = rng.Text
.Top = intT
.Left = intL
.Height = 18
.Width = 60
.Value = Not rng.EntireColumn.Hidden
.Name = "CB" & rng.Column
End With
Next
End Sub


Ich bräuchte jetzt Hilfe, um den Code nach meinen Vorstellungen abzuändern:
1. In der UF sollten alle Spalten angezeigt werden, jeweils 26 Kästchen pro senkrechter Reihe
2. Die Kästchen sollten die „normale“ Spaltenbezeichnung haben, also A dann B dann C usw. bis IV
3. Es sollte noch eine vierte Schaltfläche (zu „Alle auswählen“; „Alle Abwählen“; „Auswahl umkehren“) dazukommen, nämlich „Originalauswahl wiederherstellen“. Diese Originalauswahl sollte man direkt im Makro definieren können, zB: im Original immer die folgenden Spalten anzeigen: A:A; C:H; K:K; Z:BZ usw.
Besten Dank im voraus,
Servus, Walter

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Falscher Betreff: Spalten ein- ausblenden
02.03.2008 15:48:00
WalterK
.

AW: Falscher Betreff: Spalten ein- ausblenden
02.03.2008 16:25:52
Heinz
Hi,
sieh dir mal die benutzerdefinierten Ansichten an, damit geht das ohne VBA sher komfortabel.
mfg Heinz

AW: Falscher Betreff: Spalten ein- ausblenden
02.03.2008 16:34:00
WalterK
Hallo Heinz,
wieder etwas neues, das kannte ich noch gar nicht!
Trotzdem:
das Ein- und Ausblenden mit der UF gefällt mir sehr gut, weil auch ein Excel-Anfänger damit leicht umgehen kann und weil es zudem sehr flexibel ist. In einer Tabelle mit vielen Spalten ist eine solche UF sehr übersichtlich.
Servus, Walter

AW: Falscher Betreff: Spalten ein- ausblenden
02.03.2008 18:07:13
Josef
Hallo Walter,
probier mal.
https://www.herber.de/bbs/user/50360.xls

Gruß Sepp



Anzeige
AW: Falscher Betreff: Spalten ein- ausblenden
02.03.2008 18:22:00
WalterK
Hallo Sepp,
genau so, klasse.
Eine Frage noch:
nach dem Beenden der UF ist auf dem Blatt die Spalte A nicht mehr sichtbar und es muss daher jedesmal wieder gescrollt werden. Läßt es sich so einrichten, dass das Blatt immer ab der ersten sichtbaren Spalte angezeigt wird?
Besten Dank jedenfalls,
Servus Walter

alle OK, hab's selber rausbekommen. Danke nochmals
02.03.2008 18:31:00
WalterK
Servus, Walter

Ein Problem gibt's doch noch ...
02.03.2008 20:16:54
WalterK
Hallo,
es funktioniert soweit alles wie es soll, allerdings nur,wenn der Blattschutz nicht aktiviert ist (ich habe kein Kennwort vergeben).
Ich weiß nicht, wohin ich die Zeile
.Protect UserInterFaceOnly:=True
kopieren muss, damit es läuft.
Servus, Walter

Anzeige
AW: Ein Problem gibt's doch noch ...
02.03.2008 20:32:21
Josef
Hallo Walter,
Private Sub CommandButton1_Click()
Dim oCntrl As MSForms.Control

On Error Resume Next
Application.ScreenUpdating = False
ActiveSheet.Unprotect
For Each oCntrl In Me.Controls
    If TypeOf oCntrl Is MSForms.CheckBox Then
        ActiveSheet.Columns(Cint(Mid(oCntrl.Name, 4, 99))).Hidden = Not oCntrl.Value
        'Sheets("Gesamtliste").Columns(CInt(Mid(oCntrl.Name, 4,99)) + 50).Hidden = Not oCntrl.Value
    End If
Next
ActiveWindow.ScrollColumn = 1
ActiveSheet.Protect
Application.ScreenUpdating = True
Unload Me
End Sub


Gruß Sepp



Anzeige
Sepp, danke vielmals. Passt wunderbar. oT
02.03.2008 20:51:00
WalterK
Servus, Walter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige