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

dynamisches zweidimensionales Array in Tabelle

dynamisches zweidimensionales Array in Tabelle
01.11.2016 17:57:47
Volker
Liebe Forenteilnehmer!
Ich versuche derzeit, ein zweidimensionales dynamisches Array (arrLog) zunächst zu füllen und nachfolgend in einer Tabelle auszugeben. Dies soll folgendermaßen ausschauen: Die Anzahl der Zeilen in der Ausgabetabelle variiert mit der Anzahl der Elemente des Arrays arrTab. Die Spaltenzahl bleibt gleich. In Spalte 6 werden die veränderlichen Werte des Arrays arrTab eingetragen, die übrigen Spalten erhalten feste Werte (z.b.: A,B,C,D,E) und bleiben von Zeile zu Zeile gleich. Ein neuer Tabelleneintrag soll dann in der nächsten freien Zeile erfolgen.
Der u. a. Code-Ansatz hilft mir noch nicht weiter. Was muss ich hier noch verändern?
Oder lässt sich dies einfacher/eleganter lösen?
Ich hoffe, es ist verständlich erklärt.
Viele Grüße
Volker
Sub ZweidimArrayInTabelle
Dim arrLog() As String
Dim spazähler As Integer
Dim zeizähler As Integer
ReDim arrLog(1 To 6, 1 To UBound(arrTab))
arrLog(1, 1) = "A"
arrLog(1, 2) = "B"
arrLog(1, 3) = "C"
arrLog(1, 4) = "D"
arrLog(1, 5) = "E"
arrLog(1, 6) = Werte aus Array arrTab
ReDim Preserve arrLog(1 To 6, 1 To UBound(arrTab))
For zeizähler = 1 To UBound(tmparrTab)
For spazähler = 1 To 6
ThisWorkbook.Worksheets("Ausgabe").Cells(zeizähler, spazähler).Value _
arrLog(zeizähler, spazähler)
Next spazähler
Next zeizähler
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: dynamisches zweidimensionales Array in Tabelle
01.11.2016 19:25:48
fcs
Hallo Volker,
in deinem Makro ist völlig unklar, wie arrTab mit den Daten gefüllt wird.
Ich in meinem Beispiel die Daten aus einem Zellbereich des Blatt "Eingabe" eingelesen.
LG
Franz
'Code in einem allgemeinen Modul
Option Explicit
Private arrTab
Sub FillArrTab()
'Daten aus Einagbe-Blatt in arrTab einlesen - hier aus Spalte A ab Zeile 2
With Worksheets("Eingabe")
arrTab = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))
End With
Call ZweidimArrayInTabelle
End Sub
Private Sub ZweidimArrayInTabelle()
Dim arrLog() As Variant 'kann String sein, wenn Werte in arrTab auch nur Texte sind.
Dim spazähler As Long
Dim zeizähler As Long
Dim zeiZiel As Long
Dim dimU As Long
Dim varWert
'prüfen,ob Array oder nur einzelner Wert
If Not IsArray(arrTab) Then
'Eingabe enthält nur einen Wert
'Wert zwischenspeichern
varWert = arrTab
'arrTab in Array verwandeln und Wert zuweisen
ReDim arrTab(1 To 1, 1 To 1)
arrTab(1, 1) = varWert
End If
dimU = LBound(arrTab, 1)
'Array gemäß Datenzeilen  in arrTab neu dimensionieren und mit Basisdaten füllen
ReDim arrLog(dimU To UBound(arrTab, 1), 1 To 6)
arrLog(dimU, 1) = "A"
arrLog(dimU, 2) = "B"
arrLog(dimU, 3) = "C"
arrLog(dimU, 4) = "D"
arrLog(dimU, 5) = "E"
'Array mit Daten auffüllen
For zeizähler = dimU To UBound(arrTab)
For spazähler = 1 To 6
Select Case spazähler
Case 1 To 5
'Basiswerte des Log-Array in jede Zeile übernehmen
arrLog(zeizähler, spazähler) = arrLog(dimU, spazähler)
Case 6
'Werte aus arrTab in Log-Array einlesen
arrLog(zeizähler, spazähler) = arrTab(zeizähler, 1)
End Select
Next spazähler
Next zeizähler
With ThisWorkbook.Worksheets("Ausgabe")
'nächste Einfüge-Zeile im Ausgabeblatt
zeiZiel = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
'Log-Array in Ausgabe eintragen
.Cells(zeiZiel, 1).Resize(UBound(arrTab, 1) - dimU + 1, 6) = arrLog
End With
Erase arrTab, arrLog
End Sub

Anzeige
AW: dynamisches zweidimensionales Array in Tabelle
02.11.2016 20:44:40
Volker
Hallo Franz!
Danke für deine Rückmeldung und den Vorschlag. Ich habe mein Problem zwischenzeitlich schon einfacher lösen können, indem die Arrayelemente aus arrTab direkt in die Tabellenspalte geschrieben und die übrigen Zellen per Schleife aufgefüllt werden.
Beste Grüße
Volker

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige