Das Archiv des Excel-Forums

Userform Position angeben und Menü deaktiviert

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

Betrifft: Userform Position angeben und Menü deaktiviert
von: Lars

Geschrieben am: 06.10.2003 10:12:25

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
Bild


Betrifft: AW: Userform Position angeben und Menü deaktiviert
von: Sabine
Geschrieben am: 06.10.2003 11:44:25

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


Bild


Betrifft: AW: Userform Position angeben und Menü deaktiviert
von: Lars
Geschrieben am: 06.10.2003 12:10:54

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


Bild


Betrifft: AW: Userform Position angeben und Menü deaktiviert
von: Andi_H
Geschrieben am: 06.10.2003 13:46:39

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


Bild


Betrifft: AW: Userform Position angeben und Menü deaktiviert
von: Lars
Geschrieben am: 06.10.2003 14:26:39

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


Bild


Betrifft: AW: Userform Position angeben und Menü deaktiviert
von: Andi_H
Geschrieben am: 06.10.2003 14:57:52

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ß


Bild


Betrifft: AW: Userform Position angeben und Menü deaktiviert
von: Lars
Geschrieben am: 06.10.2003 15:10:08

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


Bild


Betrifft: AW: Userform Position angeben und Menü deaktiviert
von: Andi_H
Geschrieben am: 06.10.2003 15:19:38

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.


Bild


Betrifft: AW: Userform Position angeben und Menü deaktiviert
von: Lars
Geschrieben am: 06.10.2003 15:28:05

Danke Andi!

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

Gruß Lars


Bild


Betrifft: Bitteschön :-) o.t.
von: Andi_H
Geschrieben am: 06.10.2003 15:30:56




 Bild

Excel-Beispiele zum Thema " Userform Position angeben und Menü deaktiviert"

Diagramm in Userform download XL-Dateien in UserForm listen download
UserForm an Excel-Fenster anpassen download Fundstellen in UserForm listen download
Module und UserForms austauschen download In einer Schleife auf Elemente einer UserForm zugreifen download
Werte in eine ComboBox einer UserForm übernehmen download Zellinhalt als Label-Aufschrift in UserForm download
Alle CheckBoxes einer UserForm ansprechen download Wenn kein Eintrag, UserForm nicht schließen download
Aktiven Drucker in UserForm wechseln download Text aus UserForm-Textbox in Variable einlesen download
UserForm in Abhängigkeit einer RefEdit-Auswahl anzeigen download Nur Buchstaben in eine UserForm-TextBox download
Wert in Tabelle suchen und in UserForm ausgeben download Tabellenblatt in UserForm download
Neue UserForm bedingt nach ComboBox-Auswahl aufrufen download Nach Ortsauswahl neue UserForm mit Ortsteilauswahl download
Textfelder in UserForm beim Start vorbelegen download Text aus UserForm in eine Zelle schreiben download
Verhindern des Schließens einer UserForm mittels Schließkreuz download Wert in UserForm-TextBox eintragen und selektieren download
Auf UserForm-CommandButton-Klick eine Internetseite aufrufen download ComboBox-Felder in UserForm aufklappen download
Eingabekontrolle bei UserForm download UserForm-ComboBox-Feld nach Tasteneingabe aufklappen download
Userform in der Entwicklungsumgebung anzeigen download Wert aus 2. UserForm-ComboBox-Spalte berechnen download
CheckBoxes in UserForms in eine Schleife einbinden download Anzahl von CheckBoxes in einer UserForm ermitteln download
Vereinfachte Datumseingabe über UserForm download Auslesen des ausgewählten Optionsfeldes in einer UserForm download
Werte von CheckBoxes in einer UserForm abfragen download Mit Drehfeld durch UserForm-TextBoxes blättern und Daten auslesen download
Mit TextBox-Werten in UserForm rechnen download Datensätze in UserForm auswählen und im Blatt löschen download
Bilder in UserForm und Bildgröße anpassen download Aktuelle Zeit über UserForm eintragen und Rennzeit berechnen download
Werte aus UserForm-TextBox in bestimmten Formate übertragen download UserForm als Fortschrittsanzeige download
AcrobatReader mit *.pdf-Dokument über UserForm starten download Zu einer aufrufenden UserForm zurückkehren download
In einer UserForm Berechnungen aufaddieren download Matrix in UserForm-ListBox einlesen download
Bereichsnamen in UserForm-ListBox auflisten und editieren download Spalte A mehrer Mappen in UserForm und aktives Blatt download
Adressfeld aus UserForm-ComboBox füllen download Ausgewählte Werte aus UserForm-ListBoxes addieren download
Mehrfachauswahl aus UserForm-ListBoxes in Tabelle eintragen download Gruppe von UserForm-ListBoxes über eine Schleife ansprechen download
Alle ComboBoxes auf Position 1 download Position der Symbolleiste festlegen download
Auslesen der Mausposition download Cursorposition in der Entwicklungsumgebung auslesen download
Positionen einzelner Zeichen in langer Zeichenfolge auslesen download Position der aufrufenden Schaltfläche ermitteln download
Multiplikation eines Wertes in Abhängigkeit seiner Position download Wert der aktiven Spalte an nächste freie Position einfügen download
Auslesen der aktuellen Mausposition download Erhöhen der Positionsnummer bei Listeneintrag download
Bild in zweites Blatt an gleiche Position kopieren download Cursor-Position rechts und links markieren download
Feste Fenster- und Cursorpositionen bei Blattwechsel download Cursor nach Zelleingaben nach Vorgabe positionieren download
Position an Bandlaufwerk bestimmen download Zeile mit letzter Fundstelle an letzte Position der Liste download
Mehrfachauswahl an auszuwählende Positionen kopieren download CommandButtons sollen auf Schaltflächen-Klick deaktiviert werden download