Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Mehrere Zellen eine Zeile nach oben kopieren per Abfrage

Forumthread: Mehrere Zellen eine Zeile nach oben kopieren per Abfrage

Mehrere Zellen eine Zeile nach oben kopieren per Abfrage
07.02.2025 22:25:53
Odhihi
Hallo zusammen,

ich möchte in einer Tabelle - ab der Zeile 2 - die Spalte 6 nach dem Wert "XXX" durchsuchen und wenn die Prüfung "wahr" ist, soll er mit den Inhalt der Spalten H-Q der darunterliegenden Zeile in die Zeile mit dem "XXX" kopieren.

Leider bin ich blutiger Anfänger in Sachen VBA und bin nicht weiter als soweit gekommen. Ich könnte wirklich Unterstützung gebrauchen.

Sub Makro6()


Application.ScreenUpdating = False
Application.CutCopyMode = False
Dim wks As Worksheet
Set wks = Tabelle1 ' CodeName! der Tabelle
Dim x As Long
Dim y As Long
y = x + 1
For x = Cells(Rows.Count, 6).End(xlUp).Row To 2 Step -1
If Cells(x, 6) = "XXX" Then
wks.Range(wks.Cells(x, 8), wks.Cells(x, 17)).Value = wks.Range(wks.Cells(y, 8), wks.Cells(y, 17)).Value
Next x
Application.ScreenUpdating = True
End Sub


Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Mehrere Zellen eine Zeile nach oben kopieren per Abfrage
07.02.2025 23:22:54
ralf_b


For x = Cells(Rows.Count, 6).End(xlUp).Row To 2 Step -1
If Cells(x, 6) = "XXX" Then wks.Cells(x, 8).Resize(1, 10).Value = wks.Cells(x + 1, 8).Resize(1, 10).Value
Next x
AW: Try and error
10.02.2025 13:58:16
GerdL
Moin!
Sub Unit()


Dim z As Long

'Das Arbeitsblatt ist vor "Cells" nicht angegeben.
'Code in einem allgemeinen Modul läuft im aktiven Blatt,
'Code im Modul einer Tabelle läuft in dieser Tabelle

'letzte Zeile mit Wert in Spalte F ermitteln,
'Schleife hier von unten nach oben
For z = Cells(Rows.Count, "F").End(xlUp).Row To 2 Step -1
'wenn xer in Spalte F
If UCase$(Cells(z, "F")) = "XXX" Then
'Werte von H:Q von Zeile darunter in diese Zeile einfügen
Cells(z, "H").Resize(1, 10).Value = Cells(z + 1, "H").Resize(1, 10).Value
End If
Next

End Sub

Gruß Gerd
Anzeige
AW: Mehrere Zellen eine Zeile nach oben kopieren per Abfrage
10.02.2025 08:56:56
Odhihi
Hallo ralf_b,

leider führt das Makro anscheinend keine Funktion aus.

Sub Makro6()


Application.ScreenUpdating = False
Application.CutCopyMode = False
Dim wks As Worksheet
Set wks = Tabelle1 ' CodeName! der Tabelle
Dim x As Long
For x = Cells(Rows.Count, 6).End(xlUp).Row To 2 Step -1
If Cells(x, 6) = "XXX" Then wks.Cells(x, 8).Resize(1, 10).Value = wks.Cells(x + 1, 8).Resize(1, 10).Value
Next x
Application.ScreenUpdating = True
End Sub


Irgendwo muss ich hier noch einen Fehler drin haben.
Anzeige
AW: Mehrere Zellen eine Zeile nach oben kopieren per Abfrage
10.02.2025 22:00:19
ralf_b
das kommt ganz auf deine Daten an.
Setze doch einfach einen Haltepunkt im Code und starte das Makro. Durch das Screenupdating = false wird die Bildschirmanzeige nicht jedesmal aktualisiert. Das spart ne Menge Zeit.
Prüfe ob x einen Wert größer 2 erhält und ob in Spalte 6 überhaupt Werte mit "XXX" stehen.
Anzeige

Forumthreads zu verwandten Themen