Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
992to996
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
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variablenname dynamisch zusammensetzen

Variablenname dynamisch zusammensetzen
13.07.2008 15:48:00
Florian
Hallo,
ich habe folgendes Problem.
Ich mache via Excel VBA einen Update auf eine Access Datenbank und zwar auf 25 Felder mit Datentyp Boolean:
TGR01, TGR02, ... , TGR25
Im Excel ermittle ich für alle 25 einen entsprechenden Wert (True/False).
Im Programm möchte ich die Variablennamen hierfür dynamisch zusammensetzen :
also z.B. TGR(i)=True
die Variable i (String-Variable) wird zuvor im Programm gefüllt, z.B. mit "01"
Das Resultat soll also sein: TGR01 = True
So funktioniert das aber leider nicht :-(
kann mir hier jemand auf die Sprünge helfen?
Im Voraus mal vielen Dank!
Florian

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

Betreff
Datum
Anwender
Anzeige
AW: Variablenname dynamisch zusammensetzen
13.07.2008 15:55:00
Florian
Testbeispiel:

Sub Test()
Dim TGR("01" To "25") As Boolean
Dim i As String
i = "01"
TGR(i) = True
MsgBox TGR01
End Sub


AW: Variablenname dynamisch zusammensetzen
13.07.2008 15:58:36
ransi
HAllo Florian
Erstell ein Datenfeld, Typ Boolean.
Dann hast du eine Variable die du über eine Zähler indizieren kannst.
Und dann so:
Option Explicit


Public Sub test()
Dim TGR(24) As Boolean
Dim I As Integer
For I = 0 To 24
    TGR(I) = True
Next
End Sub


ransi

Anzeige
oder mit einem Dictionary
13.07.2008 16:13:03
ransi
HAllo
Alternative evtl. so:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit


Public Sub test()
Dim MyDic 'as Dictionary
Dim I As Integer
Dim Kys
Dim Itms
Set MyDic = CreateObject("Scripting.Dictionary")
'Füllen
For I = 1 To 25
    MyDic.Add key:="TRG" & Format(I, "00"), Item:=True
Next
Kys = MyDic.keys
Itms = MyDic.items
MsgBox MyDic("TRG08") 'Auslesen(Direkt)
MsgBox Itms(7) 'auslesen(über index)

MyDic("TRG08") = False 'Ändern

MsgBox MyDic("TRG08") 'Wieder auslesen(Direkt)
MsgBox Itms(7) ''Wieder auslesen(über index)
End Sub

ransi

Anzeige
AW: oder mit einem Dictionary - Ergänzung
13.07.2008 17:56:45
Erich
Hi Ransi,
eine kleine Ergänzung:
Nach dem Ändern:
MyDic("TRG08") = False 'Ändern
sollte man vor einer Anzeige über Index das Array Itms aktualisieren mit
Itms = MyDic.items
Danach zeigt
MsgBox Itms(7)
den neuen Wert.
Sonst enthält Itms nur die Werte vor der Änderung.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge