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

Excel vba zahen verschieben

Excel vba zahen verschieben
22.11.2022 15:22:44
Fabian
Liebes Forum,
Ich gerate hier zum ersten mal mit excel Van in Kontakt und brauche Hilfe. Ich habe eine Liste, mit produktnamen und einer Stückzahl darunter. Diese Stückzahl soll nun ein Feld nach rechts und ein Feld nach oben verschoben werden, sodass die Stückzahl daneben liegt. Die Zahlen sollen wenn möglich aus der vorherigen Zelle gelöscht werden.
Über jede Hilfe bin ich sehr dankbar!
Liebe Grüße
Fabian

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel vba zahen verschieben
22.11.2022 15:30:11
Rudi
Hallo,
Liste beginnend in A1.
C1: =INDEX(A:A;ZEILE()*2-1)
D1: =INDEX(A:A;ZEILE()*2)
und runter kopieren.
Gruß
Rudi
AW: Excel vba zahen verschieben
22.11.2022 15:33:15
Daniel
Hi
hier mal eine einfache Variante.
bei längeren Listen müsste man das etwas anders lösen, da das hier nicht besonders schnell ist

dim Zelle as Range
for each Zelle in Columns(1).SpecialCells(xlcelltypeconstants, 1)
Zelle.Cut Destination:=Zelle.Offset(-1, 1)
Next
Gruß Daniel
noch per VBA
22.11.2022 15:41:04
Rudi
die schnelle Variante:

Sub aaa()
Dim arrIN, arrOUT(), i As Long
arrIN = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
ReDim arrOUT(1 To UBound(arrIN) / 2, 1 To 2)
For i = 1 To UBound(arrOUT)
arrOUT(i, 1) = arrIN(i * 2 - 1, 1)
arrOUT(i, 2) = arrIN(i * 2, 1)
Next i
Columns(1).ClearContents
Cells(1, 1).Resize(UBound(arrOUT), 2) = arrOUT
End Sub
Gruß
Rudi
Anzeige
AW: Excel vba zahen verschieben
22.11.2022 17:57:33
Daniel
noch ne Variante. Ob die einsetzbar ist, hängt aber davon ab was sonst noch so auf dem Tabellenblatt steht

Sub test()
Columns(1).SpecialCells(xlCellTypeConstants, 1).Insert shift:=xlToRight
Cells(1, 2).Delete shift:=xlUp
End Sub
ansonsten könnte man es auch so mit einer Formel lösen:

Sub test()
With Cells(1, 1).CurrentRegion
With .Columns(2)
.FormulaR1C1 = "=IF(Istext(RC[-1]),R[1]C[-1],"""")"
.Formula = .Value
End With
.SpecialCells(xlCellTypeConstants, 1).ClearContents
End With
End Sub
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige