Herbers Excel-Forum - das Archiv

Option Explicit

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

Betrifft: Option Explicit
von: steve

Geschrieben am: 17.03.2005 08:17:12
Hallo,
ich habe in einem Userform den Code Option Explicit verwendet.
Jetzt brauche ich aber weiter unten in dem Userform dies nicht mehr und er mekert mir beim Ausführen rum.
Wie kann ich Option Explicit beenden?
Bild

Betrifft: AW: Option Explicit
von: Hajo_Zi

Geschrieben am: 17.03.2005 08:20:54
Hallo Steve,
was meinst Du den was Option Explicit macht?

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.


Bild

Betrifft: AW: Option Explicit
von: steve

Geschrieben am: 17.03.2005 08:26:00
Mit der Option Explicit-Anweisung kann man ausschließen, daß meine Module Variablen enthalten, die nicht deklariert wurden, oder daß durch Tippfehler versehentlich neue Variablen erstellt werden.
Mein Code sieht folgender maßen aus:
Option Explicit
Dim oldW As Double, oldH As Double

Private Sub CommandButton6_Click()
ScrollBar1 = 100
End Sub

Private Sub ScrollBar1_Change()
Me.Zoom = ScrollBar1
Label1 = "Zoom " & ScrollBar1 & "%"
Me.Width = oldW * ScrollBar1 / 100
Me.Height = oldH * ScrollBar1 / 100
End Sub


Private Sub UserForm_Activate()
oldW = Me.Width
oldH = Me.Height
End Sub

Private Sub CommandButton1_Click()
Gesellschaftsbewertung.PrintForm
End Sub

Private Sub CommandButton2_Click()
Gesellschaft.Show
Unload Me
End Sub

Private Sub CommandButton3_Click()
Set Diagramm = Sheets("Gesellschaftsauswertung").ChartObjects(1).Chart
Diagramm.Parent.Width = Image1.Width
Diagramm.Parent.Height = Image1.Height
Dateiname = ThisWorkbook.Path & Application.PathSeparator & "diagramm.gif"
Diagramm.Export Filename:=Dateiname, FilterName:="GIF"
Image1.Picture = LoadPicture(Dateiname)
End Sub


Und ab Commandbutto3 fängt er an rumzuspinnen, weil ich anscheinend Diagramm nicht definiert habe. Ich benötige allerdings Option Explicit für den Teil bis COmmandButton1. Denn hier habe ich eine Zoomleiste.
Ich weiß nicht so recht weiter.
Bild

Betrifft: AW: Option Explicit
von: Matthias G
Geschrieben am: 17.03.2005 08:38:10
Hallo Steve,
Option Explicit gilt Modulweit, man kann es nicht "abschalten".
Deklkariere doch die Variablen weiter unten ebenfalls , das ist eh besser, da weniger feheranfällig.
Gruß Matthias
Bild

Betrifft: AW: Option Explicit
von: steve

Geschrieben am: 17.03.2005 08:54:56
o.k. habe ich versucht, doch wenn ich in dem Code:
Private Sub CommandButton3_Click()
Set Diagramm = Sheets("Gesellschaftsauswertung").ChartObjects(1).Chart
Diagramm.Parent.Width = Image1.Width
Diagramm.Parent.Height = Image1.Height
dateiname = ThisWorkbook.Path & Application.PathSeparator & "diagramm.gif"
Diagramm.Export Filename:=dateiname, FilterName:="GIF"
Image1.Picture = LoadPicture(dateiname)
End Sub

Dim Diagramm As Variant
Dim dateiname As Variant

konfiguriere, dann hat er immer noch ein Problem mit Image1.Picture. was muss ich mit dem machen? ich komm nicht drauf.
Bild

Betrifft: AW: Option Explicit
von: Nepumuk

Geschrieben am: 17.03.2005 09:27:38
Hallo Steve,
ein Diagran ist kei Variant, sonder ein ChartObject. Eine Zeichenkette ist ein String. Das Image hat einen anderen Namen?


Private Sub CommandButton3_Click()
    Dim Diagramm  As ChartObject, dateinamen As String
    Set Diagramm = Sheets("Gesellschaftsauswertung").ChartObjects(1).Chart
    Diagramm.Parent.Width = Image1.Width
    Diagramm.Parent.Height = Image1.Height
    dateiname = ThisWorkbook.Path & Application.PathSeparator & "diagramm.gif"
    Diagramm.Export Filename:=dateiname, FilterName:="GIF"
    Image1.Picture = LoadPicture(dateiname)
End Sub


Gruß
Nepumuk
Bild

Betrifft: AW: Option Explicit
von: steve

Geschrieben am: 17.03.2005 09:38:18
Wenn ich das wie oben einfüge, dann bringt er mir die Fehlermeldung, dass die Typen unverträglich sind. So einen Kacke. Was meinst du mit Image hat einen anderen Namen. Das Image, dass aus dem Diagramm entsteht heißt diagramm.gif und ist im selben Verzeichnis wie die Mappe abgespeichert.
Bild

Betrifft: AW: Option Explicit
von: Nepumuk

Geschrieben am: 17.03.2005 14:34:51
Hallo Steve,
meine Schuld. Ich habe übersehen, dass du den Verweis auf das Chart und nicht auf das ChartObject setzt. So läuft es:


Private Sub CommandButton3_Click()
    Dim Diagramm  As Chart, dateiname As String
    Set Diagramm = Sheets("Gesellschaftsauswertung").ChartObjects(1).Chart
    Diagramm.Parent.Width = Image1.Width
    Diagramm.Parent.Height = Image1.Height
    dateiname = ThisWorkbook.Path & Application.PathSeparator & "diagramm.gif"
    Diagramm.Export Filename:=dateiname, FilterName:="GIF"
    Image1.Picture = LoadPicture(dateiname)
End Sub


Gruß
Nepumuk
Bild

Betrifft: AW: Option Explicit o.T.
von: steve
Geschrieben am: 17.03.2005 14:55:57
Jetzt geht's vielen Dank,
Bild

Betrifft: o.T. = ohne Text - m.T.
von: Matthias G
Geschrieben am: 17.03.2005 15:00:51
Hallo Steve,
ist mir bei dir jetzt schön öfter aufgefallen, nur zur Info:
bei o.T. sollte auch kein weiterer Text stehen.
:-)
Gruß Matthias
Bild

Betrifft: AW: o.T. = ohne Text - m.T.
von: steve

Geschrieben am: 17.03.2005 15:03:39
sorry...
 Bild
Excel-Beispiele zum Thema "Option Explicit"
Auslesen des ausgewählten Optionsfeldes in einer UserForm Zelleintrag durch OptionButton-Betätigung ein- und ausschalten
Makroverzweigungen nach OptionsFeld- oder ListBox-Auswahl Gruppe von Optionsfeldern kopieren und Makro zuweisen
Auflisten von OptionButtons in Kontextmenü Synchronisieren von Optionsfeldern in verschiedenen Blättern
UserForm-Optionsfelder prüfen UserForm-Optionsfelder über eine Schleife zurücksetzen
Wert aus Optionsfelder in verschiedenen Frames auslesen Werte von OptionButtons aus 2 Gruppen auslesen