Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1204to1208
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
Inhaltsverzeichnis

Dim as New - wofür ist das new ?

Dim as New - wofür ist das new ?
chris
Hallo VBA Experten,
ich habe mal eine frage.Ich verstehe die logik und das wozu noch nicht.
Würde mich sehr freuen wenn es mir jemand mit eigenen Worten erklären kann.
Aus der Hilfe werde ich nicht schlau.
Was natürlich auch super wäre wenn jemand ein Beispiel für mich hat wofür ich es verwenden kann.
In meinem Beispiel unten habe ich 2 mal eine Deklaratiion einmal mit und einmal ohne new und es kommt aber das gleiche ergebniss heraus.
Vielen Dank im voraus
gruß Chris
Option Explicit
Dim X As New Worksheet
Dim Y As Worksheet
Sub test1()
Set X = Worksheets("Tabelle1")
MsgBox X.Name
End Sub
Sub test2()
Set Y = Worksheets("Tabelle1")
MsgBox Y.Name
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
damit wird eine Instanz des Objekts erstellt
22.03.2011 15:48:31
Tino
Hallo,
damit kannst Du eine Instanz des Objekts erstellen die durch New direkt initialisiert wird.
Dadurch brauchst Du z. Bsp. nicht noch einmal mit Set … eine Instanz dieses Objekts zu erstellen,
weil dieses gleich zur Verfügung steht.
Das man dies für Tabellenblätter verwendet ist mir aber neu,
weil ich diese sowieso erst mit Add erstellen muss?!
Sub Bsp_mit_New()
Dim oAppExcel As New Excel.Application
oAppExcel.Workbooks.Add 1
oAppExcel.Visible = True
End Sub
Sub Bsp_ohne_New()
Dim oAppExcel As Excel.Application
Set oAppExcel = Excel.Application
''oder auch
'Set oAppExcel = New Excel.Application
oAppExcel.Workbooks.Add 1
oAppExcel.Visible = True
End Sub
Ich hoffe ich habe es einigermaßen richtig erklärt und
die Fachläute schütteln jetzt nicht mit dem Kopf. ;-)
Gruß Tino
Anzeige
...Nee, b.denen 'leuten' die Glocken... ;-) orT
22.03.2011 15:52:49
Luc:-?
Gruß Luc :-?
AW: damit wird eine Instanz des Objekts erstellt
22.03.2011 18:27:56
Nepumuk
Hallo,
nicht ganz Tino. Denn bei selbstdeklarierten Klassen (Objekte) kannst du nur mit New eine neue Instanz (eine Kopie der Klasse im Arbeitsspeicher) erzeugen.
Gruß
Nepumuk
AW: damit wird eine Instanz des Objekts erstellt
22.03.2011 19:02:23
Tino
Hallo,
also bei Excel funktioniert es also wahrscheinlich nur weil
eine Instanz von Excel (wo der Code läuft) schon vorhanden ist.
Wenn ich dies mit zBsp. Word mache muss ich mit New arbeiten,
weil Excel die Word-Instanz nicht kennt.
Passt das in etwa so?
'Verweis auf Word ... Library 
Sub Start_Word()
Dim oAppWord As Word.Application
Dim oAppWordNochEine As Word.Application

Set oAppWord = New Word.Application
oAppWord.Documents.Add
oAppWord.Visible = True

'bei Word gehts so nicht 
Set oAppWordNochEine = Word.Application
oAppWordNochEine.Documents.Add
oAppWordNochEine.Visible = True

End Sub

Sub Start_Excel()
Dim oAppExcel As Excel.Application
Dim oAppExcelNochEine As Excel.Application

Set oAppExcel = New Excel.Application
oAppExcel.Workbooks.Add 1
oAppExcel.Visible = True

'bei Excel gehts auch so 
Set oAppExcelNochEine = Excel.Application
oAppExcel.Workbooks.Add 1
oAppExcel.Visible = True

End Sub
Gruß Tino
Anzeige
AW: Dim as New - wofür ist das new ?
22.03.2011 16:22:09
chris
Vielen Dank für die Antwort !
gruß Chris

136 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige