Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Schwebender Button





Frage

Hallo, ich würde gern eine Befehlsschaltfläche in mein Tabellenblatt einbinden, welche aber keine feste Position auf dem Blatt sondern eher auf dem Bildschirm hat. Das soll heißen das der Button an der gleichen Stelle bleibt auch wenn ich das Blatt scrolle geht das?? Im Voraus vielen Dank für die Hilfe Gruß Tino

Antwort 1 von Guenter

Hallo,

das kannst Du vielleicht über eine CommandBar lösen. Die kann in die Menüleisten geschoben werden und bleibt dann da.
Schau doch mal in der Hilfe für CommandsBar nach.

Gruß
GÜnter

Antwort 2 von powder

Hi, :)

sowas hatte ich mir schon fast gedacht, ein "schwebenden" button hätte ich halt sehr cool gefunden weil man den als nicht wissender Nutzer gut sieht und er sich super in den Sheet einfügt.

Aber mit einem nicht angedockten Commandbar sollte es auch gehen. Werde ich mich mal einlesen müssen.

(Und Notiz an mich selber:
immmer beachten in welcher Hilfe man sich selber aufhält sonst kann man lange nach CommandBar suchen ;) )

Noch eine Frage kennst Du dich auch mit Pivottable aus, oder genauer mit der Ansteuerung per VBA. Das klappt irgendwie gar nicht. Nicht einmal wenn ich das als Makro aufzeichen und wieder ablaufen lassen will. Und in der Hilfe oder auch sonst wo hab ich nicht viel gefunden. Oder kennst du vielleicht noch eine gute Tutoriell Seite.


Many Thx

Tino

Antwort 3 von Guenter

Hallo,

nee, Pivot-Tabellen sind für mich immer noch ein Buch mit sieben Siegeln. Da kenne ich mich nicht aus und ich versuche das irgendwie zu umgehen.

Ich glaube, es gibt im i-net eine ganze Reihe von Seiten, auf denen das mehr oder weniger gut beschrieben wird.

Gruß
Günter

Antwort 4 von powder

Hi,

die hab ich dann wohl noch nicht gefunden. Die meisten behandeln halt mehr so die Standartdinge und da gehört wohl ein Pivottable nicht dazu. Obwohl der echt geschickt ist um schnell ganz viele Daten zu erfassen und auszuwerten, nur mit VBA krieg ich ihn nicht gebändigt.

Ähnlich siehts auch mit dem Datenbank zugriff z.B. mit BusinessExplorer aus da hab ich ncoh nicht viele Infos gefunden.

Grüße
Tino

Antwort 5 von Aliba

Hi Tino,

vielleicht ein kleiner Hinweis zum schwebenden Button.
Wäre es vielleicht möglich, diesen z.B. im oberen Bereich z.B. Zeilen 1 bis 3 zu legen und dann die oberen 3 Zeilen fixieren. Dann ist er beim Scrollen nach unten immer im Fenster.

CU Aliba

Antwort 6 von Powder

Hi Aliba

klar auch ein guter Gedanke, manchmal sind einfache Lösung doch die besten.
Aber ein schwebender Button wäre schon noch faszinierend.


Antwort 7 von Aliba

Hi Tino,

das habe ich noch gefunden.
Diesen Code in das entsprechende Arbeitsblatt kopiert.
Musst halt mal schauen, wie Dein Button heisst.
In diesem Fall CommandButton1

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
CommandButton1.Top = ActiveCell.Top
CommandButton1.Left = ActiveCell.Offset(0, 3).Left
End Sub

Schwebt zwar nicht mit, aber wenn Du gescrollt hast und eine Zelle aktivierst, erscheint er daneben.
Der Button muss jedoch über die Stuerelement-Toolbox erstellt sein

CU Aliba

Antwort 8 von sicci

Hallo Tino,

ein Mausereignis im Sheet krieg ich (noch ;-)) nicht hin - Tastenschlag also leider unabdingbar, aber da ich auch gern einen Schwebe-Button hätte, hab ich Alibas Idee ergänzt:

Dieser Button schwebt immer an derselben Stelle aufm Bildschirm:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim intR%, intC%

intR = ActiveWindow.ScrollRow
intC = ActiveWindow.ScrollColumn

With CommandButton1
     .Top = Cells(intR + 2, intC + 1).Top
     .Left = Cells(intR + 2, intC + 1).Left
End with

End Sub


Und der hier hüpft zur Seite, wenn die unter ihm liegenden Zellen mal benötigt werden:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim intR%, intC%

intR = ActiveWindow.ScrollRow
intC = ActiveWindow.ScrollColumn

With CommandButton1
   If Target.Row = intR + 2 And Target.Column = intC + 1 Or _
      Target.Row = intR + 3 And Target.Column = intC + 1 Then
         .Top = Cells(intR + 2, intC + 2).Top
         .Left = Cells(intR + 2, intC + 2).Left
   ElseIf Target.Row = intR + 2 And Target.Column = intC + 2 Or _
          Target.Row = intR + 3 And Target.Column = intC + 2 Then
         .Top = Cells(intR + 3, intC + 3).Top
         .Left = Cells(intR + 3, intC + 3).Left
   Else: .Top = Cells(intR + 2, intC + 1).Top
         .Left = Cells(intR + 2, intC + 1).Left
   End If
End With

End Sub


Gruß sicci




Antwort 9 von powder

klingt cool werde ich heute gleich mal ausprobieren

danke gruß Tino

Antwort 10 von powder

Sorry,
hab gerade erst gesehen das ich ncoh gar kein Feedback gegebene habe.
Also das klapt echt super.
sieht richtig schick aus und jetzt nur noch die Mausbewegung abfangen, aber das wird glaub ich einiges schwerer (leider)

Aber vielen Dank

Grüe
Tino

Antwort 11 von powder

Ach ja und @Günter das mit der CommandBar klappt mitlerweile auch super.

Hab gleich mal mein eigenes Kleines AddIn geschrieben um mir die wichtigsten Funktionen meiner eingenen Makros immer zur verfügung zu stellen

Grüße Tino

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: