Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1580to1584
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

Array in einzelne Zellen ausgeben

Array in einzelne Zellen ausgeben
12.09.2017 14:25:42
Tobi93
Liebe Excelianer,
kann mir jemand sagen was ich falsch mache? Ich versuche einen Array auszulesen der durch die Split() Funktion erzeugt wurde.
Es kommt die Fehlermeldung:
Index außerhalb des gültigen Bereichs.
Mein Code ist wie folgt:
TextMitte = Mid(SearchString, Anfangsposition, LängeTextMitte)
Dim SplitArray() As String
SplitArray() = Split(TextMitte, " ")
For i = 0 To LBound(SplitArray, 1)
Sheets("Tabelle1").Range(1, i).Value = SplitArray(i)
kann es sein das ich die LBound Funktion falsch benutze?
Beste Grüße
Tobias Beetz

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array in einzelne Zellen ausgeben
12.09.2017 14:37:00
Fennek
Hallo,
ungeprüft, Bedingung ist, dass "Textmitte" mindestens 1 Leerzeichen enthält:

TextMitte = Mid(SearchString, Anfangsposition, LängeTextMitte)
Ar = split(Textmitte) 'Leerzeichen ist default
for i = 0 to ubound(Ar) 'ubound ist die obere Grenze, lbound die unteres
Sheets("Tablle1").Range(1,i) = Ar(i)
next i
mfg
AW: Array in einzelne Zellen ausgeben
12.09.2017 15:12:35
Gerd
Hallo Tobias!
Sub test2()
Const Searchstring = "aa bb cc dd"
Const i = 3
Dim V As Variant
V = Split(Mid(Searchstring, 4, 5), " ")
Sheets("Tabelle1").Cells(1, i).Resize(1, UBound(V) + 1) = V
End Sub

Gruß Gerd
Anzeige
AW: Array in einzelne Zellen ausgeben
12.09.2017 17:20:25
Daniel
Hi
Folgende Fehler:
1. den höchsten Index eines Arrays bekommst du mit UBound, nicht mit LBound.
2. Range(1, i) ist Unsinn, das Range braucht ein Zelladresse als Text ("A1"),
   du meinst hier Cells(1, i)
3. der Spaltenzähler für Cells beginnt bei 1 und nicht bei 0
korrekt dann:
for i = 0 to Ubound(SplitArray)
Sheets("Tabelle1").Cells(1, i + 1) = SplitArray(i)
Next

oder alternativ:
   Sheets("Tabelle1").Range("A1").Offset(0, i) = SplitArray(i)

die Schleife an sich ist hier unnötig.
du kannst das Array auch direkt in die Zellen schreiben:
Sheets("Tabelle1").Range("A1").Resize(1, Ubound(SplitArray) + 1).Value = SplitArray
wenn die Werte des SplitArrays nicht nebeneindaner sondern untereinander geschrieben werden sollen dann:
.Resize(Ubound(SplitArray) + 1, 1).Value = Worksheetfunction.Transpose(SplitArray)
Gruß Daniel
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige