70620
Goto Top

VBA dynamische Variablennamen?

Namen eines Textfeldes aus 2 Variablen zusammensetzen und nutzen

Hallo zusammen

Ausgangslage:
aFeld = 1
bFeld = 1
cFeld = 1

Diese Änderungen möchte ich vornehmen, aber nicht nur bei 3 Feldern, sondern mehreren. Pro Feld eine Zeile ist ein wenig lästig, zumal da noch das Sichtbarmachen und evtl Farbe hinzukommt.

Also dachte ich mir es könnte ja so in der Art gehen:
variable + "Feld" = 1
und dann eben die Variable immer ändern per Schleife zb

gibts da eine Möglichkeit?

Content-Key: 103522

Url: https://administrator.de/contentid/103522

Printed on: April 23, 2024 at 22:04 o'clock

Member: Logan000
Logan000 Dec 08, 2008 at 09:01:27 (UTC)
Goto Top
Moin Moin

"Variable Variablen" sind mist.
Mach 2 statische Variablen:
1. enthält den Feldnamen (oder auch eine Referenz auf das Feld).
2. enthält den Wert.

Gruß L.
Mitglied: 70620
70620 Dec 08, 2008 at 09:08:46 (UTC)
Goto Top
Hm verstehe nicht so ganz wie du das meinst.

Also mein Problem mal ein wenig konkreter:

Ich habe eine Registerschaltfläche. Und dort drin sind ca. 6 Blätter mit jeweils den gleichen Inhalten, nämlich 7 Textfelder und 7 Bezeichnungen.
Alle diese müssen nun geändert werden nachdem ich eine Datenbankabfrage durchgeführt habe.
Und da die Blätter ja alle identisch aussehen dachte ich es reicht wenn ich eben eine Funktion schreibe welche mir die Werte ändert und ich dann quasi nur sagen muss welches Blatt das richtige ist.

Da die Felder abre ja alle einen eigenen Namen haben müssen dachte ich es mir so:

Registerblatt a
Textfelder: aFeld1, aFeld2, usw

Registerblatt b
Textfelder: bFeld1, bFeld2, usw

In diesem Falle könnte ich eine Funktion schreiben, welche den Buchstaben annimmt und dann die Felder ändern kann.
So in der Art:

function change (buchstabe as string)
   buchstabe + "Feld1".Value = "blabla"  
   buchstabe + "Feld2".Value = "blub"  
usw...
Member: SlainteMhath
SlainteMhath Dec 08, 2008 at 10:07:05 (UTC)
Goto Top
Moin,

was Du brauchst ist die Controls Auflistung des Form Objekts:

dim strFeld as string
strFeld="aFeld1"  
me.controls(strFeld).value="blubb"  

(ohne garantie - alles schon paar tage her und aus dem kopf hingeshrieben)

lg,
Slainte
Mitglied: 70620
70620 Dec 08, 2008 at 10:23:22 (UTC)
Goto Top
Danke, genau was ich gesucht habe face-smile