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

Objekt als Variable

Objekt als Variable
26.11.2014 21:23:11
Nico
Hallo zusammen,
ist es mittels VBA möglich einem Objekt eine Varialble zuzuweisen?
z.B.
- zwei UserFormen mit folgendem Namen: FRM1 und FRM2
- eine Variable x als Integer
Beide Formen haben auf der Oberfläche dieselben Steuerelemente, unterscheiden sich aber in der Größe und Gestaltung.
In diversen Modulen wird hin und wieder auf die Form zugegriffen oder Werte abgefragt oder gesetzt (z.B. FRM1.TextBox1 = "Test").
Nun mein Problem:
Wenn x=0 soll in dem Modul die FRM1 ausgewählt werden, wenn x=1 soll FRM2 ausgewählt werden, also ungefähr so:
If x=0 then FRM1.TextBox1 = "Test"
If x=1 then FRM2.TextBox1 = "Test"
Da ich in den Modulen sehr viele Anweisungen verknüpft habe, wäre der Programmcode enorm. Ich dachte mir, das ich vielleicht dem Objekt FRM1 oder 2 vorher eine Variable (Var) zuweisen könnte, etwa so:
If x=0 then Var = FRM1
If x=1 then Var = FRM2
und anschließend so weitermachen könnte:
Var.TextBox1 = "Test"
Ich denke aber, das es so nicht funktionieren wird...weiß vielleicht jemand, wie ich das machen könnte? Vielen Dank im voraus.
Gruß, Nico

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Benutze Set ...
27.11.2014 00:06:28
Matthias
Hallo Nico
Option Explicit
Sub WelcheForm()
Dim FRM As Object
Dim Bool As Boolean
Set FRM = Nothing
Bool = IIf(MsgBox("Form1 benutzen?", vbYesNo) = vbYes, 1, 0)
Select Case Bool
Case Is = True
Set FRM = Frm1
Case Is = False
Set FRM = Frm2
End Select
FRM.Show
End Sub

https://www.herber.de/bbs/user/94049.xlsm
Gruß Matthias

oder ohne IIf(...)
27.11.2014 07:34:55
Matthias
Hallo
Option Explicit
Sub WelcheForm()
Dim FRM As Object
Dim Bool As Boolean
Set FRM = Nothing
Bool = MsgBox("Form1 benutzen?", vbYesNo) = vbYes
Select Case Bool
Case Is = True
Set FRM = Frm1
Case Is = False
Set FRM = Frm2
End Select
With FRM
.TextBox1 = "Hallo"
.Show
End With
End Sub
Gruß Matthias

Anzeige
AW: oder ohne IIf(...)
27.11.2014 22:22:34
Nico
Hallo Matthias,
vielen Dank für Deine Hilfe.
Gruß, Nico

Danke für Deine Rückmeldung ... kwT
27.11.2014 22:59:27
Matthias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige