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

Kopieren eines Bereiches in ein Array

Kopieren eines Bereiches in ein Array
11.03.2017 17:45:57
Siegfried
Ich habe immer den gleichen Ausgangspunkt Range("G11") nur das Ende der zu kopierenden Zeile ist unterschiedlich, je nach dem wie viele Einträge gemacht wurden.
Diese Anzahl habe ich in einer Zelle ermittelt und beträgt z.B. 35.
Wie müsste ich nun die Abfrage gestalten um den Bereich von
G11 bis (G11 + 35) zu kopieren?
DANKE für eine Rückmeldung, probiere es nun bereits 2 Tage aber leider ohne Erfolg!
Gruß Siegfried

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren eines Bereiches in ein Array
11.03.2017 18:04:15
onur
Hi
range(cells(11,7),cells(11+35,7)).select 'statt 35 kannst du auch eine variable eingeben
selection.copy

AW: Kopieren eines Bereiches in ein Array
11.03.2017 18:26:19
Siegfried
Hallo onur,
DANKE für die rasche Rückmeldung, werde das sofort einmal ausprobieren.
Gruß Siegfried
Warum 'Select(ion)'? Gruß owT
12.03.2017 18:08:41
Luc:-?
:-?
Damit er es besser nachvollziehen kann. Gruß owT
12.03.2017 18:21:12
onur
Onur
AW: Kopieren eines Bereiches in ein Array
12.03.2017 18:25:52
Siegfried
nun onur hatte schon recht mit seiner Hilfe-Antwort, er hatte zwar einen kleinen Fehler drinnen welche ich aber selber lösen konnte.
Nun warum in ein Array, weil ich mit diesen Werten einige andere Steuerungen bei der Auswertung mache und bis jetzt konnte ich feststellen das dies für mich die schnellste Art der Verarbeitung ist.
Der langsamste Teil dabei war der Aufbau des Array mit durchlaufen der gesamten Datenbank.
Aber dies konnte ich in der Zwischenzeit auch bereits auf eine schnellere Art lösen.
Danke nochmals für den Gedankenimpuls
Gruß Siegfried
Anzeige
'Copy' kopiert, aber erzeugt kein 'Array'…?!? owT
12.03.2017 18:45:24
Luc:-?
:-?
Aber dies: MyArr = Selection.Value - Gruß owT
12.03.2017 19:04:04
onur
Onur
AW: 'Copy' kopiert, aber erzeugt kein 'Array'…?!? owT
12.03.2017 19:14:44
onur
Hi Luc,
Ich hatte nicht den Eindruck, dass Siegfrieds Problem das Packen der Auswahl in ein Array ist, sondern eher die Formulierung der variablen Auswahl.
Gruß
Onur
AW: Putin 's Clipboard
12.03.2017 20:08:29
Gerd

X = WorksheetFunction.Transpose(Cells(11, 7).Resize(35))

Gruß Gerd
AW: Putin 's Clipboard
12.03.2017 20:20:09
Siegfried
Ihr diskutiert hier irgendwie um des Kaisers Bart, jeder hat teilweise recht als auch unrecht.
Im Endefekt konnte ich das Problem lösen habe auch den ausgewählten Rangebereich nach einigen Versuchen in ein Array bekommen, bin daher momentan zufrieden.
Kann sein das es eine noch schnellere und bessere Lösung dazu gibt, wie ja jetzt gerade "Gerd L" aufgezeigt hat, muss ich mal ausprobieren.
DANKE
Anzeige
AW: Putin 's Clipboard
12.03.2017 23:41:53
Siegfried
Hi!
Habe eben den Vorschlag von „Gerd L“ getestet, wäre natürlich auch nicht übel nur ich benötige ihn für den Bereich z.B. „G11:AO12“.
Das Muster von Gerd L arbeitet aber von „G11:G46“, hätte in der Hilfe gesucht wie/was man nehmen muss um es Horizontal zu steuern, aber leider nichts Passendes gefunden.
Anbei zwei Bilder der Ergebnisse.
Gruß Siegfried
Userbild
Userbild
AW: Putin 's Clipboard
13.03.2017 07:20:20
Gerd
Moin Siegfried,
rechts ist da, wo der Daumen links ist. :-)
Du kannst eine Frage gleich so stellen wie du eine Antwort benötigst.
Dim AR As Variant
AR = Cells(11, 7).Resize(2, 35).Value
P.S.: Statt Bilder kannst du hier deinen Code in Code-Tags setzen oder eine Beispieldatei hochladen.
Gruß Gerd
Anzeige
AW: Putin 's Clipboard
14.03.2017 00:53:25
Siegfried
Hallo,
also bis jetzt gefällt mir die verbesserte Lösung durch eure Hinweise auf die Funktionen
(X = WorksheetFunction.Transpose(Cells(11, 7).Resize(35)) und AR = Cells(11, 7).Resize(2, 35).Value
)sehr gut und kommt mir um einiges schneller vor.
Zur Ermittlung verschiedener Werte welche zur weiteren Verarbeitung unbedingt erforderlich sind musste immer die Gesamte Datenbank durchlaufen werden, an die 7.000 Datensätze und das noch zusätzlich mit verschiedenen Filtern auf bestimmte Spalten.
Nun habe ich z.B. folgendes herausgefunden, bzw. einen Tipp dazu erhalten über diese Funktion dies viel schneller zu erreichen.
        Sheets(sSelectName).Select
Ranch_Bereich = "M:M"
Columns(Ranch_Bereich).Select
Columns(Ranch_Bereich).AdvancedFilter Action:=xlFilterInPlace, Unique:=True
EndRow = Cells(Rows.Count, 13).End(xlUp).Row - 1
AnzZeile = Trim(Str(Val(Cells(1, 13))))
Ranch_Bereich = "M2:M" & Trim(Str(Val(EndRow))) + 1
Worksheets(sSelectName).Range(Ranch_Bereich).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("GrundDaten").Select
Range("AW60").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Ranch_Bereich = "AW60:AX" & Trim(Str(59 + Val(AnzZeile)))
AR() = Range(Ranch_Bereich)

Nur wie bekomme ich die nun gefilterten Zeilen in ein Array zur weiteren Steuerung von Abfragen/ Auswertungen.
Derzeit kopiere ich mir die gesamte Spalte und füge sie in einem anderen Sheet über die _ Funktion

Range("AW60").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 

ein um daraus dann mein Array zu füllen.
Gibt es diese oder eine ähnliche Funktion um auch direkt mit Ausschluss der ausgeblendeten Zeilen in das Array kopiere zu können.
Schon mal DANKE für einen weiteren Tipp dazu
Gruß Siegfried
Anzeige
Inwiefern hat das etwas mit Arrays (DFelder) ...
12.03.2017 18:10:59
Luc:-?
…zu tun, Siegfried?
🙈 🙉 🙊 🐵 Gruß, Luc :-?
Besser informiert mit …

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige