Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bildschirmauflösung auslesen

Forumthread: Bildschirmauflösung auslesen

Bildschirmauflösung auslesen
30.09.2002 21:43:32
Stefan
Hallo Excel-Freaks,

ist es möglich, über VBA die Monitorauflösung bzw. die Farbauflösung auszulesen ?

Gruss
Stefan

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Bildschirmauflösung auslesen
30.09.2002 21:59:56
Karl-Heinz
Hallo Stefan,

das Problem hat Hans W. Herber schon mal so gelöst (für die vertikale und horizontale Bildschirmauflösung), und es funktioniert:


Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hcd As Long) As Long

Public lHsize As Long, lVsize As Long

Const HORZRES = 8
Const VERTRES = 10

Function ScreenResolution()
' lHsize = Anzahl der horizontalen Bildschirmzeilen
' lVsize = Anzahl der vertikalen Bildschirmzeilen

Dim lRval As Long
Dim lDc As Long

lDc = GetDC(0&)
lHsize = GetDeviceCaps(lDc, HORZRES)
lVsize = GetDeviceCaps(lDc, VERTRES)
lRval = ReleaseDC(0, lDc)

End Function

Anzeige
Danke !
01.10.2002 00:39:09
Stefan
Hallo Karl-Heinz,

danke für den Tipp, funktioniert !

Gruss
Stefan

;
Anzeige

Infobox / Tutorial

Bildschirmauflösung mit VBA auslesen


Schritt-für-Schritt-Anleitung

Um die Bildschirmauflösung über Excel VBA auszulesen, kannst du den folgenden Code verwenden. Dieser Code ermittelt sowohl die horizontale als auch die vertikale Bildschirmauflösung.

Public Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function ReleaseDC Lib "user32" (ByVal hwnd As Long, ByVal hdc As Long) As Long

Public lHsize As Long, lVsize As Long

Const HORZRES = 8
Const VERTRES = 10

Function ScreenResolution()
    Dim lRval As Long
    Dim lDc As Long

    lDc = GetDC(0&)
    lHsize = GetDeviceCaps(lDc, HORZRES)
    lVsize = GetDeviceCaps(lDc, VERTRES)
    lRval = ReleaseDC(0, lDc)

    ScreenResolution = "Horizontale Auflösung: " & lHsize & "px, Vertikale Auflösung: " & lVsize & "px"
End Function

Füge diesen Code in ein neues Modul in deiner Excel-Arbeitsmappe ein. Du kannst die Funktion ScreenResolution() dann einfach in einer Zelle aufrufen, um die Bildschirmauflösung zu ermitteln.


Häufige Fehler und Lösungen

Fehler: "Benutzerdefinierte Funktion kann nicht ausgeführt werden."

  • Überprüfe, ob du den Code im richtigen Modul eingefügt hast. Stelle sicher, dass du ein Standardmodul verwendest und nicht in einem Arbeitsblattmodul bist.

Fehler: "Typkonflikt"

  • Achte darauf, dass du die Variablen korrekt deklariert hast. In diesem Beispiel sind die Variablen lHsize und lVsize als Long deklariert.

Alternative Methoden

Wenn du die Bildschirmauflösung ohne VBA ermitteln möchtest, kannst du die Bildschirmauflösung auch über die Windows-Einstellungen herausfinden:

  1. Rechtsklick auf den Desktop.
  2. Wähle "Anzeigeeinstellungen".
  3. Unter "Auflösung" siehst du die aktuelle Bildschirmauflösung.

Für Windows 10 ist dies eine einfache Möglichkeit, die Bildschirmauflösung herauszufinden, ohne Excel zu verwenden.


Praktische Beispiele

Hier ist ein Beispiel, wie du die Funktion ScreenResolution() in einer Zelle verwenden kannst:

  1. Öffne ein neues Excel-Arbeitsblatt.
  2. Schreibe in eine Zelle: =ScreenResolution().
  3. Drücke Enter.

Das Ergebnis zeigt dir die aktuelle Bildschirmauflösung in Pixeln an.


Tipps für Profis

  • Nutze die Funktion ScreenResolution() in Kombination mit anderen VBA-Tools, um dynamische Dashboards zu erstellen, die sich an die Bildschirmauflösung anpassen.
  • Du kannst auch die Bildschirmgröße ermitteln, indem du zusätzliche Funktionen hinzufügst, die die DPI (Punkte pro Zoll) berücksichtigen.

FAQ: Häufige Fragen

1. Kann ich die Bildschirmauflösung auch in Excel 2016 ermitteln? Ja, der bereitgestellte VBA-Code funktioniert auch in Excel 2016 und anderen Versionen, die VBA unterstützen.

2. Ist es möglich, die Bildschirmauflösung automatisch bei jedem Öffnen der Datei zu ermitteln? Ja, du kannst den Code in die Workbook_Open()-Ereignisprozedur einfügen, um die Bildschirmauflösung automatisch zu ermitteln, wenn die Datei geöffnet wird.

Private Sub Workbook_Open()
    MsgBox ScreenResolution()
End Sub

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige