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

Variable aus Zeichenkette und Code zusammensetzen?

Variable aus Zeichenkette und Code zusammensetzen?
19.06.2007 00:42:32
Benny
Hallo,
weiß jemand von euch, ob man zuvor deklarierte Variablen aus Zeichenketten und einer anderen Variable zusammensetzen kann? Oder allgemein gefragt, ob man VBA-Code aus Zeichenketten und VBA-Code gewinnen kann? Also das ich z.B. diese Prozedur test1:

Sub test1()
Dim EA01_01 As String, EA01_02 As String, EA01_03 As String
Worksheets(1).Cells(1, 9).Value = EA01_01
Worksheets(2).Cells(1, 9).Value = EA01_02
Worksheets(3).Cells(1, 9).Value = EA01_03
End Sub


Auch so in etwa so schreiben könnte (test2):


Sub test2()
Dim EA01_01 As String, EA01_02 As String, EA01_03 As String
For i = 1 To 3
Worksheets(i).Cells(1, 9).Value = "EA01_0" & i
Next i
End Sub


? Ein Teil der Variable bleibt immer gleich. Wenn jemand eine Idee hat, oder zumindest weiß, dass es nicht geht, der schreibe bitte! Vielen Dank schonmal,
Benny

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Variable aus Zeichenkette und Code zusammenset
19.06.2007 00:55:00
Matthias
Hallo
Ohne getestet zu haben:
statt
Worksheets(i).Cells(1, 9).Value = "EA01_0" & i
Worksheets(i).Cells(1, 9).Value = EA01_0 & i 'ohne Gänsefüsschen
Gruß Matthias

AW: Variable aus Zeichenkette und Code zusammenset
19.06.2007 07:58:00
Matthias
Hallo Benny
... oder meinst Du so etwas, wegen des Zusammenfügens einer Variablen mit einem String in eine andere Variable.
Hab ich Dich jetzt richtig verstanden?
Option Explicit

Sub String_String_String()
Dim EA01_01 As String, EA01_02 As String, EA01_03 As String
EA01_01 = "Str"
MsgBox "erste Variable = " & EA01_01 & vbLf & "nur Variable1"
EA01_02 = EA01_01 & "ing"
MsgBox "zweite Variable = " & EA01_02 & vbLf & vbLf & "zusammengesetzt aus (Str) und (ing)"
EA01_03 = EA01_02 & "Nr."
MsgBox "dritte Variable = " & EA01_03 & vbLf & vbLf & "zusammengesetzt aus (String) und (Nr.)"
MsgBox "alle zusammen" & vbLf & vbLf & "Var1=" & EA01_01 & vbLf & "Var2=" & EA01_02 & vbLf & " _
Var3=" & EA01_03
End Sub


Gruß Matthias

Anzeige
AW: Variable aus Zeichenkette und Code zusammenset
19.06.2007 08:46:21
Benny
Hallo Matthias,
danke für Deine Antwort! Ich meine es so, wie du es in Deiner ersten Antwort verstanden hast (die von 0.55 Uhr). Aber leider funktioniert das nicht, denn wenn man die Anführungszeichen weglässt, fügt VBA in die betreffenden Zellen einfach nur den Wert von i (= 1, 2, 3) ein und ignoriert den Rest.
Mit Anführungszeichen setzt er einen Textstring in die Zelle ein, der so lautet wie der Variablen-Name (aber ebenfalls nicht der eigentliche Variablen-Wert ist).
Habe auch nochmal rumprobiert, aber nichts gefunden, denke ich werde mir einen anderen Ansatz ausdenken müssen!
Gruß Bennmy

Anzeige
AW: Variable aus Zeichenkette und Code zusammensetzen?
19.06.2007 09:15:54
Rudi
Hallo,

Sub test2()
Dim EA01( 1 To 3) As String
For i = 1 To 3
Worksheets(i).Cells(1, 9).Value = EA01(i)
Next i
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Variable aus Zeichenkette und Code zusammenset
19.06.2007 09:23:00
Benny
Hi Rudi,
funktioniert bestens, vielen Dank!
Gruß Benny

Danke, sowas fehlte noch auf meiner Platte ;-)
19.06.2007 09:40:53
Matthias
Hallo Rudi
Besten Dank, das war auch für mich eine interessante Sache, kannte ich bis vorhin noch nicht.


Option Explicit
Sub Super()
Dim EA01_0(1 To 3) As String
Dim i As Byte
For i = 1 To 3
If i = 1 Then EA01_0(i) = "Das"
If i = 2 Then EA01_0(i) = "ist"
If i = 3 Then EA01_0(i) = "genial"
Worksheets(i).Cells(1, 9).Value = EA01_0(i)
Next i
End Sub


Da macht doch das "Lernen" gleich wieder viel mehr Spaß
Gruß Matthias

Anzeige
AW: Danke, sowas fehlte noch auf meiner Platte ;-)
19.06.2007 12:01:40
Rudi
Hallo,
nicht If, sondern Select Case! ;-)

Sub Super()
Dim EA01_0(1 To 3) As String
Dim i As Byte
For i = 1 To 3
Select Case i
Case 1: EA01_0(i) = "Das"
Case 2: EA01_0(i) = "ist"
Case 3: EA01_0(i) = "genial"
End Select
Worksheets(i).Cells(1, 9).Value = EA01_0(i)
Next i
End Sub


Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

ok, überzeugt ;-)
20.06.2007 00:10:00
Matthias
Hallo Rudi
Das mit Select Case i ist natürlich effizienter.
Es muß kein Zustand erst abgefragt werden, sondern er steht mit der Variablen schon fest.
aber die Idee mit If war doch gar nicht "soooo schlecht", oder?
Danke Rudi und genial bleibt es totzdem ;-)
Gruß Matthias
Anzeige

169 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige