Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
912to916
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
912to916
912to916
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bereich verschieben

Bereich verschieben
06.10.2007 18:23:00
Korl
Hallo,
ich möchte den Bereich unterhalb der activen Zelle, Spalte "A" bis"D" um eine Zeile verschieben.
Dies ist mein erster Versuch wobei mir schon ein Fehler beim Kompilieren angezeigt wird.
Sub Bereich_verschieben()
   Dim z As Long, Lletzte As Long
   
   z = ActiveCell
   Lletzte = IIf(.Range("A65536") <> "", 65536, Range("A65536").End(xlUp).Row)
   
   Range(z :"D"&Letzte).Cut Destination:=Range(z+1:"D"&Lletzte)
   
End Sub
Kann mir bitte jemand helfen?
Gruß Korl

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich verschieben
06.10.2007 18:59:00
Daniel
Hi
kleiner Tip,
beschäfitge dich grundsätzlich mal mit Variablen und Typen von Variablen.
dein erster Fehler ist schon mal gleich, daß du z als Ganzzahl deklarierst (Dim z as long)
und dann aber Z den Wert der aktiven Zelle zuweisen wills.
das funktioniert nicht, wenn in der aktiven Zelle ein Text drin steht und macht auch sonst in deinem Makro überhaupt keinen Sinn.
zweiter Fehler ist, wenn du einen Zellbereich über RANGE addressieren willst, muß das so aussehen:
RANGE("A1:C10") das passt bei dir auch nicht, weil z ist ja nur eine Zahl und dann würde der Spaltenbuchstabe fehlen.
Dritter Fehler: du hast Tippfehler in deinen Variablenbenennungen, um das zu vermeiden arbeiten man mit OPTION EXPLICIT
4. Fehler: beim Zusammensetzen von Strings muß vor und nach dem &-Zeichen immer ein Leerzeichen stehen.
das liegt daran, daß das &-Zeichen noch für was anderes verwendet wird (ich glaube alls kennzeichnung einer Hex-Zahl) und es sonst nicht eindeutig wäre, was gemeint ist.
so müsste dein Makro aussehen:

Option Explicit
Sub Bereich_verschieben()
Dim z As Long, Lletzte As Long
z = ActiveCell.Row
Lletzte = IIf(Range("A65536")  "", 65536, Range("A65536").End(xlUp).Row)
Range("A" & z & ":D" & Lletzte).Cut Destination:=Range("A" & z + 1 & ":D" & Lletzte +1)
End Sub


viel einfacher ist es aber, du fügst an der Stelle einfach die 4 Zellen ein, das hat den gleichen effekt:


Sub bereich_verschieben2()
Dim z As Long
z = ActiveCell.Row + 1
Range("A" & z & ":D" & z).Insert shift:=xlDown
End Sub


Anzeige
AW: Bereich verschieben
06.10.2007 19:32:00
Korl
Hallo Daniel,
vielen Dank für die aufgezeigten Fehler und Deine Erläuterung dazu.
Das war für mich sehr lehrreich.
Beide Codes laufen so, wie ich es mir vorgestellt habe.
Ich wünsche Dir noch ein schönes Wochenende.
Gruß Korl

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige