Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Userform an Zelle ausrichten II

Userform an Zelle ausrichten II
10.04.2005 18:58:36
SteffenS
Hallo und guten Abend,
ich brauche nochmal Eure Hilfe!
Und zwar möchte ich eine Userform an einer Zelle ausrichten
Dazu habe ich schon folgenden Code:

Private Sub UserForm_Initialize()
'UF ausrichten
Dim zeile, spalte
zeile = ActiveCell.Row
spalte = ActiveCell.Column
zeile2 = ActiveWindow.ScrollRow
spalte2 = ActiveWindow.ScrollRow
worse_best_key.Left = Cells(zeile, spalte).Left + 20
worse_best_key.Top = Cells(zeile, spalte).Top + 110
End Sub

Das Problem ist nur, dass sobald ich einer Zelle bin die Unterhalb vom Normalen Bildschirm liegt, also z.B.: wenn man gesdrollt hat dann funktioniert dieser Code nicht mehr.
Wie bekomme ich es, dass die Userform immer unterhalb und rechts neben der AktiveZelle positioniert wird?
Vielen Dank
Steffen Schmerler
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform an Zelle ausrichten II
10.04.2005 20:17:47
Hajo_Zi
Hallo Steffen,
siehe Dir mal folgende Datei von Nepumuk an. bei Zellenauswahl erscheint Userform.
https://www.herber.de/bbs/user/20950.xls
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.

Homepage
Anzeige
danke Dir,
10.04.2005 21:46:28
SteffenS
damit ging es!
MFG
Steffen
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Userform an Zelle ausrichten in Excel


Schritt-für-Schritt-Anleitung

Um eine Userform in Excel an einer Zelle auszurichten, kannst Du den folgenden VBA-Code verwenden. Dieser Code sorgt dafür, dass die Userform immer rechts und unterhalb der aktiven Zelle positioniert wird:

Private Sub UserForm_Initialize()
    'UF ausrichten
    Dim zeile, spalte
    zeile = ActiveCell.Row
    spalte = ActiveCell.Column
    ActiveWindow.ScrollRow = zeile
    ActiveWindow.ScrollColumn = spalte
    Me.Left = Cells(zeile, spalte).Left + 20
    Me.Top = Cells(zeile, spalte).Top + 110
End Sub

Achte darauf, dass Du die Userform in einer Excel-Version verwendest, die VBA unterstützt, wie Excel 2003 oder höher. Wenn Du mit gescrollten Zellen arbeitest, könnte es notwendig sein, die Scrollposition zu berücksichtigen, wie im obigen Code gezeigt.


Häufige Fehler und Lösungen

  1. Userform erscheint nicht korrekt: Wenn die Userform nicht an der gewünschten Position erscheint, überprüfe, ob Du die aktiven Zellen richtig erfasst. Achte darauf, dass Du den Scrollbereich richtig setzt.

  2. Fehler beim Ausführen des Codes: Stelle sicher, dass Du den Code im richtigen Kontext (z.B. im Userform-Modul) einfügst und dass die Userform auch tatsächlich initialisiert wird.

  3. Userform bleibt beim Scrollen stehen: Dies geschieht häufig, wenn die Scrollposition nicht aktualisiert wird. Achte darauf, dass Du die ScrollRow und ScrollColumn korrekt behandelst.


Alternative Methoden

Eine alternative Methode, um ein Excel-Diagramm an einer Zelle auszurichten, ist die Verwendung von Makros, die die Position des Diagramms dynamisch anpassen. Hier ein Beispiel:

Sub DiagrammAnZelleAusrichten()
    Dim chartObj As ChartObject
    Set chartObj = ActiveSheet.ChartObjects(1) ' Ersetze 1 durch die entsprechende Diagrammnummer
    chartObj.Left = ActiveCell.Left + 20
    chartObj.Top = ActiveCell.Top + 110
End Sub

Du kannst diesen Code anpassen, um das Diagramm an eine Zelle auszurichten, ähnlich wie bei der Userform.


Praktische Beispiele

Hier sind einige Beispiele, wie Du die Positionierung anpassen kannst:

  1. Userform für Eingaben: Stelle die Userform so ein, dass sie immer neben der Zelle erscheint, in der Du eine Eingabe machen möchtest.

  2. Diagramm für visuelle Daten: Positioniere das Diagramm direkt neben den Daten, die es visualisiert, um die Lesbarkeit zu verbessern.

  3. Dynamisches Layout: Verwende die oben genannten Methoden, um ein dynamisches Layout zu erstellen, bei dem sich die Userform oder das Diagramm je nach Auswahl verändert.


Tipps für Profis

  • Nutze die Eigenschaften Width und Height der Userform, um die Größe dynamisch anzupassen, basierend auf den Inhalten.
  • Experimentiere mit DoEvents, um sicherzustellen, dass alle Ereignisse in Excel bearbeitet werden, bevor die Userform angezeigt wird.
  • Entwickle eine benutzerfreundliche Schnittstelle, indem Du die Position der Userform und Diagramme regelmäßig überprüfst und anpasst.

FAQ: Häufige Fragen

1. Wie kann ich die Userform immer in der Mitte des Bildschirms anzeigen?
Du kannst die Position mit Me.Left = (Application.Width - Me.Width) / 2 und Me.Top = (Application.Height - Me.Height) / 2 einstellen.

2. Was kann ich tun, wenn die Userform hinter anderen Fenstern verborgen ist?
Stelle sicher, dass Du die Userform mit Me.Show vbModeless aufrufst, um sie als nicht-modales Fenster anzuzeigen.

3. Ist es möglich, mehrere Userforms gleichzeitig zu verwenden?
Ja, Du kannst mehrere Userforms gleichzeitig verwenden, solange Du die richtigen Aufrufmethoden und -einstellungen verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige