Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1352to1356
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

Drehfeld mit Makro

Drehfeld mit Makro
04.03.2014 08:16:22
Jochen
Hallo Excel-Freunde, ich brauch mal wieder Eure Hilfe.
In einer Tabelle sind eine Reihe von Spalten die immer mal wieder ein/ bzw. ausgeblendet werden sollen. Nun habe ich mir Kontrollkästen mit dem dazu passendem Code erstellt, funktioniert auch sehr gut. Da das aber 30 Stück sind und sehr unübersichtlich ist nun meine Frage: Kann das nicht mit einem anderen Werkzeug z. B. mit einem Drehfeld klappen so das ich nur eine Schaltfläche habe. Ich hoffe das irgend jemand eine Lösung für mich hat.
Danke im Voraus
Gruß
Jochen

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drehfeld mit Makro
04.03.2014 08:31:30
Beverly
Hi Jochen,
erstelle ein Drehfeld aus den ActiveX-Steuerelementen und gib unter den Eigenschaften als Minimum deine erste aus-/einzublendende Spaltennummer und als Maximum deine letzte and. Mit folgendem Code kannst du die Spalten dann sukzessive aus- bzw. einblenden:
Private Sub SpinButton1_SpinDown()
Columns(SpinButton1).Hidden = False
End Sub
Private Sub SpinButton1_SpinUp()
Columns(SpinButton1).Hidden = True
End Sub


Anzeige
AW: Drehfeld mit Makro
04.03.2014 09:57:16
Jochen
Hallo Karin, danke erst einmal für die schelle Antwort. Ich habe mal eine Test-Tabelle erstellt aber wenn ich das Makro so übernehme, den MAX –Wert auf 50 und den MIN – Wert auf 10 setzte und dann betätige werden die Spalten auch ausgeblendet. Beim wieder einblenden bleibt die 50. Spalte immer ausgeblendet. Wenn ich dann mal mittendrinn wieder Spalten einblende bleibt wieder eine Spalte verschwunden. Um alle Spalten ( bis auf die 50. ) wieder zuhaben muss ich alle ausblenden und dann wieder einblenden. Mach ich irgend wo einen Fehler?
https://www.herber.de/bbs/user/89523.xlsm
Gruß
Jochen

Anzeige
AW: Drehfeld mit Makro
04.03.2014 11:51:22
Beverly
Hi Jochen,
versuche es mit diesem Code:
Private Sub SpinButton1_SpinUp()
Dim intSpalten As Integer
intSpalten = 52 - Range("I1:AY1").SpecialCells(xlCellTypeVisible).Count
If intSpalten > 49 Then
SpinButton1 = 50
Else
Range(Cells(1, 10), Cells(1, intSpalten + 1)).EntireColumn.Hidden = True
End If
End Sub
Private Sub SpinButton1_SpinDown()
Dim intSpalten As Integer
intSpalten = Range("I1:AY1").SpecialCells(xlCellTypeVisible).Count
If intSpalten = 43 Then SpinButton1 = 10
Range(Cells(1, 52 - intSpalten), Cells(1, 50)).EntireColumn.Hidden = False
End Sub


Anzeige
AW: Drehfeld mit Makro
04.03.2014 12:40:23
Jochen
Hallo Karin, das ist Spitze nur jetzt hätte noch gerne das die Spalten, von hinten angefangen, ausgeblendet werden. Da ich nicht gut in VBA bin könntest Du noch eine kurze Erläuterung geben an welcher Stelle was gemeint ist bestimmt auch hilfreich für andere die das nutzen wollen.
Noch mal DANKE
Jochen

AW: Drehfeld mit Makro
04.03.2014 14:40:19
Beverly
Hi Jochen,
Private Sub SpinButton2_SpinDown()
Dim intSpalten As Integer
' Anzahl der sichtbaren Spalten ermitteln
intSpalten = Range("I1:AY1").SpecialCells(xlCellTypeVisible).Count
' damit Spinbutton nur bis 1 laufen kann
If intSpalten = 42 Then
SpinButton2 = 40
End If
' Spalten einblenden
Range(Cells(1, 10), Cells(1, 8 + intSpalten)).EntireColumn.Hidden = False
End Sub
Es muss die Anzahl an sichtbaren Spalten zwischen I und AX ermittelt werden - also jeweils links und rechts des Bereichs 1 Spalte mehr, da es sonst zu einem Fehler kommt, wenn alle Spalten von J bis AX ausgeblendet sind.
Dem SpinButton muss kein Min und Max zugewiesen werden.


Anzeige
AW: Drehfeld mit Makro
04.03.2014 15:13:36
Jochen
Hallo Karin,
danke für die schnelle Hilfe, hast mir sehr geholfen.
Bis bald
gruß
Jochen

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige