Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

markierte Zellen ausschneiden
#1
Hallo zusammen,

ich habe eine Frage, bei der ich nicht weiterkomme:

Konkret geht es darum:

Es soll mittels Suchfunktion in Tabelle1 eine Auftragsnummer gesucht werden. Dies können auch mehrere Treffer sein.
Die Zeilen sollen dann markiert werden (die Ergebnisse sind immer in Reihe (1,2,3) nicht (1,3,5,etc.)
Sollen dann ausgeschnitten werden und in Tabelle2, welche identisch aufgebaut ist wie Tabelle1, in unterster, leerer Zeile eingefügt werden.
Die leeren Zeilen in Tabelle1 sollen schließlich entfernt werden.
Ausgangsbasis ist Tabelle2.

Ich habe es bereits geschafft, über bedingte Formatierung, die Zeilen zu markieren bei einem Ergebnis. Der nächste Step klappt aber nicht wirklich.

Wäre toll, wenn mir jemand weiterhelfen kann :)

VG

exalex
Antworten Top
#2
Hallo


bin mir nicht sicher, was du mit Reihen (.. meinst

Spalte A:C ??

versuch es mal so.

in ein Normales Modul


Code:
Option Explicit

Sub Verschiebe()
    Dim TB1 As Worksheet, TB2 As Worksheet, LR1 As Long, LR2 As Long
    Dim RNG As Range, AUFNUM As String, C
   
    Set TB1 = Sheets("Tabelle1")
    Set TB2 = Sheets("Tabelle2")
    Set RNG = TB1.Range("A:C") 'Suchbereich
   
    AUFNUM = InputBox("Suchen nach Auftrag: ")
    If AUFNUM = "" Then Exit Sub
   
    Set C = RNG.Find(What:=AUFNUM, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows)
   
    If Not C Is Nothing Then
        Do
            LR2 = TB2.Cells.SpecialCells(xlCellTypeLastCell).Row + 1 'erste freie Zeile
   
            C.EntireRow.Copy TB2.Rows(LR2) 'kopiern
            C.EntireRow.Delete 'löschen
   
            Set C = RNG.FindNext() 'Weitersuchen
        Loop While Not C Is Nothing
    End If
End Sub

LG UweD
Antworten Top
#3
Hallo UweD,

danke schon mal für die schnelle Antwort.

Mit Reihe meinte ich, dass die Zeilen immer nachfolgend das Ergebnis anzeigen und dann makiert werden sollen.
Also Zeile 1 ist markiert, Zeile 2, usw.
Und nicht Zeile 1, Zeile 3, Zeile 5, usw.
War mir nicht sicher, ob das für Excel sonst ein Problem darstellt.

Ich probier den Code gleich mal aus!

VG

exalex

Hallo UweD,

vielen vielen Dank!

Klappt wunderbar!

Welche zusätzliche Funktion noch toll wäre:

Dass durch einen Zwischenstep Excel mich fragt, ob alle Zeilen (bei mehreren Treffern)
komplett übernommen werden sollen. Teilweise sollen Daten, da noch nicht abgeschlossen, nicht übertragen werden.
Ggf. könnte ich dann händisch diejenigen Zeilen markieren, welche dann übernommen werden sollen.
Dies dann z.B. mit einem Button, "okay, jetzt übertragen".

Danke dir nochmals :) :)

VG

exalex
Antworten Top


Gehe zu:


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