Herbers Excel-Forum - das Archiv

Bestimmte Spalte eines Array auslesen

nach unten

Betrifft: Bestimmte Spalte eines Array auslesen
von: MiSchi
Geschrieben am: 29.05.2022 12:57:06

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

nach oben  nach unten

Betrifft: AW: Bestimmte Spalte eines Array auslesen
von: Nepumuk
Geschrieben am: 29.05.2022 13:34:56

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

nach oben  nach unten

Betrifft: AW: Bestimmte Spalte eines Array auslesen
von: MiSchi
Geschrieben am: 29.05.2022 13:42:54

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

nach oben  nach unten

Betrifft: AW: Bestimmte Spalte eines Array auslesen
von: onur
Geschrieben am: 29.05.2022 14:44:23

Ü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.

nach oben  nach unten

Betrifft: AW: Bestimmte Spalte eines Array auslesen
von: MiSchi
Geschrieben am: 29.05.2022 19:44:50

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

nach oben  nach unten

Betrifft: AW: Bestimmte Spalte eines Array auslesen
von: onur
Geschrieben am: 29.05.2022 20:41:01

Tabelle1.Range("C1:C20000") = ar 
geht nur mit zwei-dimensionalem ar - Deswegen.

nach oben  nach unten

Betrifft: AW: Bestimmte Spalte eines Array auslesen
von: MiSchi
Geschrieben am: 29.05.2022 21:28:41

ok, vielen Dank onur
viele Grüße Michael

nach oben  nach unten

Betrifft: Dann eben so !
von: onur
Geschrieben am: 29.05.2022 21:48:30

Aber SO geht es DOCH noch :)
https://www.herber.de/bbs/user/153310.xlsm

nach oben  nach unten

Betrifft: AW: Dann eben so !
von: MiSchi
Geschrieben am: 30.05.2022 18:50:17

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

nach oben  nach unten

Betrifft: AW: Bestimmte Spalte eines Array auslesen
von: snb
Geschrieben am: 30.05.2022 22:44:28

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

nach oben  nach unten

Betrifft: AW: Bestimmte Spalte eines Array auslesen
von: MiSchi
Geschrieben am: 01.06.2022 08:43:26

Danke snb - auch eine gute Lösung!
MiSchi

nach oben  nach unten

Betrifft: AW: Bestimmte Spalte eines Array auslesen
von: Daniel
Geschrieben am: 30.05.2022 11:17:09

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

Excel-Beispiele zum Thema "Bestimmte Spalte eines Array auslesen"

Befindet sich die aktive Zelle in einem bestimmten Bereich? download Werte eins bestimmten Monats summieren download
Werte 1 und 0 in einem bestimmten Verhältnis zufällig anordnen download Alle Links zu einer bestimmten Arbeitsmappe löschen download
Anzahl eines bestimmten Wochentages im Monat download Alle Dateien ab einem bestimmten Datum listen download
Daten eines bestimmten Jahres filtern download Word mit bestimmtem Dokument starten download
Bestimmte Anzahl von Zeichen zulassen download Zeilen löschen, wenn in bestimmten Spalten keine Werte stehen download
Zeile löschen, wenn ein bestimmter Wert vorkommt download xlSaveAs-Dialog in einem bestimmten Verzeichnis aufrufen download
Nur Zeilen mit bestimmtem Inhalt in HTML-Datei konvertieren download Kommentarfenster in bestimmter Größe erstellen download
Wert einer bestimmten Zelle merken download Werte aus UserForm-TextBox in bestimmten Formate übertragen download
Feststellen, ob eine bestimmte Zelle markiert ist download Anzahl von Zellen mit einer bestimmten Hintergrundfarbe ermitteln download
Zeichenfolgen ändern, wenn ein sie einen bestimmten Text enthalten download Werte eines bestimmten Wochentages und eines Zeitbereiches addieren download
Bestimmte Zeichen in einer UserForm-TextBox markieren download Bei Aktivierung einer bestimmten Tabelle in Vollbildmodus schalten download
Cursor in bestimmtem Zellbereich in Eieruhr verwandeln download Anzahl eines Namens in einer bestimmten Schriftfarbe ermitteln download
Anzahl der Einträge zu einer bestimmten Kalenderwoche download Hintergrundfarbe einer Zeile, wenn bestimmter Wert in 1 Zelle download
Errechnung der Maximaltemperatur an bestimmtem Datum download Datenmaske mit einem bestimmten Datensatz aufrufen download
Nur Zeilen mit bestimmtem Inhalt kopieren download Aus Liste Anzahl der Januartage eines bestimmten Jahres listen download
Einem Datum eine bestimmte Anzahl von Jahren hinzufügen download Letzte Zeile mit einem bestimmten Anfangsbuchstaben markieren download
Seitenumbruch nach Zeilen mit bestimmtem Inhalt einfügen download Bestimmte Wochentage ohne Feiertage listen download
Dateien mit bestimmtem Inhalt suchen download Vorkommen von Zahlenreihen in Spalten download
Funktion ANZAHL2 ohne ausgeblendete Spalten download Spaltenbreite anpassen download
Spalten einer Mehrbereichsauswahl ausblenden. download Spaltennamen bestimmen download
Spalten/Zeilen aus- und einblenden download Zeilen und Spalten über ein Drehfeld ein- und ausblenden download
In einem Dialog ausgewählte Spalten drucken download Spalten bedingt summieren und Zellen formatieren download
Abfrage der markierten Spalten download Wert aus Spalte C, wenn Spalten A und B Bedingungen erfüllen download
Beim Kopieren auch die Zeilenhöhe und Spaltenbreite übernehmen download Schmale Spalten nebeneinander drucken download
Werte in mehreren Spalten sortieren download Textreihe auf mehrere Spalten mit fester Seitenlänge verteilen download
Spalten A und B vergleichen und Doppel in C listen download Nach Verlassen von Spalte B Spalte C markieren download
Alle leeren Spalten ausblenden download Leere Zeilen und Spalten in ausgewähltem Bereich löschen download
Formel bis zur letzten Zeile der Nebenspalte kopieren download Alle leeren Zeilen und Spalten entfernen download
Wert aus 2. UserForm-ComboBox-Spalte berechnen download Jede zweite Spalte drucken download
Inhalt einer Zelle in Minutenabstand in einer Spalte auflisten download Über InputBoxes Zeile und Spalte auswählen und Ergebnis nennen download
Daten in jeweils einer Spalte zweier Tabellen vergleichen download Letzte Zelle einer Spalte mit Inhalt aus geschlossener Arbeitsmappe download
Spalte A mehrer Mappen in UserForm und aktives Blatt download Durch DoppelKlick Spalte in zweites Arbeitsblatt kopieren download
Bis zur 12. Zeile Cursor nach unten, dann nächste Spalte ansetzen download Werte in Spalte A in Abhängigkeit des Werte in Spalte B eintragen download
Tabellenblattinhalt unter Weglassung einer Spalte als Textdatei download Begriffe in ausgeblendeter Spalte suchen und Fundzeile markieren download
Bei Eingaben in Spalte B in Spalte A den Maximalwert anzeigen download Überschriften aus Spalte C in Spalte D in den relevanten Bereich download
Bei Eintrag in Spalte A aktuelle Zeile kopieren download Wertereihe nach dem Zufallsprinzip auf 4 Spalten verteilen download
Maximalwert aus einem Bereich ermitteln und in Spalte A eintragen download Alle Zellen in Spalte A ohne Eintrag gelb hinterlegen download
Zeilen in Abhängigkeit des Wertes in Spalte A kopieren download Abfrage zum Kopierbereich von Startzelle, Zeilen- und Spaltenanzahl download
Werte aus Spalte A mit Werten aus Spalte B multiplizieren download Einlesen von Spaltenköpfen in UserForm-ListBox download
Spalten ein-/ausblenden nach UserForm-ListBox-Vorgabe download Aus mehrspaltiger UserForm-ListBox Werte der 1. Spalte auslesen download
Aktuellen Bereich in den Spalten A:F als Druckbereich download Alle Werte mit Punkt aus Spalte A in Spalte B download
Zellauswahl in Abhängigkeit des Spaltenkopfes download UserForm-ListBox in Abhängigkeit zur aufrufenden Spalte füllen download
Mehrfachauswahl aus ListBox auslesen download Dateien aus Listbox auslesen und öffnen download
Bereich in RefEdit-Element eingeben und auslesen download Auslesen der Arbeitsmappeneigenschaften download
UserName aus der Windows-Registry auslesen download Eintrag aus der Win.ini auslesen download
Einzelnes Zeichen aus einer InputBox-Eingabe auslesen download Ausgewählte Arbeitsblätter auslesen download
Mehrfachauswahl in ListBox auslesen download Auslesen der Mausposition download
Festplatten-Seriennummer auslesen download Cursorposition in der Entwicklungsumgebung auslesen download
Bedingte Formatierung auslesen download Computername auslesen download
Werte aus Zellbereich in eine Matrix übernehmen und auslesen download Auslesen des ausgewählten Optionsfeldes in einer UserForm download
Datum in Registry eintragen und auslesen download Mit Drehfeld durch UserForm-TextBoxes blättern und Daten auslesen download
Werte aus einem nicht zusammenhängendem Bereich auslesen download Zahlenstring mit Formel auslesen und Fehlermeldung verhindern download
Arbeitsmappen- und Tabellenblattnamen auslesen download Aus einer Reihe von 10-minütigen Messungen h-Mittelwerte auslesen download
UserForm-Elemente auslesen download Umgebungsvariable aus der autoexec.bat auslesen download
Gültigkeitsauswahl über VBA auslesen download Namen eines ausgewählten Bereiches auslesen download
Bildschirmauflösung auslesen download VBE-Komponenten der aktiven Arbeitsmappe auslesen download
Positionen einzelner Zeichen in langer Zeichenfolge auslesen download Rechnungsnummer in Registry eintragen, auslesen, löschen download
In Array einlesen, sortieren, auslesen download Tabellenblattinhalt in seqentielle Textdatei ein- und auslesen download
Plattenspeicher auslesen download Ein- und Auslesen der Seiteneinrichtung / Orientierung download
Alle geöffneten Tasks auslesen download Fußzeile ein- und auslesen download
Daten in benutzerdefinierten Datentyp ein- und auslesen download Daten in zweidimensionales Array ein- und in Tabelle auslesen download
Auslesen der aktuellen Mausposition download Installierte Drucker auslesen download
Titel einer HTML-Seite auslesen download Auslesen von Schnittstellenwerten download
Textdateien auslesen und in Werte in Zellen eintragen download Grafik-Dateinamen aus Zelle auslesen und HTML-Datei erstellen download
Aus einem String mit Datumsangabe das Jahr auslesen download Wert aus Optionsfelder in verschiedenen Frames auslesen download
Gefilterte Daten in Array ein und aus Array auslesen download Aus GetOpenFilename-Dialog eine Mehrfachauswahl auslesen download