Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
588to592
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
588to592
588to592
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Button fixieren bzw. verankern

Button fixieren bzw. verankern
22.03.2005 17:19:21
Dirk
Hallo zusammen.
Ich möchte gerne einen Button oder auch Spalten so fixieren, dass ich links in mehreren Spalten scrollen kann, der Button bzw. die Spalte/n mit dem Button aber nicht mitscrollen, sondern immer sichtbar sind?
Mit der Fixieren-Funktion klappt das irgendwie nur zeilenweise, also horizontal, nicht aber spaltenweise ;-(.
Deshalb dachte ich, dass man den Button vielleicht irgendwie fixieren kann?
Gruß, Dirk

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Button fixieren bzw. verankern
22.03.2005 18:06:07
Herbert
Hallo Dirk,
das klappt schon Spaltenweise auch,
klicke in B1 und fixiere...
dann ist Spalte A fixiert...
Gruß Herbert
AW: Button fixieren bzw. verankern
23.03.2005 09:34:51
Dirk
Hallo Herbert,
also bei mir funktioniert das irgendwie nicht. Ich kann es nur Zeilenweise machen ;-( ?
Gruß, Dirk
AW: Button fixieren bzw. verankern
23.03.2005 10:24:10
Dirk
Hallo Herbert,
wenn ich horizontal scrolle hast du recht, aber sie soll nicht scrollen bzw. fixiert bleiben, wenn ich (in den anderen Spalten) nach "unten" scrolle. Das ist nämlich nicht der Fall.
Geht das überhaupt? In der Hilfe steht es auch nur sehr beschräkt und so wie du es gesagt hast.
Gruß, Dirk
Anzeige
AW: Button fixieren bzw. verankern
23.03.2005 11:23:22
Herbert
asoo meinst du das,
da kannst du dann nur als Alternative "Zeilen fixieren" nehmen,
oder Schaltflächen, die auf einer Userform platziert sind...
da kannst du dann scrollen wohin du willst, die würde immer an der gleichen Stelle stehen bleiben..
Gruß Herbert
AW: Button fixieren bzw. verankern
23.03.2005 11:27:35
Dirk
Hallo,
ich glaub die Userform wäre genau das wa sich brauche. Will ja nur einen Button immer sichtbar haben...nur wie funktioniert das genau?
Wäre dir um eine genauere Beschreibung dankbar, aber mach mich schon mal selbst dran ;-)
Gruß, Dirk
AW: Button fixieren bzw. verankern
23.03.2005 12:44:23
Herbert
Hallo Dirk,
aussehen würde das in etwa so:
Userbild
einfach Button in Userform einfügen und die Größe der Userform
an die Größe des Buttons anpassen...
die Eigenschaft ShowModal der Userform aus "False" setzen...
unter den Eigenschaften "Top" und "Left" die Userform an die richtige Stelle platzieren...die Userform entweder mit Workbook_Open oder
mit Worksheet_Activate aufrufen...
falls du die Mappe zwischendurch auch verläßt mußt du sie mit dem
Workbook_Deactivate-Ereignis ausblenden
mit dem Workbook_activate-Ereignis wieder einblenden
das wäre einmal das wichtigste,damit es funktioniert...
Gruß Herbert
Anzeige
AW: Button fixieren bzw. verankern
23.03.2005 14:40:39
Dirk
Danke nochmal, hab's jetzt endlich hinbekommen ;-)
Nur sieht es bei dir so aus, als hättest du sie in der Tabelle fixiert. Bei mir ist ein komplett neues Fenster, das ich zwar mit Top und Left-Eigenschaft setzten kann, es aber danach beliebig rumschieben kann. Ist ds richtig so oder kann ich es noch fest fixieren?
Gruß, Dirk
AW: Button fixieren bzw. verankern
23.03.2005 15:49:02
Herbert
dazu mußt du die Titelleiste ausblenden...
kopiere diesen Code in die Userform...


Option Explicit
Private Type RECT
   Left As Long
   Top As Long
   Right As Long
   Bottom As Long
End Type
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" ( _
   ByVal lpClassName As String, _
   ByVal lpWindowName As StringAs Long
Private Declare Function SetWindowLong _
   Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As Long, _
   ByVal nIndex As LongByVal dwNewLong As LongAs Long
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" _
   (ByVal hwnd As LongByVal nIndex As LongAs Long
Private Declare Function DrawMenuBar Lib "User32" ( _
   ByVal hwnd As LongAs Long
Private Function fncHasUserformCaption(bState As Boolean)
   Dim Userform_hWnd As Long
   Dim Userform_Style As Long
   Dim Userform_Rect As RECT
   Const GWL_STYLE = (-16)
   Const WS_CAPTION = &HC00000
   Userform_hWnd = FindWindow( _
      lpClassName:=IIf(Val(Application.Version) > 8, _
      "ThunderDFrame", "ThunderXFrame"), _
      lpWindowName:=Me.Caption)
   Userform_Style = GetWindowLong(hwnd:=Userform_hWnd, _
      nIndex:=GWL_STYLE)
   If bState = True Then
      Userform_Style = Userform_Style Or WS_CAPTION
   Else
      Userform_Style = Userform_Style And Not WS_CAPTION
   End If
   Call SetWindowLong(hwnd:=Userform_hWnd, nIndex:=GWL_STYLE, _
      dwNewLong:=Userform_Style)
   Call DrawMenuBar(hwnd:=Userform_hWnd)
End Function
Private Sub UserForm_Initialize()
Dim m_hWndXl
Call fncHasUserformCaption(False)
    Application.Caption = "My Unique Caption"
    m_hWndXl = FindWindow("XLMAIN", Application.Caption)
    Application.Caption = Empty
End Sub

     Gruß Herbert
Anzeige
AW: Button fixieren bzw. verankern
23.03.2005 17:25:42
Dirk
Hallo,
wie kann ich denn direkt in die UserForm Code einfügen? Die ist doch grafisch und ich rufe sie folgendermaßen auf:

Private Sub Workbook_Open()
Load UserForm1
UserForm1.Show
End Sub

In der UserForm befindet sich noch ein Button (mit ausführbarem Code), doch das hat ja damit eigentlich nichts zu tun.
Wenn ich den Code von dir unter dem Aufruf (siehe oben) einfüge, bekomm ich die Meldung, dass nach End Sub nicht mehr stehen darf außer Deklarationen usw.
Ich weiss jetzt nicht, wo genau der Code rein soll?
Gruß, Dirk
Anzeige
AW: Button fixieren bzw. verankern
23.03.2005 17:32:09
Herbert
Doppelklick auf die Userform und reinkopieren..
Gruß Herbert
AW: Button fixieren bzw. verankern
24.03.2005 09:06:18
Dirk
Guten Morgen Herbert,
es ging deshalb nicht, da der Button genau so groß wie dei UserForm war und ich deshalb nichts zum Anklicken hatte ;-/
Tut mir wirklich leid, wenn ich langsam nerve, aber leider bekomm ich immer noch folgende Fehlermeldung:
'Nach End Sub , End Function oder End Property können nur Kommentare stehen.'
Die Meldung bezieht sich auf den Abschnitt
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Mein Code in der UserForm sieht jetzt folgendermaßen aus:

Private Sub UserForm_Click()
Option Explicit
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
-----ab hier Fehlermeldung-----
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Private Declare Function SetWindowLong _
Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As Long, _
ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "User32" Alias "GetWindowLongA" _
(ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function DrawMenuBar Lib "User32" ( _
ByVal hwnd As Long) As Long

Private Function fncHasUserformCaption(bState As Boolean)
Dim Userform_hWnd As Long
Dim Userform_Style As Long
Dim Userform_Rect As RECT
Const GWL_STYLE = (-16)
Const WS_CAPTION = &HC00000
Userform_hWnd = FindWindow( _
lpClassName:=IIf(Val(Application.Version) > 8, _
"ThunderDFrame", "ThunderXFrame"), _
lpWindowName:=Me.Caption)
Userform_Style = GetWindowLong(hwnd:=Userform_hWnd, _
nIndex:=GWL_STYLE)
If bState = True Then
Userform_Style = Userform_Style Or WS_CAPTION
Else
Userform_Style = Userform_Style And Not WS_CAPTION
End If
Call SetWindowLong(hwnd:=Userform_hWnd, nIndex:=GWL_STYLE, _
dwNewLong:=Userform_Style)
Call DrawMenuBar(hwnd:=Userform_hWnd)
End Function


Private Sub UserForm_Initialize()
Dim m_hWndXl
Call fncHasUserformCaption(False)
Application.Caption = "My Unique Caption"
m_hWndXl = FindWindow("XLMAIN", Application.Caption)
Application.Caption = Empty
End Sub

?
Anzeige
AW: Button fixieren bzw. verankern
24.03.2005 09:35:41
Herbert
du mußt natürlich diese Zeile weggeben:
Private Sub UserForm_Click()
die war nicht Teil des Codes...
Gruß Herbert
AW: Button fixieren bzw. verankern
24.03.2005 10:10:34
Dirk
Das wird aber automatisch erstellt, wenn ich ein Doppelklick oder Rechtsklick und Eigenschaften auf die UserForm mache. Wenn ich es lösche gehört es nicht mehr zur UserForm sondern zum Button. Ich habe mal ein Dok drangehängt mit Screenshots des Codes in der UserForm (1.Seite) und nach Löschen der Zeile
Private Sub UserForm_Click()
(2.Seite). Dann wird es an den Button gehängt.
https://www.herber.de/bbs/user/20116.doc
Jetzt versteh ich gar nichts mehr ;-(
Anzeige
AW: Button fixieren bzw. verankern
24.03.2005 10:35:40
Herbert
du mußt den Code vom Button an das Ende
des Moduls kopieren...
zum zweiten mal:
wenn es so steht, löschen:

Private Sub UserForm_Click()
und auch End Sub
löschen
wenn zwischen Sub und End Sub kein Code steht,
brauchst du es nicht löschen...!

Private Sub UserForm_Click()
End Sub

Gruß Herbert
AW: Button fixieren bzw. verankern
24.03.2005 11:21:35
Dirk
Es war mir schon klar, dass

Private Sub UserForm_Click()
und auch End Sub

entfernt werden muss (und es somit aber unter "Allgemein"-Code steht), aber halt nicht, dass der Button-Code darunter stehen muss.
Aber jetzt geht es endlich...und ich wollte es schon fast aufgeben!!
Also nochmal vielen Dank für deine lange Gedult, aber bin halt leider (noch) kein VBA-Profi ;-( !!!
Gruß, Dirk
Anzeige
AW: Button fixieren bzw. verankern
22.03.2005 18:06:39
Ingo
Mit dem Fixieren klappt das normalerweise auch Spaltenweise. das Fenster wird links von der markierten zelle und oberhalb der markierten zelle fixiert. Wenn du also nur Spalten fixieren willst, in der obersten Zeile rechts neben der Spalte, die nicht mitscollen soll die Zelle markieren und Fenster fixieren.
m f G
Ingo Christiansen
AW: Button fixieren bzw. verankern
23.03.2005 09:40:16
Dirk
Hallo Ingo,
ich habe es Herbert auch schon geschrieben, aber bei mir funtioniert es einfach nicht. Die Spalte wird wie zuvor dann auch mitgescrollt.
Vielleicht gibt es noch eine Einstellung in den Optionen?
Gruß, Dirk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge