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

Userform Position angeben und Menü deaktiviert

Userform Position angeben und Menü deaktiviert
06.10.2003 10:12:25
Lars
Guten Morgen,

habe ein Prob mit einer Userform. Leider kenne ich mich in VBA noch nicht so gut aus.

Meine Userform startet wie gewollt nach dem Öffnen der Datei. Leider habe ich es:

1. noch nicht geschafft die Position zu bestimmen (geht immer in der Mitte des
Fensters auf, soll aber entweder oben am Anfang der Tabelle oder rechts im
Tabellenbereich angeordnet sein).

2. Nach dem Start ist das Excel-Menü nicht voll einsatzbereit. muss erst
doppelt in die Menüleiste klicken.

Wie kann ich diese beiden Dinge in mein bisheriges Makro einbauen?

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 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 CommandButton1_Click()
Sheets("Deckblatt").Select
End Sub


Wichtig, hab wenig Ahnung von VBA, also möglichst einfach erklären!

Vielen Dank!

Lars

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Position angeben und Menü deaktiviert
06.10.2003 11:44:25
Sabine
Hi Lars,

wie hast du denn die UF erstellt?
Falls im VBE-Editor, dann auf Eigenschaften der Userform; StartupPosition - manuell
und bei Left und Top die entsrechenden Werte eintragen, vielleicht ein wenig probieren, welche WErte optimal sind.
Zur zweiten Frage kann ich dir leider nicht helfen

Viele Grüße

Sabine
AW: Userform Position angeben und Menü deaktiviert
06.10.2003 12:10:54
Lars
Vielen Dank Sabine, hat geklappt. Hätte ich auch gut selber drauf kommen können! :-)

Hast Du auch eine Idee, wie man in einer Userform, die als Navi dienen soll eine "Vor"- bzw. "Zurück"-Schaltfläche einbauen kann, mit der man zwischen den Tabellenblättern blättern kann?

Gruß Lars
Anzeige
AW: Userform Position angeben und Menü deaktiviert
06.10.2003 13:46:39
Andi_H
Hi Lars,

sheets blättern in Userform geht, du brauchst halt 2 Buttons( entweder CommandButtons mit "vor" und "zurück" oder einen Spinbutton)

dann würde ich das ganze über den index des sheets lösen, sieht wie folgt aus:

Bei Klick auf Vor:
'auslesen des Index des aktiven sheets
x = Sheets.Count
i = ActiveSheet.Index
If i = x Then
MsgBox ("Nicht möglich")
Else
Sheets(i + 1).Select
End If

bei Zurück genau umgekehrt:
x = Sheets.Count
i = ActiveSheet.Index
If i = 1 Then
MsgBox ("Nicht möglich")
Else
Sheets(i - 1).Select
End If
Hoffe das hilft dir weiter,

Gruß
Andi
Anzeige
AW: Userform Position angeben und Menü deaktiviert
06.10.2003 14:26:39
Lars
Hi Andi,

vielen Dank für Deine Hilfe! Hab das ganze eben getestet. Leider bekomme ich eine Fehlermeldung, dass Variable x nicht definiert ist. Muss ich für x etwas anderes einsetzten? Wäre nett, wenn Du mir nochmal helfen könntest!

Sorry, dass ich wahrscheinlich ziemlich blöde Fragen stelle, bin aber nicht so der Held in VBA!

Gruß Lars
AW: Userform Position angeben und Menü deaktiviert
06.10.2003 14:57:52
Andi_H
Hi lars,
kann sein das bei dir in den Optionen Variablendeklaration erforderlich aktiviert ist,
schreib mal dim x,i as integer an den anfang beider Codes.
dann müßte es laufen.
Variablen sollte man eigentlich immer deklarieren, ich laß des nur recht gerne weg - Faulheit!

Gruß
Anzeige
AW: Userform Position angeben und Menü deaktiviert
06.10.2003 15:10:08
Lars
Hi Andi,

super, jetzt läuft die Sache. Leider ist ein weiteres Prob aufgetreten und zwar hab ich ein Tabellenblatt verborgen. Wenn ich jetzt also bei dem "fast" letzten Blatt angekommen bin und auf "VOR" klicke, bricht das Makro ab und bringt folgende Fehlermeldung: "Die Select-Methode des Worksheet-Objektes ist fehlerhaft".

Und nu? kann man das letzte Blatt ausnehmen? Oder besser gleich mehrere, wer weiß was noch kommt! :-)

Gruß
Lars
AW: Userform Position angeben und Menü deaktiviert
06.10.2003 15:19:38
Andi_H
ja , kann man. Am einfachsten ist es, alle sichbaren und selectierbaren sheets an den Anfang zu verschieben, dahinter alle versteckten.
Die Variable x in dem Code zählt die anzahl der sheets (x = sheets.count)
Mal angenommen du hast 5 sichbare Tabellenblätter (die ersten 5 deiner Mappe da es ja um den Index der sheets geht), dahinter folgen 3 versteckte
dann schreibe statt x = sheets.count einfach x = 5, jetz kann nur zwischen den ersten 5 sheets geblättert werden.
Anzeige
AW: Userform Position angeben und Menü deaktiviert
06.10.2003 15:28:05
Lars
Danke Andi!

Bist "Hero of the Day"!! ;-) Endlich läuft alles so wie es soll!!! Hätte ich alleine nie geschafft.

Gruß Lars
Bitteschön :-) o.t.
06.10.2003 15:30:56
Andi_H

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige