Taelle an Monitor anpassen

Bild

Betrifft: Taelle an Monitor anpassen
von: DieterB
Geschrieben am: 17.11.2003 19:21:23

hallo liebe Leute,

folgendes (nicht neues Problem), ich habe eine Excel-datei mit 5 Arbeitsblättern.

Auf 4 Blätter darf (und muss) der User zugreifen.

Ich möchte die benötigten Zellbereiche an die Größe des Monitors anpassen.
Dabei darf die Größe und die Einstellung des Monitors keine Rolle spielen.

Gibt es eine Möglichkeit in VBA um dieses Problem zu lösen?

Danke für die Hilfe.

Gruß

DieterB

Bild


Betrifft: Zoom - Bildschirmauflösung
von: ChrisL
Geschrieben am: 17.11.2003 21:35:31

Hi Dieter

Gehe davon aus, dass du vom 'Zoom' sprichst.

Range("A1:V43").Select
ActiveWindow.Zoom = True

Weiss leider nicht wie es in diesem Fall ohne Select geht. Das ganze als Worksheet_Activate Ereignis.

Alternative wäre die Bildschirmauflösung zu bestimmen...
http://www.excel-cd.de/mailing/113700h.htm
... und dann mit absoluten Zoom-Werten arbeiten.


Sub GetScreenSize()
Select Case ScreenResolution()
Case "800x600": ActiveWindow.Zoom = 53
Case "1024x768": ActiveWindow.Zoom = 69
'etc.
End Select
End Sub


Siehe auch...
http://www.excel-center.de/forum/read.php?f=1&i=47796&t=47789

Gruss
Chris


Bild


Betrifft: AW: Zoom - Bildschirmauflösung
von: DieterB
Geschrieben am: 17.11.2003 21:40:43

Hallo ChrisL,

danke, ich were es gleich ausprobieren.

Den 1. Teil des Codes(ActiveWindow) ist mir bekannt, hat aber nicht zum gewünschten Ergebniss geführt.

Der 2. Teil klingt gut.

Gibt es auch die Möglichkeit, die Bildschirmauflösung aus dem System
auszulesen, oder muß ich dafür eine Case-Anweisung benutzen.

gruß

DieterB


Bild


Betrifft: Das ist nicht korrekt....
von: Ramses
Geschrieben am: 17.11.2003 21:56:11

Hallo

da fehlt noch ein wenig ;-))

Private Declare

Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
Public Enum ScreenArgs
    HORIZONTAL
    VERTIKAL
End Enum
Public 

Function ScreenResolution(HV As ScreenArgs) As Long
    If HV = 0 Or HV = 1 Then ScreenResolution = GetSystemMetrics(HV)
End Function



Sub Set_Zoom()
'Die Werte hinter .Zoom den eigenen Bedürfnissen anpassen
Select Case ScreenResolution(0)
Case 1600
    ActiveWindow.Zoom = 75
Case 1280
    ActiveWindow.Zoom = 75
Case 1024
    ActiveWindow.Zoom = 75
Case 800
    ActiveWindow.Zoom = 75
Case 640
    ActiveWindow.Zoom = 75
End Select
End Sub


Gruss Rainer


Bild


Betrifft: AW: Das ist nicht korrekt....
von: DieterB
Geschrieben am: 17.11.2003 22:28:45

hallo Rainer,

ja, leider läßt sich der Code, den Chris als Ling beigefügt hat nicht aus-
drucken und ist wohl nicht vollständig.
Aber in deinem Code in "Private Declare ist auch irgendwo ein Fehler,
der mir nicht auffällt.
Jedenfalls ist die Zeile "Function...." rot, es fehlt Bezeichner
oder Anweisungsende.

Gruß

DieterB


Bild


Betrifft: Darstellungsfehler
von: Ramses
Geschrieben am: 17.11.2003 22:30:54

Hallo

das wird nicht richtig dargestellt.

Public und Function

gehört in eine Zeile und sollte so aussehen:

Public Function ScreenResolution....

Gruss Rainer


Bild


Betrifft: Noch einer...
von: Ramses
Geschrieben am: 17.11.2003 22:33:30

Hallo

Private Declare Function GetSystemMetrics....

gehört natürlich auch in eine Zeile :-)

Gruss Rainer


Bild


Betrifft: AW: Noch einer...
von: DieterB
Geschrieben am: 17.11.2003 22:44:42

Hallo Rainer,

so weit so gut.

Jetzt habe ich deinen Code in in mein VBA eingefügt mit 75%, bei allen
Auflösungen.

Die Arbeitsblätter werden aber nach wie vor mit 95% geöffnet.
Was habe ich übersehen? Oder hab ich den Code an der falschen Stelle eingefügt?

Gruß
Dieter


Bild


Betrifft: AW: Noch einer...
von: DieterB
Geschrieben am: 17.11.2003 22:57:13

Hallo Rainer,

danke für Deine Hilfe (auch an Chris).

Ich glaub, ich hab es jetzt.
der Fehler:
Makro wurde nicht ausgeführt(?).

Gruß

DieterB


Bild


Betrifft: Workbook.Open
von: Ramses
Geschrieben am: 17.11.2003 23:10:24

Hallo

schreib im Klassenmodul "Diese Arbeitsmapppe" unter


Private Sub Workbook_Open()
SetZoom
End Sub


Dann wird das ganze beim öffnen der Mappe ausgeführt.

Gruss Rainer


Bild


Betrifft: AW: Workbook.Open
von: DieterB
Geschrieben am: 17.11.2003 23:33:29

Hallo Rainer,

hab ich, hab ich.

Und jetzt funktioniert es mit dem gewünschten Ergebniss.

Ich danke Dir.

Schönen Abend noch

Gruß

DieterB


Bild

Beiträge aus den Excel-Beispielen zum Thema " Taelle an Monitor anpassen"