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

zeilen per vba verschieben

zeilen per vba verschieben
26.01.2021 16:47:14
haustein
Hallo Gemeinschaft,
habe folgendes Problem
habe die Struktur siehe Anlage
nun möchte ich gerne, dass sobalb in einer zeile die plz auftaucht, dass alle felder die rechts davon sind soweit verschoben werden, so dass die Einträge passen - bsp. in Zeile 2 müsste die 26125 zwei Felder nach rechts verschoben werden und Oldenburg und Deutrschland auch um zwei nach rechts
https://www.herber.de/bbs/user/143335.xlsx

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zeilen per vba verschieben
26.01.2021 17:19:08
UweD
Hallo
in ein Modul

Sub Verschieben()
Dim Sp As Integer, LR As Integer, i As Integer
Sp = 4 'Startspalte
LR = Cells(Rows.Count, Sp).End(xlUp).Row 'letzte Zeile der Spalte
For i = 2 To LR
If IsNumeric(Cells(i, Sp)) Then
Cells(i, Sp).Resize(1, 2).Insert Shift:=xlToRight
ElseIf IsNumeric(Cells(i, Sp + 1)) Then
Cells(i, Sp + 1).Insert Shift:=xlToRight
End If
Next i
End Sub
LG UweD
AW: zeilen per vba verschieben
26.01.2021 17:24:17
peterk
Hallo Uwe
IsNummeric liefert auch bei leeren Zelle "True", d.h. bei mehrmaligem anwenden Deines Makros wandern die Werte immer weiter nach rechts.
Peter
Anzeige
nur eine Schleife
26.01.2021 17:27:33
UweD
Stimmt.. Dann so

Sub Verschieben()
Dim Sp As Integer, LR As Integer, i As Integer
Sp = 4 'Startspalte
LR = Cells(Rows.Count, Sp).End(xlUp).Row 'letzte Zeile der Spalte
For i = 2 To LR
If IsNumeric(Cells(i, Sp)) and Cells(i, Sp)>0 Then
Cells(i, Sp).Resize(1, 2).Insert Shift:=xlToRight
ElseIf IsNumeric(Cells(i, Sp + 1)) and Cells(i, Sp+1)>0 Then
Cells(i, Sp + 1).Insert Shift:=xlToRight
End If
Next i
End Sub

LG UweD
AW: zeilen per vba verschieben
26.01.2021 17:19:25
peterk
Hallo

Sub Verschieben()
Dim lastRow As Long
Dim i As Long
Dim j As Long
With Worksheets("Tabelle1")
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
For i = 2 To lastRow
For j = 3 To 7
If IsNumeric(.Cells(i, j).Value) And (.Cells(i, j).Value  "") Then
'PLZ gefunden
.Range(.Cells(i, j - 1), .Cells(i, 7)).Cut Destination:=.Cells(i, 5)
Exit For
End If
Next j
Next i
End With
End Sub

Anzeige
AW: zeilen per vba verschieben
26.01.2021 17:24:27
haustein
perfekt - lieben dank
Spalten mit PLZ untereinander schieben
26.01.2021 17:32:35
NoNet
Hallo Haustein,
mit folgendem Makro kannst Du die Spalten verschieben, so dass alle PLZ untereinander stehen :
Sub Spalten_PLZ_untereinander()
Dim lngS As Long, lngZ As Long, lngLS As Long 'lngLS=größte Spaltennr. mit PLZ
'Größte Spaltennummer mit PLZ ermitteln :
For lngZ = 2 To Cells(Rows.Count, 1).End(xlUp).Row
For lngS = 1 To Cells(lngZ, Columns.Count).End(xlToLeft).Column
If Cells(lngZ, lngS) Like Application.Rept("[0-9]", 5) Then
If lngS > lngLS Then lngLS = lngS
End If
Next
Next
If lngS = 0 Then
MsgBox "keine 5-stellige PLZ gefunden!"
Else
'Spalten ab PLZ nach rechts verschieben
For lngZ = 2 To Cells(Rows.Count, 1).End(xlUp).Row
For lngS = 1 To Application.Min(lngLS, Cells(lngZ, Columns.Count).End(xlToLeft). _
Column)
If Cells(lngZ, lngS) Like Application.Rept("[0-9]", 5) Then
If lngS 
Berücksichtigt werden nur 5-stellige PLZ !
Allerdings bereinigt es nicht die Spalten VOR der PLZ - die bleiebn wie sie waren !
Salut, NoNet
Anzeige
AW: welcher seltener "Gast" ;-) aber ...
26.01.2021 17:38:56
neopa
Hallo NoNet,
... offensichtlich wenigsten gesund und munter ;-)
Ich hoffe und wünsche das trifft auf die gesamte Familie zu.
Gruß Werner
.. , - ...
OT: welcher seltener "Gast" - selten aber Gast ;-)
27.01.2021 21:29:52
NoNet
Moin Werner,
ja, "selten" stimmt ja seit einigen Jahren wirklich !
Danke der Nachfrage - sagen wir mal so : Mal geht's besser, mal nicht. Als ich den Beitrag gepostet habe, war ich krank gemeldet :-( - aber ich will ja mal nicht klagen : es gibt Menschen, denen es leider sehr viel schlechter geht, und die habe ich in meinen Gedanken.
Ich hoffe, Dir und neoma get es auch gut und ihr schützt euch so gut es geht.
Bin mal gespannt, ob unser Treffen dieses Jahr stattfinden kann, ich werde mich demnächst mal mit René in Verbindung setzen.
Salut, bis zum nächsten Mal - oder beim XL-Treffen, viele Grüße auch an Deine bessere (?) Hälfte, NoNet
Anzeige
OT: na dann ...
28.01.2021 09:31:26
neopa
Hallo NoNet,
... wünsch ich Dir als erstes, dass Du inzwischen wieder hoffentlich genesen bist oder zumindest es bald wieder sein wirst. Wir können nicht klagen und diesbzgl. sind unsere Gedanken Deinen gleich.
Nun zum noch ausstehenden XL-Treffen. Wir meinen, dass dieses aus offensichtlichen Gründen wohl nicht vor August stattfinden kann und sollte. Diese erneute Verschiebung hätte dann allerdings den Nachteil, dass aus gleichen Gründen zumindest einige - wie wir auch - die im letzten Jahr teilweise und in diesem Jahr bis dahin ausgefallenen Urlaubsplanungen nachholen wollen, was zu Terminproblemen führen könnte.
Deshalb käme unseres Erachtens als Alternative eine nochmalige Verschiebung bis ins Jahr 22 in Betracht. Oder mal was ganz anderes: Evtl. könnte nach abgeschlossene Impf-Kampagne ein Treffen in der Adventszeit (gerade im Erzgebirgsvorland besonders sehenswert) in Erwägung gezogen werden. Was meinst Du?
Wie auch immer, wir würden uns freuen, alle bekannten + bis jetzt noch unbekannten "Neue" in nicht zu ferner Zeit gesund und frohen Mutes zu treffen.
Viele Grüße an alle von
Werner und seiner besseren (! natürlich) Hälfte
.. , - ...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige