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

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

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

Anzeige
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 ?
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige