Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
420to424
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
420to424
420to424
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variablen- Objekt Variablen??

Variablen- Objekt Variablen?
Peter
Hallo Excel Tüftler!!
Sorry,das ich jetzt mit einer zweiten Frage im Forum stehe aber es ist ne wichtige Frage. Es geht da um eine Grunddsatzfrage unter ein paar "VBA-Embryos".
Wo liegt der Unterschied zwischen Variablen und Objekt-variablen?
Verhaltet euch euer lachen über unsere Unwissenheit und helft uns bitte.
Schöne Grüße

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

Betreff
Benutzer
Anzeige
AW: Variablen- Objekt Variablen?
NE
Hi Peter,
hm also 'normale' Variablen sind halt Zahlen[int,long,double,date,etc]/Zeichenketten
dim i as string
i = "Hallo Hallo" 'Zuweisung mit i =
Objectvariablen sind halt Objekte ;;-))
dim i as Range/Worksheet/Chart
oder eben
dim i as Object
wobei die Zuweisung immer mit set i=Objekt beginnt, also zB
dim i as Worksheet
set i=activeworkbook.sheets("Tabelle1) 'Zuweisung mit set i =
Naja oder so in etwa ;-)
lg Nancy
AW: Variablen- Objekt Variablen?
Peter
Danke, aber worin liegt der Vorteil des Einsatzes von Objektvariablen
Peter
AW: Variablen- Objekt Variablen?
DieterB
Hallo Peter,
Vorteil?
Kann man so nicht sagen.
Workbooks, Sheets usw sind Objekte innerhalb von excel.
Um bei Aktionen nicht jedes einzeln ansprechen zu müssen, werden Objekt-Variablen
deklariert.
Z.B.: Du hast eine Mappe mit 10 Diagrammen die Du alle löschen möchtest.
Statt Diagramm1 lösche, Diagramm2 lösche usw
schreibst Du eine Objektvariable und verarbeitest diese in einer Schleife (next Variable)
Willst Du werte innerhalb einer Schleife verarbeiten, definierst Du eine variable (Long, int, string usw.)
Werte sind keine Objekte.
Gruß
DieterB
Anzeige
AW: Variablen- Objekt Variablen?
03.05.2004 20:00:31
Nepumuk
Hallo Peter,
eine Variable enthält mit Ausnahme Arrays nur einen Wert. Eine Objektvariable stellt in den meisten Fällen ein Excelobjekt dar. Diese hat dann die selben Eigenschaften und du kannst Methoden darauf anwenden wie auf das Objekt selbst. Die Zuweisung erfolgt entweder über eine Set - Anweisung oder in einer For Each - Next - Schleife. Es gibt spezielle Objekte in VB / VBA die kein entsprechendes Objekt in Excel darstellen. Z.B. das FileSystemObject oder das FileSearch-Objekt. Diese kannst du nur über die entsprechende Objektvariable ansprechen. Eine Objektvariable ohne Verbindung zu einem Objekt hat den Wert Nothing. Objektvariable haben die Eigenschaft, den Speicher, den sie durch die Zuweisung eines Objektes belegen nicht automatisch mit dem beenden einer Sub / Function freizugeben. Dadurch kann es speziell bei rekursiven Prozeduren zu einem Memoryoverflow kommen. Mit: myObjektVariable = Nothing kannst du den belegten Speicher explizit freigeben.
Gruß
Nepumuk
Anzeige
AW: Variablen- Objekt Variablen?
NE
hm,
also Vorteil ist wohl ein falsches Wort in dem Zusammenhang,
je nachdem was erforderlich ist, sollte deklariert werden und möglichst genau wenn geht
Du kannst also nicht i as long deklarieren und dann i ein Objekt verpassen ;-)
Mal ne kleine Spielerei, zB

Sub xxx()
'Dim bereich As Object, cell As Object 'das geht auch, aber imho Unfug
Dim bereich As Range, cell As Range
Dim i As Integer
Set bereich = Sheets(1).Range("A1:C10")
For Each cell In bereich
i = i + 1
cell.Interior.ColorIndex = i
Next
End Sub

ein 'richtiges Object' brauchst Du bei sowas, also um zB ein Programm zu starten:

Sub zzz()
Dim o As Object
Set o = CreateObject("InternetExplorer.application")
o.Visible = True
o.Width = 200
o.Height = 200
o.resizable = False
End Sub

Anders bzw. besser kann ichs echt nicht erklären ;-(
lg Nancy
Anzeige
refresh - smile, Danke :-)
NE
also ich grübel und grübel eh ich mal was tipps ...,
aber da hast ja nun echt supi Antworten ::-))

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige