Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1188to1192
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 - VBA

Range - VBA
Murmel
Hallo Forum,
komme mir ja schon ein wenig dämlich vor ...
Möchte ganz einfach nur ein Datenfeld innerhalb einer Tabelle über kopieren auf dem Tabellenblatt verschieben.
Einfacher VBA-Code ... zumindest nach meiner Überlegung, und hat auch bisher immer super funktioniert:
...
Sheets("Extrem-Werte").Select
Range(Cells(1, 125), Cells(5000, 155)).Select
Selection.Copy
Cells(1, 2 + (SetZeiger - 1) * 12).Select
Selection.Paste
...
Beim Ausführen des Codes kommt aber nun immer die Fehlermeldung, daß
die Select-Methode für das Range Objekt nicht ausgeführt werden kann (Laufzeitfehler '1004').
Der Debugger wirft mich dabei auf Zeile 2 raus.
Tabellenblatt ist nicht geschützt, und auch sonst sind dort nur Werte abgelegt.
Wenn ich den Range auf eine einzige Zelle beschränke (Range("A5") funktionierts!
... Ich kapiers einfach nicht! Was bitte ist an obigem Syntax falsch? ...
PS: Hab es auch schon ohne Select probiert. Bekomme dann keine Fehlermeldung aber es copiert einfach nicht. Die Select-Variante habe ich dann umgesetzt um die Sache am Bildschirm nachvollziehen zu können.

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

Betreff
Benutzer
Anzeige
AW: Range - VBA
25.11.2010 14:51:11
Hajo_Zi
Hi,
    With Sheets("Extrem-Werte")
.Range(.Cells(1, 125), .Cells(5000, 155)).Copy Cells(1, 2 + (SetZeiger - 1) * 12)
End With

wie groß ist SetZeiger?
25.11.2010 14:58:09
Rudi
Hallo,
darf max. 19 sein.
Gruß
Rudi
AW: Range - VBA
25.11.2010 15:05:32
fcs
Hallo Murmel,
wo im VBA-Projekt ist dein Makro im B´VBA-Projekt denn gespeichert?
A: in einem allgemeinen Modul
B: in einem Tabellenblatt-Modul
Bei B gibt es ggf. Probleme, wenn es nicht unter Blatt "Extrem-Werte" gespeichert ist, da Range und Cells sich immer auf das Tabellenblatt des Moduls beziehen.
Am sichersten ist es alle Objekte komplett korrekt zu referenzieren.
  With Sheets("Extrem-Werte")
.Range(.Cells(1, 125), .Cells(5000, 155)).Copy _
Destination:=.Cells(1, 2 + (SetZeiger - 1) * 12)
End With

Eine weitere Möglichkeit wäre noch, dass zum Zeitpunkt der Makroausführung ein Steuerelement den Fokus hat, von dem aus VBA keine Zellselektion ausführen kann.
Gruß
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige