Array = Inhalt einer einzigen Zelle

Grüezi euch allen

In Tabelle1, A1 (also in einer einzigen Zelle) steht folgendes:
78, 105, 99, 104, 116, 115, 33

Den Inhalt dieser Zelle A1 möchte ich in VBA in einen Array übernehmen.

Sub test4()
Dim ccc, i, ttt$
ccc = Array(Sheets("Tabelle1").Range("A1").Value)
For i = 0 To 6
ttt = ttt & Chr(ccc(i))
Next i
MsgBox ttt
End Sub

Statt
ccc = Array(78, 105, 99, 104, 116, 115, 33)
soll es im Makro „sinngemäss“ so heissen:
ccc = Array(Sheets(„Tabelle1“).Range(„A1“).Value)

Dass das nicht funktioniert, überrascht mich nicht. Weiss jemand von Euch wie ich das erreichen kann, dass Array seinen Inhalt aus einer einzigen Zelle holt?

Vielen Dank für Eure Hinweise Niclaus

PS  Wie Array die Werte aus mehreren Zellen holt, z.B Range(„A1:A7“), das ist mir klar.

'nabend Niclaus,

ccc = Split(Sheets("Tabelle1").Range("A1").Value)

Gruß, Andreas

Berichtigung
Sorry, Niclaus,

es muss natürlich heißen:

ccc = Split(Sheets("Tabelle1").Range("A1").Value, ",")

Gruß, Andreas

ccc = Split(Sheets(„Tabelle1“).Range(„A1“).Value)

Hallo Andreas

So ist es zu einem Laufzeitfehler ‚9‘ gekommen: Index ausserhalb des gültigen Bereichs.

Aber Dein „Split“ hat mich weitergebracht. Auf online-excel.de habe ich die „Vorlage“ gefunden für folgendes Makro:

 Dim sText As String, vX As Variant, i As Long
 sText = Range("Tabelle1!A1")
 vX = Split(sText, ", ")
 For i = 0 To UBound(vX)
 vX(i) = Chr(vX(i))
 Next i
 sText = Join(vX, "")
 MsgBox sText

Für mich sind Array, Split und Join genau so spanische Dörfer wie für Dich Pivot :wink:)

Vielen Dank für Deinen Hinweis und ein schönes Wochenende
Niclaus

Versuch der ‚Ent-Böhmung‘

Hallo Andreas

Hi Niclaus,

Für mich sind Array, Split und Join genau so spanische Dörfer
wie für Dich Pivot :wink:)

Ich denke, das ist nicht so geheimnisvoll:
Array nimmt die Argumente und macht daraus ein Datenfeld bzw. einen Variant-Typ, der dann ein Datenfeld enthält (das bei 0 beginnt). Die Anzahl der Argumente bestimmt die größe des Datenfeldes, also.z.B.:

Dim v As Variant
Dim i As Integer
v = Array (1, 2, 3, 4)
For i = 0 to 3
 MsgBox v(i)
Next i

Split nimmt einen Text als Argument. Dieser Text enthält Trennzeichen, z.B. Kommata. Rückgabewert ist auch wieder ein Variant-Feld. Jedes Element des Feldes enthält einen Teiltext, der zwischen den Kommata steht.
Join fügt Einzeltext (die in einem Datenfeld stehen) zu eine ganzen zusammen, mit eine optionalen Trennzeichen dazwischen, also z.B.

Dim v As Variant
Dim i As Integer
Dim t as String
v = Split ("Paul Müller,Beispielstraße 1,12345 Demostadt,Deutschland", ",")
For i = 0 to 3
 MsgBox v(i)
Next i

t = Join (v, ",")
MsgBox t

Vielen Dank für Deinen Hinweis und ein schönes Wochenende
Niclaus

Grüße, Andreas