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

Bestimmte Spalte eines Array auslesen

Bestimmte Spalte eines Array auslesen
29.05.2022 12:57:06
MiSchi
Hallo liebe Helfende im Forum,
ich würde gerne folgendes Problem lösen - bin mir aber nicht sicher ob es überhaupt so funktionieren kann.
Es soll nur eine bestimmte Spalte eines Arrays in das Tabellenblatt einfügt werden.
Mit diesem Code wird das gesamte Array (2 dimensional) "auf einmal" in den passenden Bereich eingefügt/Übertragen.
'Ausgabe des Ergebnis-Datenfelds
With tbl_Erg
' .Cells(1, 1).Resize(UBound(VarDatErg, 1), UBound(VarDatErg, 2)) = VarDatErg
.Range(.Cells(1, 1), .Cells(UBound(VarDatErg, 1), UBound(VarDatErg, 2))) = VarDatErg 'alternativer Code zu resize
End With
Ist es möglich auch nur eine bestimmte Spalte zB die erste, die letzte oder die 2.Spalte analog dem Befehl oben einzufügen?
Das klappt nicht, aber vielleicht etwas ähnliches?
With tbl_Erg
'.Range(.Cells(1, 1), .Cells(UBound(VarDatErg, 1), 1)) = VarDatErg(UBound(VarDatErg, 1), 1)
.Range(.Cells(1, 1), .Cells(UBound(VarDatErg, 1), 1)) = VarDatErg(UBound(VarDatErg, 1), 6)
End With
Freue mich über Eure Hilfe, viele Grüße
MiSchi

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte Spalte eines Array auslesen
29.05.2022 13:34:56
Nepumuk
Hallo MiSchi,
warum schaufelst du die Daten aus dem einen Array nicht in ein anderes um? Das dauert selbst bei 1.000.000 Einträgen nur ein paar Millisekunden.
Gruß
Nepumuk
AW: Bestimmte Spalte eines Array auslesen
29.05.2022 13:42:54
MiSchi
Danke Nepumuk!
ich weiß nicht wie ich das realisiere. Hier stehe ich auch vor dem Problem, wie ich die gewünschte Spalte des einen Arrays in ein neues (1 spaltiges) schaufle.
Viele Grüße
Michael
AW: Bestimmte Spalte eines Array auslesen
29.05.2022 14:44:23
onur
Über einen kleinen Umweg dauert es bei 20.000 Zeilen nur Milisekunden - Guckst du hier:

Die Datei https://www.herber.de/bbs/user/153305.xlsm wurde aus Datenschutzgründen gelöscht


Wenn es immer nur die erste Spalte wäre, ginge es noch viel einfacher.
Anzeige
AW: Bestimmte Spalte eines Array auslesen
29.05.2022 19:44:50
MiSchi
Danke onur!
Gute Idee über eine Hilfstabelle, das Problem zu lösen.
Ich hätte gehofft, innerhalb vom Macro es lösen zu können. Beim Googeln bin ich auf etwas gestoßen, was nach einigem try and error funktionierte.
Ich verstehe leider nicht warum die Version in Private Sub ArrayZuArrayKopieren_1() nicht funktioniert; die von Private Sub ArrayZuArrayKopieren_2() schon.
Vielleicht will mir jemand erklären wo ich falsch denke - ich würde mich sehr freuen.
Ich vermute, dass meine Vorstellung eines Arrays falsch ist.
Array (1 to 20000) erzeugt ein Datenfeld wo ich 20000 Werte eintragen kann. Das Array hat eine Dimension.
Das würde doch reichen, um die Werte der 3. Spalte aufzunehmen.
Im Lokalfenster sehe ich, dass die richtigen Werte den jeweiligen ar(z) zugeordnet wurden. Nur werden diese nicht, sondern nur der Wert von ar(1) in die Tabelle1 kopiert.
Mit Array (1 to 20000, 1 to 1) erzeuge ich ein 2-dimensionales Array. Array (Dim1, Dim2); die 2.Dimension ist 1 Feld.
Ich habe aber nur eine Dimension zu befüllen.
Wo ist mein Denkfehler?
Falls es hilft habe ich die Mappe angehängt. https://www.herber.de/bbs/user/153308.xlsm
Vielen Dank und Grüße
MiSchi
Anzeige
AW: Bestimmte Spalte eines Array auslesen
29.05.2022 20:41:01
onur

Tabelle1.Range("C1:C20000") = ar 
geht nur mit zwei-dimensionalem ar - Deswegen.
AW: Bestimmte Spalte eines Array auslesen
29.05.2022 21:28:41
MiSchi
ok, vielen Dank onur
viele Grüße Michael
AW: Dann eben so !
30.05.2022 18:50:17
MiSchi
Danke onur für Deine weitere Hilfe,
bei mir steht überall das selbe - genau wie bei meinem Versuch mit dem 1dim Array - immer nur der Wert von ar(1) Z1S4. Obwohl die folgenden ar(z) fortlaufend gefüllt sind.
Ist das bei dir anders?
Viele Grüße
MiSchi
Anzeige
AW: Bestimmte Spalte eines Array auslesen
30.05.2022 22:44:28
snb
Spalten 1, 6, und 8

Sub m_snb()
tbl_Erg.Cells(1).Resize(UBound(VarDatErg), 3) = application.index(VarDatErg,evaluate("row(1:" & UBound(VarDatErg) & ")"),array(1,6,8))
End Sub

AW: Bestimmte Spalte eines Array auslesen
01.06.2022 08:43:26
MiSchi
Danke snb - auch eine gute Lösung!
MiSchi
AW: Bestimmte Spalte eines Array auslesen
30.05.2022 11:17:09
Daniel
HI
.Range(.Cells(1, 1), .Cells(UBound(VarDatErg, 1), 1)) = Worksheetfunction.Index(VarDatErg, 0, 1)
0 im zweiten Parameter = alle Zeilen
1 im dritten Parameter = erste Spalte
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige