Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1564to1568
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

Schwebender Button

Schwebender Button
28.06.2017 09:41:07
Marco
Guten morgen alle,
ich würde gerne wissen ob es möglich ist einen Button immer sichtbar zu machen wenn ich das Tabellenblatt von links nach rechts gebe, aber nicht wenn ich es von oben nach unten bewege. Geht das?
Und ich habe noch eine weitere Frage ich möchte mit dem Button die Spalte T bis Z immer wieder ein oder ausblenden können dafür benötige ich wohl den Togglebutton. Aber wie programmiert man das? Bis jetzt kann ich nur die Farbe beim hin und her Switchen verändern ^^
Grüße Marco

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schwebender Button
28.06.2017 09:42:44
Hajo_Zi
Hallo Marco,
das bewegen löst keine Aktion aus.
Warum nicht symbolleiste?

AW: Schwebender Button
28.06.2017 09:57:47
Marco
Morgen Hajo. Eine Symbolleiste? Wie darf ich das verstehen? Also mir geht es darum das die Buttons immer sichtbar sind wenn ich von links nach rechts wandere damit ich sie, wenn es nötig ist dann immer betätigen kann und nicht erst zum Anfang der Seite wandern muss. Aber wie du das mit einer Symbolleiste meinst verstehe ich jetzt nicht. Meinst du ich erstelle selber Buttons und bau mir daraus eine Symbolleiste? Gruß Marco
AW: Schwebender Button
28.06.2017 10:20:46
Marco
Danke Hajo. Das sieht mir aber recht kompliziert aus zu mindestens dein Code.
AW: Schwebender Button
28.06.2017 10:12:27
EtoPHG
Hallo Marco,
Also auf einem Tabellenblatt kann man weder gehen, noch wandern ;-)
Allerdings wird das Ereignis Selection_Change gefeuert, wenn sich die aktive Zelle ändern.
Hier ein Code für ein Tabellenblatt, dass einen ActiveX-Commandbutton enthält, dessen horizontale Position immer der Spalte der aktiven Zelle angepasst wird:
Option Explicit
Private Sub CommandButton1_Click()
MsgBox "Hallo, ich befinde mich gerade in Spalte " & Split(CommandButton1.TopLeftCell. _
Address(, 0), "$")(0)
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CommandButton1.Left = Target.Left + 10
End Sub
Gruess Hansueli
Anzeige
AW: Schwebender Button
28.06.2017 10:18:32
Marco
Haha witzig es funktioniert, aber ich muss immer in eine Zelle klicken. Geht das denn auch ohne?
Also ich habe die Funktion Gruppierung schon ausprobiert aber die finde ich nicht so gut für meine Anwendung da ich 11 Toggle-Buttons verwenden möchte. Danke Hansueli
Das wird bei...
28.06.2017 10:27:11
Case
Hallo Marco, :-)
... Deinem VBA Level schwierig. Wenn Du nicht mit den Excelinternen Möglichkeiten (z. B. Fenster fixieren...) arbeiten möchtest, dann muss mit API gewerkelt werden. Ein fertiges Beispiel findest Du hier - das muss natürlich angepasst werden: ;-)
Floating worksheet buttons - Different approach...
Servus
Case

Anzeige
AW: Das wird bei...
28.06.2017 10:34:00
Marco
Hm ich glaube das ist für meinen zweck doch zu aufwendig. Ich glaub ich lass das sein und fixiere die Buttons einfach ganz vorne dann muss man halt von links nach rechts scrollen. Aber danke für eure Hilfe. Aber dennoch ist eine Frage offen. Wie sage ich dem Toggle-Button das er die Spalte von bis ein bzw. ausblenden soll? Für eine einzelne Spalte habe ich schon einen Code aber wie weite ich das auf mehrere aus?
Private Sub PPA_Kalkuklation_Click()
If PPA_Kalkuklation = True Then
Cells(1, 3).Select
Selection.EntireColumn.Hidden = False
Else
If PPA_Kalkuklation = False Then
Cells(1, 3).Select
Selection.EntireColumn.Hidden = True
End If
End If
Anzeige
AW: Das wird bei...
28.06.2017 10:47:46
yummi
Hallo Marco,
lass erstmal das select weg, brauchst du nciht

If PPA_Kalkuklation = True Then
Range("A:E").EntireColumn.Hidden = False
Else
If PPA_Kalkuklation = False Then
Range("A:E").EntireColumn.Hidden = True
End If
End If
Gruß
yummi
AW: Das wird bei...
28.06.2017 10:52:47
Marco
Ah super coole Sache dein Code ist kürzer als meiner vielen Dank. Und auch danke an alle anderen die mir weitergeholfen haben eure Codes funktionieren =)
AW: Das wird bei...
28.06.2017 10:48:58
Daniel
HI
da das Ein- und Ausblenden über einen Wahrheitswert läuft und immer nur ein Umschalten ist, würde das ganze auch mit einem Commandbutton funktionieren, da du einen Wahrheitswert mit Hilfe der Funktion NOT umschalten kannst:
Private Sub CommanButton1_Click()
Columns(3).Hidden = Not Columns(3).Hidden
End Sub
bei mehrern spalten so:
- bei zusammenhängenden Blöcken immer erste und letzte Spalte des Blocks mit Doppelpunkt getrennt angeben, Einzelspalten müssen als Block angegeben werden
- mehrere Blöcke mit Komma getrennt angeben
Private Sub CommanButton1_Click()
Range("B:E,H:K,M:M").EntireColumn.Hidden = Not Range("B:E,H:K,M:M").EntireColumn.Hidden
End Sub
bei Verwendung eines ToggleButtons kann man den Togglebuttonzustand direkt verwenden, um sich die IF-Abfrage zu sparen:
Private Sub ToggleButton1_Click()
Range("B:E,H:K,M:M").EntireColumn.Hidden = ToggleButton1.Value
End Sub
bzw, wenn man ein- und ausblenden dem jeweils anderen Schaltzustand zuordnen will:
Private Sub ToggleButton1_Click()
Range("B:E,H:K,M:M").EntireColumn.Hidden = Not ToggleButton1.Value
End Sub
Gruß Daniel
Anzeige
kalkuxkluxklations Buttons....
28.06.2017 10:49:57
EtoPHG
Hallo Marco,
Der Code kann auf eine Zeile gekürzt werden.
Warum benennst Du Buttons um? Das macht das Programmieren nur aufwändiger.
Und dann noch die Schreibweise ? Was zum Teufel ist eine ...Kalkuklation ?
Private Sub PPA_Kalkuklation_Click()
Columns(3).EntireColumn.Hidden = PPA_Kalkuklation
End Sub

Das musst du halt für jeden deiner Steuerelemente entsprechend anpassen.
Viel Vergnügen...
Gruess Hansueli
AW: kalkuxkluxklations Buttons....
28.06.2017 10:57:24
Marco
Danke Hansueli, ich mach das nur damit ich bzw. mein Nachfolger den Überblick hat welcher Button für was ist.
Noch eine Frage zum ausblenden. Wenn ich Spalte xx bis xx ausblende sind dann die anderen sichtbaren Spalten in denen die Zellen über Formeln mit den ausgeblendeten verknüpft sind in ihrer Funktion beeinträchtigt? Gruß Marco
Anzeige
kommt auf die Formeln an!, normal nicht (owT)
28.06.2017 11:01:29
EtoPHG

AW: kommt auf die Formeln an!, normal nicht (owT)
28.06.2017 11:36:06
Marco
Danke nochmal an alle für eure Beiträge =)
AW: Ausgeblendete Spalten haben keinen Einfluss
28.06.2017 12:25:25
Daniel
Hi
Stand Excel 2013 hat der Ausblendezustand einer Spalte nie einen Einfluss auf die Formelergebnisse.
Lediglich der Ausblendezustand einer Zeile kann das Formelergebnis beeinflussen und das auch nur dann, wenn eine der Funktionen Teilergebnis oder Aggregat verwendet wird.
Gruß Daniel
AW: Das wird bei...
28.06.2017 10:45:37
Marco
Ich hab es herausgefunden^^, aber jetzt würde ich noch gerne wissen wie ich es anstelle das die ein bzw. ausgeblendeten Spalten nicht immer markiert werden? Gruß Marco
So sieht mein Code aus
Sub PPA_Kalkuklation_Click()
'##        Programmbeschreibung          ##
'##       PPA_Kalk Toggle-Button         ##
'##         ein oder ausblenden          ##
If PPA_Kalkuklation = True Then
Columns("B:I").Select
Selection.EntireColumn.Hidden = False
Else
If PPA_Kalkuklation = False Then
Columns("B:I").Select
Selection.EntireColumn.Hidden = True
End If
End If
End Subpre>

Anzeige
AW: Das wird bei...
28.06.2017 10:54:04
Rolf
Hallo Marco,
diesen Code habe ich von Nepumuk.
Wenn du mit dem Cursor das Blatt seitlich verschiebst, tritt ein Ereignis ein.
IN dieses Arbeitsblatt:
Option Explicit
Private Sub Workbook_Activate()
Call StartTimer
End Sub

Private Sub Workbook_Deactivate()
Call StopTimer
End Sub
In Modul:
Option Explicit
Private ldtmNextStart As Date
Public Sub StartTimer()
If ActiveSheet Is Tabelle1 Then
If ActiveWindow.VisibleRange.Column >= 5 Then
Range("A1:r1").Value = "wer"""
Else
Range("A1:r1").Value = "Otto"""
End If
End If
ldtmNextStart = Now + TimeSerial(0, 0, 1)
Call Application.OnTime(EarliestTime:=ldtmNextStart, Procedure:="StartTimer", Schedule:=True)
End Sub

Public Sub StopTimer()
Call Application.OnTime(EarliestTime:=ldtmNextStart, Procedure:="StartTimer", Schedule:= _
False)
End Sub
Gruß Rolf
Anzeige
AW: Das wird bei...
28.06.2017 10:57:29
Werner
Hallo Marco,
hier eine Möglichkeit mit einer Userform zum Aus-/Einblenden. Die muss/ist in den Eigenschaften auf ShowModal = False eingestellt.
https://www.herber.de/bbs/user/114533.xlsm
Gruß Werner

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige