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

Bereich ausschneiden und einfuegen

Bereich ausschneiden und einfuegen
19.11.2013 17:00:25
Judith
Hallo zusammen,
ich stehe mal wieder vor einem VBA-Rätsel und hoffe auf eure Hilfe.
Ich möchte (zum Update verschiedener Tabellen) den Bereich D1:07 ausschneiden und im gleichen Tabellenblatt in den Bereich C1:N7 einfuegen. Also quasi den ganzen Bereich um eine Spalte nach links verschieben.
Mein Makro hierzu lautet:
Dim oBlatt As Worksheet
Set oBlatt = ThisWorkbook.Worksheets("Presentation_VCI_Books")
With oBlatt
.Range("D1:O7").Cut
.Range("D1:O7").Select
ActiveSheet.Paste
End With
Das Makro funktioniert, wenn ich mich im Tabellenblatt Presentation_VCI_Books befinde. Wenn ich es jedoch aus einem Tabellenblatt heraus ausführen möchte, erhalte ich die Fehlermeldung :
Run Time Error 1004
Select method of Range class failed
Wenn ich "Debug" klicke, wird die Zeile
.Range("D1:O7").Select
eingefärbt.
Kann mir jemand weiterhelfen?
Vielen Dank im Voraus !
VG Judith

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

Betreff
Datum
Anwender
Anzeige
ohne Punkt vor Range("D1:O7") ? owT
19.11.2013 17:08:09
robert

AW: ohne Punkt vor Range("D1:O7") ? owT
19.11.2013 17:20:20
Judith
Hallo Robert,
habe es eben versucht. In diesem Fall wird jedoch der Bereich des Tabellenblatts ausgeschnitten, in dem ich mich bei Ausfuerung des Makros gerade befinde und nicht der Bereich im Tabellenblatt Presentation_VCI_Books.
Hast du vielleicht noch eine andere Idee?
VG Judith

AW: ohne Punkt vor Range("D1:O7") ? owT
19.11.2013 17:26:36
robert
Hi,
bei Cut bleibt der Punkt, bei Select weg.
Gruß
robert

Bereich verschieben
19.11.2013 17:29:37
Erich
Hi Judith,
erste Frage:
Sollte es in deinem Code nicht
.Range("C1:N7").Select
statt
.Range("D1:O7").Select
stehen? Mit "D1:O7" äbndert sich nichts, auch wenn oBlatt aktiv ist.
Erstes Problem:
....Select geht nur auf dem aktiven Blatt. Kann also nicht funktionieren, wenn oBlatt nicht das aktive ist.
Tipp zu Select: http://www.online-excel.de/excel/singsel_vba.php?f=78
Zweites Problem: In
ActiveSheet.Paste
wird das gerade aktive Blatt angesprochen, oBlatt kommt gar nicht vor.
Dabei denke ich, dass immer auf oBlatt eingefügt werden soll - egal, welches Blatt gerade aktiv ist.
Mein Vorschlag:

Option Explicit
Sub aaTest2()
Dim oBlatt As Worksheet
Set oBlatt = ThisWorkbook.Worksheets("Presentation_VCI_Books")
With oBlatt
.Range("D1:O7").Copy .Range("C1:N7")
.Range("O1:O7").Clear
End With
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Bereich verschieben
19.11.2013 17:41:41
Judith
Hallo Robert,
damit hat es leider auch nicht geklappt. Aber trotzdem vielen Dank !
Hallo Erich,
beim Bereich ist wirklich ein Fehler. Es sollte D1-O7 wird ausgeschnitten und in den Bereich C1-N7 eingefuegt werden. Dein Vorschlag hat super funktioniert.
Vielen herzlichen Dank !
VG Judith

noch ein Vorschlag
19.11.2013 17:32:15
Erich
Hi Judith,
so reichte es auch:

Option Explicit
Sub aaTest3()
With ThisWorkbook.Sheets("Presentation_VCI_Books")
.Range("D1:O7").Copy .Range("C1:N7")
.Range("O1:O7").Clear
End With
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige