Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1856to1860
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

arry mit möglicherweise leeren elementen

arry mit möglicherweise leeren elementen
27.11.2021 21:58:53
Thomas
Hallo, ich zerlege eine Textbow in der Werte nach Komma getrennt sind in ein arry über diesen Code

Dim AktionswochenSplit() As String
AktionswochenSplit = Split(txtAktionswoche, ",")
Jetzt können dabei aber unterschidlich viele Elemente enthalten sein, im normalfall zwischen 1 und 6.
Diese Elemente möchte ich dann in 1-6 Spalten auf einem Tabellenblatt schreiben, das mache ich hier rüber

Sheets("Vereinbarungen").Cells(ErsteFreieZeile, 12).Value = AktionswochenSplit(0)
Sheets("Vereinbarungen").Cells(ErsteFreieZeile, 13).Value = AktionswochenSplit(1)
Sheets("Vereinbarungen").Cells(ErsteFreieZeile, 14).Value = AktionswochenSplit(2)
Sheets("Vereinbarungen").Cells(ErsteFreieZeile, 15).Value = AktionswochenSplit(3)
Sheets("Vereinbarungen").Cells(ErsteFreieZeile, 16).Value = AktionswochenSplit(4)
Sheets("Vereinbarungen").Cells(ErsteFreieZeile, 17).Value = AktionswochenSplit(5)
Das funktioniert auch grundsätzlich, außer wenn es keine 6 arry Elemente gibt, dann gibt es einen Fehler( Indes außerhalb des gültigen Bereichs).
Das könnte ich natürlich über ein "On Error resum next" übergehen, aber das find ich irgendwie unschön.
Was würdet ihr empfehlen?
Danke

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: arry mit möglicherweise leeren elementen
27.11.2021 22:38:26
volti
Hallo Thomas,
ich würde folgende Vorgehensweise empfehlen:
Code:

Sub Testen()
 Dim AktionswochenSplit() As String
 
  AktionswochenSplit = Split(txtAktionswoche, ",")
  Sheets("Vereinbarungen").Cells(ErsteFreieZeile, 12).Resize(1, UBound(AktionswochenSplit)).Value _
        = AktionswochenSplit
End Sub

_________
viele Grüße
Karl-Heinz

Anzeige
AW: arry mit möglicherweise leeren elementen
28.11.2021 06:56:25
Luschi
Hallo Thomas,
der Vorschlag von Karl-Heinz funktioniert soweit, nur daß das letzte Element nicht in die Zelle geschrieben wird.
Ursache: UBound() ist Nulll-indiziert, liefert also die Anzahl der Elemente -1, deshalb:
Sheets("Vereinbarungen").Cells(ErsteFreieZeile, 12).Resize(1, UBound(AktionswochenSplit) + 1).Value _
        = AktionswochenSplit
Gruß von Luschi
aus klein-Paris
AW: arry mit möglicherweise leeren elementen
28.11.2021 08:47:12
volti
Jou,
net uffgebasst. :-(
Danke Luschi.
BTW: Wenn immer 6 Zellen beschrieben werden sollen (und hierbei fehlende geleert werden) gibt es auch noch diese Variante hier...
Code:

Sub Testen()
  Dim AktionswochenSplit() As String
  AktionswochenSplit = Split(txtAktionswoche & ",,,,,,", ",")
  Sheets("Vereinbarungen").Cells(ErsteFreieZeile, 12).Resize(1, 6).Value = AktionswochenSplit
End Sub

_________
viele Grüße
Karl-Heinz

Anzeige
AW: arry mit möglicherweise leeren elementen
30.11.2021 05:55:11
Thomas
Hallo zusammen,
und erstmal vielen Dank für die Tips,
Was genau wird hierdurch gemacht?
Resize(1, UBound(AktionswochenSplit) + 1).Value _
= AktionswochenSplit
Der Code funktioniert jetzt was weniger wie 6 Elemente angeht, allerdings nicht wenn es mehr sind (dann werden zu viele Spalten beschrieben) also 6 ist das maximale an Elementen, wie kann man das abfangen?
Danke
AW: arry mit möglicherweise leeren elementen
30.11.2021 07:44:59
Yal
Hallo Thomas,
Platziere den Cursor auf UBound und drücke Strg+F1.
So gelangst Du auf die Online-Hilfe von UBound.
Gilt für alle VBA Begriffe.
VG
Yal
AW: arry mit möglicherweise leeren elementen
30.11.2021 08:46:01
volti
Hallo Thomas,
dieser Teil hier erweitert den Zellbereich genau auf die Größe des Arrays, damit alle entsprechenden Werte dort hingeschrieben werden können.
Diese können also mehr oder weniger (als 6) sein.
Wenn Du immer genau 6 Zellen beschrieben haben möchtest, nimmst Du mein zweites Beispiel. Das macht genau das...
Gruß
Karl-Heinz
Anzeige
AW: arry mit möglicherweise leeren elementen
27.11.2021 22:38:32
Yal
Hallo Thomas,
Zwischen den Split und die Übergabe ans Worksheet einen
Redim Preserve AktionswochenSplit(5)
eintragen.
Dann ist dein Array genau 6 Elemente lang.
VG
Yal

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige