Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1904to1908
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

Array im Klassenmodul ändern

Array im Klassenmodul ändern
27.10.2022 09:57:25
Günther
Würde gerne wissen, wie man Arrays in einem Klassemodul bearbeiten kann?
So jedenfalls nicht:

Sub abc()
'In einem allgemeinen Modul:
Dim Skizze As New clsLicht
With Skizze
.Bereich = Array(3, 4, 5)
.Bereich(1) = 55
Debug.Print "Skizze.Bereich(1): ", .Bereich(1)
.Farbe = "Blau"
Debug.Print "Skizze.Farbe: ", .Farbe
End With
End Sub
'Klassenmodul "clsLicht"
Option Explicit
Public Bereich As Variant
Public Farbe As String
Ich wäre interessiert an
einer Möglichkeit mit Property Get
eine direktes Ansperchen des Arrays, so wie ic es in meinem Beispiel mit "Farbe" gemacht habe.
LG, Günther

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

Betreff
Datum
Anwender
Anzeige
AW: Array im Klassenmodul ändern
27.10.2022 10:18:37
Rudi
Hallo,
wozu brauchst du die Klasse? Reicht nicht evt. ein eigener Typ?

Option Explicit
Option Base 1
Public Type MeinTyp
Bereich As Variant
Farbe As String
End Type
Sub abc()
'In einem allgemeinen Modul:
Dim Skizze As MeinTyp
With Skizze
.Bereich = Array(3, 4, 5)
.Bereich(1) = 55
Debug.Print "Skizze.Bereich(1): ", .Bereich(1)
.Farbe = "Blau"
Debug.Print "Skizze.Farbe: ", .Farbe
End With
End Sub
Gruß
Rudi
AW: Array im Klassenmodul ändern
27.10.2022 10:18:37
Oberschlumpf
Hi Günther,
wahrscheinlich wird dir mein folgender Text nicht gefallen, is auch nich böse gemeint, aber ich weiß anders nicht, dir das Folgende zu erklären.
a) bitte beginne deine Beiträge mit einer Anrede (musst du natürlich weiterhin nicht tun, aber ich find es unhöflich)
b) überprüfe und korrigiere, wenn erforderlich, vor dem Absenden deiner Beiträge bitte deine Tipp-/Rechtschreib-, sonstigen Fehler
auch das musst du natürlich nicht tun - es ist immer deine! Entscheidung, was du tust - aber so, wie bis jetzt von dir geschrieben, hab zumindest ich nur die Hälfte verstanden, weil eben n paar zu viele Fehler
c) wenn du schon keine Bsp-Datei per Upload zeigen kannst, dann nutz doch bitte für gezeigten Code den obigen, gelben Button mit Text "Code pre code", weil dann gezeigter Code in entsprechender Formatierung gezeigt und somit besser lesbar ist.
Musst du natürlich auch nicht tun - a) bis c) sind nur Bitten von mir.
Ciao
Thorsten
Anzeige
AW: Array im Klassenmodul ändern
27.10.2022 11:03:32
Günther
Schönen guten Morgen, Thorsten, Rudi und alle anderen.
verzeih meine Tippfehler. Werde darauf besser achten.
Anrede habe ich vergessen, sorry.
Den gelben Code-Button werde ich in Zukunft verwernden. Habe mich auf die automatisdche Formatierung verlassen.
Vielleicht reicht ein Typ, aber meine Frage bezieht sich auf das Array im Klassemodul. Wollte nur mal herumprobieren, um die Zusammenhänge zu erkennen, bin aber genau bei dem beschriebenen Problem hängen geblieben. Die Farbe kann ich ändern, aber den Eintrag im Array nicht. würde aber gerne.
LG, Günther
AW: Array im Klassenmodul ändern
27.10.2022 11:55:57
snb
Ein Object String

Sub M_snb()
With New clsLicht
.Bereich = Array(1, 6, 9)
.Farbe = "Blau"
MsgBox .Bereich(2)
MsgBox .Farbe
End With
End Sub

Anzeige
AW: Array im Klassenmodul ändern
27.10.2022 14:16:36
snb
Nur so:

Sub M_snb()
With New clsLicht
.Bereich = Array(1, 6, 9)
.Farbe = "Blau"
MsgBox .Bereich(2)
.Bereich = Array(20, 30, 40)
MsgBox .Bereich(2)
MsgBox .Farbe
.Farbe = "rot"
MsgBox .Farbe
End With
End Sub
Etwas ähnliches in ein Dictionary.
AW: Array im Klassenmodul ändern
28.10.2022 05:15:27
Thomas
Guten Morgen snb
danke für dein Beispiel.
ich muss also das Array heraus kopieren, dann die Einträge wie gewünscht bearbeiten, und dann das ganze Array wieder zurück kopieren.
Vielen Dank.
LG Günther

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige