Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
796to800
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
796to800
796to800
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Userform an Zellen ausrichten
06.09.2006 23:09:10
Daniel
Hallo
ich hätte zwei Fragen zum Thema Positionierung einer Userform auf dem Bildschirm.
1. Problem: ich möchte erreichen, daß beim Start der UF die linke obere Ecke innerhalb der Zelle K3 liegt unabhängig von Fenstergrößen, Scrollpositionen, Bildschirmauflösungen, Spaltenbreiten usw.
Das Problem daran ist, daß ich mit Range("k3").top / .left nur die relative Positionierung innerhalb des Excelsheets bekomme, sich die Positionierung der Userform aber auf die tatsächlichen Bildschirmpixel bezieht.
Daß heißt, ich benötige die absolute Positionierung der Zelle K3 auf dem Bildschirm
(vorausgesetzt, die Zelle ist überhaupt sichtbar, aber daß läßt sich prüfen.)
gibt es eine Mehode, diese zu ermitteln?
2. Problem : die Positionierung soll bei einer großem Auflöung anders reagieren als bei einer niedrigen.
Wie kann ich am elegantesten die aktuelle Bildschirmauflösung ermitteln?
Gruß, Daniel Eisert

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform an Zellen ausrichten
06.09.2006 23:50:46
K.Rola
Hallo,
ein halbwegs befriedigendes Ergebnis erreichst du nur, wenn das Fenster der Mappe
maximiert ist. Wenn das für dich ausreichend ist, geht es mit Excel4-Makros mit der
Funktion GET.CELL(42) und GET.CELL(44). Ein Beispiel dazu hab ich vor längerer Zeit gepostet, schau mal in die Recherche.
Gruß K.Rola
AW: Userform an Zellen ausrichten
07.09.2006 00:39:30
Daniel
Hallo
leider funktionniert die Recherche gerade nicht, zumindest meldet sich Google immer mit irgen was vorbidden.
Kannst du mir vielleicht sagen, unter weilchem Thema es abgelegt ist, denn die Themensuche geht.
Gruß, Daniel
Zu 2: Bildschirmauflösung ermitteln
06.09.2006 23:55:03
{Boris}
Hi Daniel,
die Bildschirmauflösung erhäst du mit (activevb.de):
Option Explicit
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetWindowRect Lib "user32" ( _
ByVal hwnd As Long, _
lpRect As RECT) _
As Long
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Private Sub aufruf()
Dim Dhwnd As Long
Dim R As RECT
Dim wX As Long
Dim wY As Long
'Den Desktop finden
Dhwnd = GetDesktopWindow
'Die Desktopausmaße auslesen
GetWindowRect Dhwnd, R
MsgBox R.Right & " x " & R.Bottom, 64, "Aktuelle Bildschirmauflösung:"
End Sub

Grüße Boris
Anzeige
AW: Zu 2: Bildschirmauflösung ermitteln
07.09.2006 00:16:37
Daniel
Hallo,
vielen Dank erstmal.
Sieht aufwendig aus und so ganz kapier ich es noch nicht. Kannst du mir bitte erklären, was da im Prinzip passiert? Vor allem den Anfang mit Lib"user32".
Gruß, Daniel
API-Funktionen
07.09.2006 09:10:44
{Boris}
Hi Daniel,
das sind API-Funktionen - Funktionen, die Windows zur Verfügung stellt. Diese befinden sich in unterschiedlichen Libraries - z.B. eben "user32".
Ich bin nun alles andere als bewandert auf diesem Gebiet - aber schau Dir zum Verständnis mal den Beitrag von Peter Haserodt an:
http://www.online-excel.de/excel/singsel_vba.php?f=37
Grüße Boris
Anzeige
AW: API-Funktionen eigener Weg
07.09.2006 22:23:47
Daniel
Hallo
danke für den Tip, über die Seite bin ich auch schon mal gestolpert, aber das Thema war mir zu komplex.
Inzwischen habe ich einen Weg gefunden, der eher meinem Kenntnisstand entspricht:
- Application.fullscreen = true
setzen und mit
- application.width
die Breite auslesen. von diesem Wert muß man noch den überstehenden Rand (bei mir 6 Pixel) abziehen und daß ganze mit 4/3 multipliziern, dann hat man auch die Bildschirmbreite. Miz der Höhe gehts änlich, allerdings beeinflusst die Taskleiste von Windows das Ergebnis.
Aber falls noch jemad weiß, ob man daß nicht doch mit einer "einfachen" Funktion abfragen kann, wäre ich natürlich Dankbar. (ich denke da an ENVIRON oder so was ähnlichen)
Gruß, Daniel
Anzeige

260 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige