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.

Makro Suche Wert und ersetze andere Zeile + zeilen löschen
#1
Hallo zusammen

Ich bräuchte mal wieder eure Hilfe bei einem Makro.
Ich erhalte aus unserem System die im Anhang befindliche Excel Auswertung.
Diese wird für 2 Kommissionier Abteilungen ausgewertet mit unterschiedlichen Produkten.
Die Spaltenanzahl und Beschriftung bleibt gleich, die Zeilenanzahl kann von 10-xxxx gehen.

Habe gleich 2 Anliegen.

1. Ich möchte das in Spalte "Q" ein Text gesucht wird (Coop at Home Spreitenbach) und daraufhin die Zeit in Spalte "H" geändert wird in 23:59. Dafür habe ich auch einen Makro, jedoch sucht der nur so lange bis er einen Eintrag gefunden hat. Dies müsste aber über mehrere Zeilen laufen, sich also wiederholen.
In der Beispieldatei wäre die in Zeile 7 und 14. Variiert aber täglich und teilweise gibt es auch keinen Eintrag.

Zitat:Makro Code:

Sub Zeit_Coop_at_Home()
Dim raFund As Range
Set raFund = Columns("Q").Find(What:="Coop at Home Spreitenbach", LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows)
If Not raFund Is Nothing Then
    raFund.Offset(, -9) = "23:59"
End If
Set raFund = Nothing
End Sub


2. Ich bräuchte noch einen Makro der mir bestimmte Artikelnummern aus Spalte "E" sucht und dabei die komplette Zeile immer löscht. Hier müsste ich aber wieder im Code viele Artikelnummern hinterlegen können und nicht nur einen. Dementsprechend soll er dann diese alle löschen. Exemplarisch habe ich jetzt nur 2 Artikel im Muster drin. Dort sollen die Zeilen mit den Artikelnummern "60178" und "82361" gelöscht werden.

Gruss
Fire


Angehängte Dateien
.xlsm   Clever_Excel_Anfrage.xlsm (Größe: 98,66 KB / Downloads: 5)
Verwendete Office Version: 10
Antwortento top
#2
Hallo,

ich würde das mit einer Schleife lösen, etwa so:
Code:
Sub zeitändern()
Dim lzeile As Integer
With Sheets("Tabelle1")
    For lzeile = 10 To 1000
        If .Cells(lzeile, 17) = "Coop at Home Spreitenbach" Then
            .Cells(lzeile, 8) = "23:59"
        End If
    Next lzeile
End With
End Sub

Sub löschen()
Dim lzeile As Integer
With Sheets("Tabelle1")
    For lzeile = 10 To 1000
        If .Cells(lzeile, 5) = "60178" _
        Or .Cells(lzeile, 5) = "82361" Then
            Rows(lzeile, lzeile).Delete
            lzeile = lzeile - 1
        End If
    Next lzeile
End With
End Sub

Gruß
Stefan

ps. wenn du nach mehr als zwei Werten suchen willst, dann halt nochmal _
or .cells etc.
[-] Folgende(r) 1 Benutzer sagt Danke an SH95 für diesen Beitrag:
  • FireBurn
Antwortento top
#3
So nun noch antworten.

Also das ändern der Zeit funktioniert einwandfrei. Danke dafür schon mal.

Das löschen funktioniert irgendwie noch nicht. Er gibt mir einen "Laufzeitfehler 1004" an.
Verwendete Office Version: 10
Antwortento top
#4
Hallo nochmalSmile

also erstmal sorry, irgendwann sieht man den Wald vor lauter Bäumen nicht mehrSmile

Code:
Sub löschen()
Dim lzeile As Integer
With Sheets("Basis")
    For lzeile = 10 To 1000
        If .Cells(lzeile, 5) = "60178" _
        Or .Cells(lzeile, 5) = "82361" Then
            Rows(lzeile).Delete
            lzeile = lzeile - 1
        End If
    Next lzeile
End With
End Sub

Da war ich bei rows() wohl etwas voreilig...

so sollte es funktionieren (bzw. in deiner Beispielmappe funktioniert es so)Smile

Gruß
Stefan
[-] Folgende(r) 1 Benutzer sagt Danke an SH95 für diesen Beitrag:
  • FireBurn
Antwortento top
#5
Perfekt Danke Dir für die schnelle Hilfe. Thumbsupsmileyanim
Verwendete Office Version: 10
Antwortento top


Gehe zu:


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