Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Range Cells funktioniert nicht

Forumthread: Range Cells funktioniert nicht

Range Cells funktioniert nicht
01.01.2023 16:13:04
Giuseppe
Hallo Excel und VBA Freunde
Ich habe ein Makro geschrieben und ein Teil davon funktioniert nicht.
Was mach ich falsch?

Workbooks("Daten.xlsx").Worksheets("Test").Range(Cells(210, 2), Cells(226, 40)).Copy
Bitte um Hilfestellung, komm nicht mehr weiter.
Vielen Dank
Lg Giuseppe
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range Cells funktioniert nicht
01.01.2023 16:17:17
ralf_b
jeweils vor cells auch das Worksheet referenzieren
AW: Range Cells funktioniert nicht
01.01.2023 16:34:33
Giuseppe
Hallo ralf_b
Vielen Dank für Deinen Tipp.
Nur leider verstehe ich ihn nicht :-(
PS:
Habe auf deine vergangene Hilfestellung geantwortet:
https://www.herber.de/forum/messages/1913187.html
Dafür bedanke ich mich auch ganz herzlich bei dir.
In Zwischenzeit bin ich etwas weiter gekommen...
Lg Giuseppe
Anzeige
AW: Range Cells funktioniert nicht
01.01.2023 16:34:17
onur

With Workbooks("Daten.xlsx").Worksheets("Test")
.Range(.Cells(210, 2), .Cells(226, 40)).Copy
End With

AW: Range Cells funktioniert nicht
01.01.2023 16:51:06
Giuseppe
Hallo onur
Vielen Dank!
Nun funktioniert es :-)
lg Giuseppe
AW: Range Cells funktioniert nicht
01.01.2023 16:52:06
onur
Weisst du denn wenigstens, WARUM ?
Anzeige
AW: Range Cells funktioniert nicht
02.01.2023 12:55:23
Daniel
Hi
wenn vor Range, Cells, Rows und Columns kein Tabellenblatt angegeben ist, wird das gerade aktive Tabellenblatt (Code steht in einem allgemeinen Modul), oder das Tabellenblatt des Moduls (Code steht in einem Tabellenblattmodul) verwendet.
das gilt IMMER, egal wo das Range oder Cells steht, auch für die beiden Cells innerhalb der Range-Funktion.
Der Fehler kommt, wenn du der Range schon ein Tabellenblatt fest zuweist, und dann die beiden Cells, die die Range definieren sollen, auf einem anderen Blatt liegen.
man muss also Workbook und Worksheet auf jeden Fall vor den beiden Cells angeben. Vor der Range darf man es weglassen, denn dann übernimmt die Range das Tabellenblatt der beiden Cells (in diese Richtung geht es, umgekehrt aber nicht, aber auch das darf man nur in einem allgemeinen Modul machen, in einem Tabellellenblatt muss man vor der Range UND den beiden Cells das Tabellenblatt angeben)
Um das häufige hinschreiben von Workbook und Worksheet zu vermeinden, gibt es mehrere Wege.
Die WITH-Klammer wurde schon gezeigt, diese hat aber den Nachteil, dass sie nur einmal verwendet werden kann, dh hantiert man mit mehreren Bereichen gleichzeitig, kann man nur einen mit der WITH-Klammer verkürzen und muss den anderen ausschreiben.
der andere Weg ist, den Zellbereich über Resize zu definieren, dann braucht man das Tabellenblatt nur einmal.
diese Methode ist vorallem dann sinnvoll, wenn Anzahl Zeilen und Anzahl Spalten des Bereichs bekannt sind:

 Workbooks("Daten.xlsx").Worksheets("Test").Cells(210, 2).Resize(17, 39).Copy
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige