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

Forumthread: Zeilen verschieben, wenn...

Zeilen verschieben, wenn...
10.02.2007 21:39:15
Uwe
Guten Abend miteinander.
Auch nach langem Stöbern im Archiv kann ich das Problem bislang nicht lösen.
Ich benötige einen VBA-Code für:
Wenn Zelleninhalte sowohl in Spalten "C" UND "I" des Tabellenblattes "Arbeitsblatt" vorhanden sind, dann verschiebe die Zeilen nach Tabellenblatt "Container", wo sie an den vorhandenen Bestand angehängt werden.
(Der Befehl soll dann manuell über einen Button ausgelöst werden).
Danke im Voraus.
MfG
Uwe
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen verschieben, wenn...
10.02.2007 21:54:55
th.heinrich
hallo Uwe,
bin in vba nicht bewandert, aber versuche doch den Makrorecorder zu nutzen. spalte C und I mit dem Autofilter nach Nichtleeren filtern und dann den sichtbaren bereich kopieren.
wo sie an den vorhandenen Bestand angehängt werden. dafuer gibt es genug beispiele in der https://www.herber.de/ssearch.html
gruss thomas
Anzeige
AW: Zeilen verschieben, wenn...
11.02.2007 00:13:00
ingUR
Hallo, Uwe,
wenn die von Thomas vorgeschlagene Lösung nicht zur Aufgabenlösung ausreichen sollte, hier eine VBA-Modul-Prozedur, die die betreffenden Zeilen aus der Tabelle "Arbeitsblatt" löscht, für die Zelleninhalte in den Spalten C und I identisch sind, nachdem sie an des Ende der Einträge in auf der Tabelle "Container" angefügt wurden.
In dem Programmteil werden alle Zeilen der Tabelle "Arbeitsblatt" bis zum letzten Eintrag der Spalte A geprüft.
Option Explicit
Sub KopiereWenn_C_gleich_I()
Dim ws As Worksheet, rngR As Range, maxR As Long, r As Long
Set ws = Worksheets("Arbeitsblatt")
With ws
maxR = .Cells(.Rows.Count, 1).End(xlUp).Row
Do
r = r + 1
If Len(.Cells(r, 3).Value) > 0 And _
(.Cells(r, 3).Value = .Cells(r, 9).Value) Then
.Rows(r).Copy Sheets("Container").Range("A" & Sheets("Container").Cells(Rows.Count, 1).End(xlUp).Row + 1)
.Rows(r).Delete Shift:=xlUp
maxR = maxR - 1
r = r - 1
End If
Loop Until r > maxR
End With
Set ws = Nothing
End Sub
Ich hoffe, dass diese Prozedur als Grundgerüst genutzt werden kann. Testen solltest Du sie auf jedenfall in einer Arbeistkopie Deiner Mappe, da der Ablauf von mir nicht umfassend geprüft ist.
Gruß,
Uwe
Anzeige
AW: Zeilen verschieben, wenn...
11.02.2007 10:31:33
Uwe
Herzlichen Dank euch Beiden für eure schnelle Antwort,
es hat geklappt!
Danke und Gruß
Uwe
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige