Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Zeilen um 5 Zellen verschieben
#1
Hallo liebe Clever-Forum-Community,

ich bin absoluter Neuling im Umgang mit Excel und dementsprechend auch in diesem Forum.

Ich möchte gerne jede 2. Zeile (Werte in den Spalten A-R) um 5 Felder nach rechts (auf G-W) verschieben.

Ist das mit einer Formel möglich, manuell ist das leider nicht zu bewerkstelligen.

Gruß
Roko
Top
#2
Hallo,

vermutlich ist das mit einer Formel machbar, wenn man denn genau wüsste was du eigentlich erreichen willst.

Zitat:Ich möchte gerne jede 2. Zeile (Werte in den Spalten A-R) um 5 Felder nach rechts (auf G-W) verschieben.

Kannst du das mal ein wenig genauer beschreiben und eine entsprechende Beispielsdatei hochladen damit man den genauen Tabellenaufbau kennt.

Es wäre hilfreich zu wissen welche Werte genau wohin sollen.
Gruß
Peter
Top
#3
Hallo Roko,

teste mal:

Code:
Sub VerschiebenJedeZweite()
  Dim i As Long, j As Long
  Dim varZ As Variant
  varZ = Cells(1, 1).Resize(Cells(Rows.Count, 1).End(xlUp).Row, 18).Value
  ReDim Preserve varZ(1 To UBound(varZ), 1 To 23)
  For i = 2 To UBound(varZ) Step 2
    For j = 23 To 6 Step -1
      varZ(i, j) = varZ(i, j - 5)
      varZ(i, j - 5) = ""
    Next j
  Next i
  Cells(1, 1).Resize(UBound(varZ, 1), UBound(varZ, 2)).Value = varZ
End Sub

Gruß Uwe
Top
#4
Hallo Roko,

für den absoluten Anfänger in Excel:

(21.08.2014, 18:57)Kuwer schrieb: Code:
Sub VerschiebenJedeZweite()
...

diesen Code markierst Du im Beitrag und kopierst ihn in die Zwischenablage mit STRG-C

Dann drückst Du in Deiner Excel-Datei ALT-F11, es erscheint der VBA- (= Makro-) Editor. Jetzt müsste Dein Fenster zweigeteilt sein: links ein Verzeichnisbaum und rechts ein leeres Fenster mit einer kleinen Menüleiste.

In dieses rechte Fenster fügst Du den kopierten Code aus der Zwischenablage ein: STRG-V

Dann wechselst Du wieder in Deine Excel-Tabelle und rufst über das Menü "Entwicklertools" - "Makros" das Makro "VerschiebenJedeZweite" auf und die Verschiebe-Arbeit ist erledigt.

Falls Du das Menü "Entwicklertools" nicht hast, mußt Du es durch Rechtsklick in die Menüleiste und "Menüband anpassen" einschalten.
Top
#5
Hallo,

(21.08.2014, 20:08)Rabe schrieb: Dann wechselst Du wieder in Deine Excel-Tabelle und rufst über das Menü "Entwicklertools" - "Makros" das Makro "VerschiebenJedeZweite" auf und die Verschiebe-Arbeit ist erledigt.

oder mit Alt-F8 Wink

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Rabe
Top
#6
Hi Uwe,

(21.08.2014, 20:41)Kuwer schrieb: oder mit Alt-F8 Wink

ok, das ist kürzer. :100:
Top
#7
Hallo rokoholik,

hier ein Ansatz ohne VBA mit einer Hilfsspalte und dem Autofilter von Excel.

Arbeitsblatt mit dem Namen 'Tabelle1'
 AB
1WasWie
2A0
3B1
4C0
5D1

ZelleFormel
B2=REST(ZEILE();2)
B3=REST(ZEILE();2)
B4=REST(ZEILE();2)
B5=REST(ZEILE();2)
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg

In einer Hilfsspalte ermittelst Du per Formel den Rest aus der Division der Zeilennummer durch 2. Das ist entweder 0 oder 1.
Anschließend schaltest Du den Autofilter ein und filterst in Deiner Hilfsspalte nach 0 oder 1. Dadurch wird jede zweite Zeile ausgeblendet.
Dann markierst Du die Daten - im Beispiel nur Spalte A - , kopierst sie und fügst sie 5 Spalten weiter rechts ein.
Anschließend markierst Du die Daten in Spate A - bei Dir sind es ein paar Spalten mehr - und löschst sie.

Zum Schluss hebst Du den Autofilter auf, löschst die Daten der Hilfsspalte und Dein Excelblatt enthält das gewünschte Ergebnis.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#8
Vielen vielen Dank für das überwältigende Feedback,

ich kann den das Makro leider erst am Montag testen, da ich zu Hause "nur" Open Office habe und nicht - wie an der Uni - Ecxel.

Vielen Dank an Kuwer für den Code und vor allem an Rabe für die Erklärung wie man ein Makro abspeichern kann - wusste ich als blutiger Anfänger ehrlich nicht.

Das Kopieren und Einfügen mit STR C bzw. V hätte ich aber hinbekommen ;)

Ich melde mich Montag oder Dienstag wieder.

Gruß Roko
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste