Mauszeiger und Mausfunktionen fehlen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Mauszeiger und Mausfunktionen fehlen
von: Lars
Geschrieben am: 13.10.2003 16:58:07

Hallo Leute,

hab eine Frage und zwar hab ich ein Makro bei mir laufen, mit dem eine Navigationsleiste gelagen wird.

Nach dem ich das Makro zum erstenmal durlaufen lassen habe, fehlt mein Maussymbol. In Excel habe ich nur noch das Pluszeichen. Im Menü habe ich weiterhin das Maussymbol.

Weiter kommt noch hinzu, dass sich Formeln nicht mehr einfach über "ziehen" an der rechten Zellenecke runter kopieren lassen. Auch die Druckbereiche in der Seitenumbruch-Vorschau lassen sich mit der Maus nicht mehr verändern. Woran kann das liegen und wie müßte ich mein Makro verändern um das Problem zu umgehen?

Vielen Dank schon mal!

Gruß Lars



Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function EnableWindow Lib "user32" _
(ByVal hwnd As Long, ByVal bEnable As Long) As Long


Private Sub CommandButton11_Click()
'
'Zahlung MA 2003 Schaltfläche
'
'
Sheets("8").Select
Range("A1").Select
End Sub



Private Sub CommandButton12_Click()
Sheets("7").Select
Range("A1").Select
End Sub



Private Sub CommandButton13_Click()
Sheets("6").Select
Range("A1").Select
End Sub



Private Sub CommandButton14_Click()
Sheets("5").Select
Range("A1").Select
End Sub



Private Sub CommandButton15_Click()
Sheets("4").Select
Range("A1").Select
End Sub



Private Sub CommandButton16_Click()
Sheets("3").Select
Range("A1").Select
End Sub



Private Sub CommandButton2_Click()
Sheets("2").Select
Range("A1").Select
End Sub



Private Sub CommandButton7_Click()
Sheets("1").Select
Range("A1").Select
End Sub



Private Sub CommandButton8_Click()
'
'Zurücksetzen Schaltfläche
'
'Bitte den Löschbereich bei jeder Veränderung der Datei
'überprüfen und ggf. anpassen
'
'
Dim Mldg$
Mldg = MsgBox("Alle bisher eingegebenen Daten werden gelöscht. Sind Sie ganz sicher?", _
vbYesNo + vbQuestion, "Hinweis")
If Mldg = vbNo Then
Exit Sub
Else
    Sheets("Deckblatt").Select
    Range("A1").Select
    Selection.ClearContents
    End If
End Sub



Private Sub UserForm_QueryClose _
   (Cancel As Integer, CloseMode As Integer)
    If CloseMode = vbFormControlMenu Then
        MsgBox "Die Navigation kann nicht geschlossen werden."
        Cancel = True
    End If
    Application.CellDragAndDrop = True
End Sub


Private Sub UserForm_Activate()
   Dim hwndXL&
   hwndXL = FindWindow("XLMAIN", Application.Caption)
   If hwndXL <> 0 Then
       EnableWindow hwndXL, 1
       Application.CellDragAndDrop = False
   End If
End Sub


Private Sub CommandButton10_Click()
'
'Zurück Schaltfläche
'
'
'Bitte bei Veränderungen der Blätteranzahl immer die
'Variable X anpassen. X entspricht der Anzahl der
'sichtbaren Tabellenblätter.
'
'
'
'
Dim x, i As Integer
x = Sheets.Count
i = ActiveSheet.Index
x = 6
If i = 1 Then
MsgBox ("Sie sind bereits auf der ersten Seite.")
Else
Sheets(i - 1).Select
End If
End Sub



Private Sub CommandButton9_Click()
'
'Vor-Schaltfläche
'
'Ebenfalls X anpassen, siehe Anmerkungen
'Zurück-Schaltfläche
'
'
Dim x, i As Integer
x = Sheets.Count
i = ActiveSheet.Index
x = 6
If i = x Then
MsgBox ("Sie sind bereits auf der letzten Seite.")
Else
Sheets(i + 1).Select
End If
End Sub

Bild


Betrifft: AW: Mauszeiger und Mausfunktionen fehlen
von: GraFri
Geschrieben am: 13.10.2003 17:27:47

Hallo

Du solltest beim beenden der Userform den Befehl

Application.CellDragAndDrop = True

ausführen.

mfg, GraFri


Bild


Betrifft: das klappt!
von: Lars
Geschrieben am: 13.10.2003 18:01:27

Vielen Dank GraFi,
dass klappt schon mal sehr gut! Gibt es jetzt auch die Möglichkeit während die Userform läuft diese Funktionen zu nutzen?

Gruß Lars


Bild


Betrifft: AW: das klappt!
von: GraFri
Geschrieben am: 14.10.2003 06:27:49

Hallo

Konnte es leider in 8.0 - Office 97 nicht testen, aber versuch es einfach.



' Eine  modeless Userform in Excel 97 erzeugen

Option Explicit
Option Compare Text
Option Base 1

'API Funktion für enable/disable das Excel-Fenster
Private Declare Function FindWindowA Lib "user32" (ByVal lpClassName As StringByVal lpWindowName As StringAs Long
Private Declare Function EnableWindow Lib "user32" (ByVal hWnd As LongByVal bEnable As LongAs Long

Dim mlHWnd As Long, mbModal As Boolean, mbDragDrop As Boolean

Private Sub UserForm_Activate()

On Error Resume Next

'Das Excel-Hauptfenster finden
mlHWnd = FindWindowA("XLMAIN", Application.Caption)

'Enable das Fenster - die Userform modeless setzen
EnableWindow mlHWnd, 1  'Fenster enabled schalten
mbModal = True


'Disable Zelle drag/drop
'mbDragDrop = Application.CellDragAndDrop
'Application.CellDragAndDrop = False

End Sub


     Code eingefügt mit Syntaxhighlighter 2.4



mfg, GraFri


Bild


Betrifft: AW: das klappt!
von: Lars
Geschrieben am: 14.10.2003 12:07:22

Tachchen GraFri

Hab das so schon hinbekommen! Vielen Dank für Deine Hilfe!

Hast Du vielleicht auch noch eine Idee, warum das Excel-Menü nicht anzusteuern ist, wenn die Userform läuft? Ich muss immer erst doppelt in Menü reinklicken, dann öffnet sich das Menü Extras/Anpassen. Wenn ich das dann einfach nur schließe, kann ich halbwegs normal arbeiten. Es stehen dann allerdings auch noch nicht die üblichen Befehle zur Verfügung. Beispielsweise ist es nicht möglich den "Rückgängig"-Button zu benutzen, weder das Icon noch über die Menüleiste. Der Befehl bleibt immer grau hinterlegt.

Gruß Lars


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Mauszeiger und Mausfunktionen fehlen"