Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Cells in Range angeben funktioniert nicht !?

Forumthread: Cells in Range angeben funktioniert nicht !?

Cells in Range angeben funktioniert nicht !?
28.11.2005 17:52:45
hajo_SB
Hallo Zusammen,
mich macht folgendes Problem schon ziemlich schusselig. Ich möchte gerne den Ausdruck:
Worksheets("Einstellung").Range("F2:X3).Copy 'ersetzen durch
Worksheets("Einstellung").Range(Cells(2, 6), Cells(3, 24)).Copy
Dann erhalte ich aber immer den
Laufzeitfehler '1004':
Anwendungs- oder objektdefinierter Fehler
Weiß jemand Abhilfe? Liegt das vielleicht am ".Copy"?
Bislang konnte ich immer die Zellen explizit angeben, ohne dass es Probleme gab. Danke für Eure Hinweise!
Gruß Hajo
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Cells in Range angeben funktioniert nicht !?
28.11.2005 18:04:23
Aton
Hallo
Range(cells(1,1),Cells(1,1)).select
Für celle A1
Eine Celle immer mit 2 Cells - Angaben eingeben (als Breich)
Gruß Aton
AW: Cells in Range angeben funktioniert nicht !?
28.11.2005 18:17:57
Nepumuk
Hallo Hajo,
der Bezug ist falsch. Dein Rangeobjekt bezieht sich auf Worksheets("Einstellung"). Die Cellsobjekte aber auch die aktive Tabelle. So geht's:
With Worksheets("Einstellung")
    .Range(.Cells(2, 6), .Cells(3, 24)).Copy
End With

Gruß
Nepumuk

Anzeige
AW: Cells in Range angeben funktioniert nicht !?
01.12.2005 21:41:36
Hajo_SB
Danke Nepumuk
Das war die Lösung.
Gruß
Hajo
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Cells in Range angeben in Excel VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Erstelle ein neues Modul: Rechtsklicke im Projektfenster auf Einfügen und wähle Modul.
  3. Füge den folgenden Code ein:
    Sub CopyRangeUsingCells()
       With Worksheets("Einstellung")
           .Range(.Cells(2, 6), .Cells(3, 24)).Copy
       End With
    End Sub
  4. Führe das Makro aus: Drücke F5, um das Makro auszuführen und den definierten Bereich zu kopieren.

Häufige Fehler und Lösungen

  • Laufzeitfehler '1004': Dieser Fehler tritt häufig auf, wenn die Referenzierung nicht korrekt ist. Stelle sicher, dass das Range-Objekt korrekt auf das entsprechende Worksheet verweist, wie im obigen Beispiel gezeigt.
  • Falsche Zellreferenzierung: Überprüfe, ob die Cells-Angaben korrekt sind. Der Code Cells(2, 6) bezieht sich auf die Zelle in Zeile 2 und Spalte 6.

Alternative Methoden

Eine alternative Methode, um einen Bereich mit Cells anzugeben, ist die Verwendung von Union. Hier ein Beispiel:

Sub CopyRangeWithUnion()
    Dim rng As Range
    Set rng = Union(Cells(2, 6), Cells(3, 24))
    rng.Copy
End Sub

Diese Methode kann nützlich sein, wenn du nicht zusammenhängende Zellen kopieren möchtest.


Praktische Beispiele

  • Beispiel 1: Um den Bereich von Zellen A1 bis B2 zu kopieren, verwende:

    Worksheets("Einstellung").Range(Cells(1, 1), Cells(2, 2)).Copy
  • Beispiel 2: Um einen Bereich über mehrere Blätter zu kopieren, kannst du Folgendes nutzen:

    Worksheets("Tabelle1").Range(Cells(1, 1), Cells(3, 3)).Copy _
    Destination:=Worksheets("Tabelle2").Cells(1, 1)

Tipps für Profis

  • Verwende With: Das Einfügen von With-Anweisungen kann den Code leserlicher machen und die Leistung verbessern.
  • Zellen dynamisch angeben: Wenn du mit variablen Zeilen oder Spalten arbeitest, kannst du die Werte dynamisch anpassen, z.B.:
    Dim lastRow As Long
    lastRow = Worksheets("Einstellung").Cells(Rows.Count, 1).End(xlUp).Row
    Worksheets("Einstellung").Range(Cells(2, 6), Cells(lastRow, 24)).Copy

FAQ: Häufige Fragen

1. Warum funktioniert mein Code nicht, wenn ich Cells in der Range-Angabe verwende?
Der häufigste Grund ist, dass die Cells-Referenz nicht auf das korrekte Worksheet verweist. Stelle sicher, dass du das With-Statement verwendest, um den Kontext klar zu machen.

2. Wie kann ich einen Bereich mit Cells definieren, der nicht zusammenhängend ist?
Du kannst die Union-Methode verwenden, um nicht zusammenhängende Zellen zu kombinieren. Beispiel:

Set rng = Union(Cells(1, 1), Cells(2, 2))

3. Gibt es eine Möglichkeit, mehrere Bereiche in einer Zeile zu kopieren?
Ja, du kannst mehrere Range-Anweisungen in einer Zeile kombinieren, wenn du Union verwendest oder mehrere Copy-Befehle anwendest.

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