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

Bedingtes Löschen VBA

Bedingtes Löschen VBA
10.01.2014 13:59:06
Thorsten
Hallo Zusammen,
ich erstelle monatlich Sortimente von Produkten, die sich Aufgrund von Abverkäufen ändern. Sprich wenn sich ein Produkt nicht verkauft, kommt es aus dem Sortiment. Vereinfacht sieht die Tabelle in Excel hierfür folgendermaßen aus (siehe File-Upload):
Userbild
Wie würde ein Makro aussehen, dass die 1 bei den Produkten E und F in der Spalte "Anzahl" aufgrund des Abverkaufs von 0 in Spalte "Abverkäufe letzter Monat" automatisch gelöscht wird?
Wäre echt klasse, wenn ihr mir weiterhelfen könnt.
Viele Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: Bedingtes Löschen VBA
10.01.2014 14:13:08
Rudi
Hallo,
filter C doch einfach nach 0 und lösch die verbleibenden. 5 Sek. Arbeit.
Gruß
Rudi

AW: Bedingtes Löschen VBA
10.01.2014 14:16:08
Thorsten
Hallo,
Danke für die Info
Wie gesagt, es handelt sich um ein vereinfachtes Beispiel. Gibt über 2000 Produkte und über 20 Sortimente in verschiedenen Reitern und Dokumenten. Ich bräuchte nur den Code für mein vereinfachtes Beispiel. Diesen kann ich dann schon auf meine Sortimente zuschneidern.
Hat jemand Ahnung wie man das machen kann?
Grüße

AW: Bedingtes Löschen VBA
10.01.2014 14:29:32
Rudi
Hallo,
Sub aa()
Dim rngC As Range, rngDel As Range
For Each rngC In Range(Cells(2, 3), Cells(Rows.Count, 3).End(xlUp))
If rngC = 0 Then
If rngDel Is Nothing Then
Set rngDel = rngC.Offset(, -1)
Else
Set rngDel = Union(rngDel, rngC.Offset(, -1))
End If
End If
Next
If Not rngDel Is Nothing Then rngDel.ClearContents
End Sub

Gruß
Rudi

Anzeige
AW: Bedingtes Löschen VBA
10.01.2014 14:35:01
Thorsten
Wahnsinn. Danke dir.

AW: Bedingtes Löschen VBA
10.01.2014 14:45:48
Thorsten
Danke auch dir Klaus
@Rudi:
Wie würde der Code aussehen, wenn ich auch noch die Zelle nach dem Löschen rotmarkiert haben will?
Danke für deine Hilfe.
Grüße

rot markieren
10.01.2014 14:52:08
Rudi
Hallo,
so:
Sub aa()
Dim rngC As Range, rngDel As Range
For Each rngC In Range(Cells(2, 3), Cells(Rows.Count, 3).End(xlUp))
If rngC = 0 Then
If rngDel Is Nothing Then
Set rngDel = rngC.Offset(, -1)
Else
Set rngDel = Union(rngDel, rngC.Offset(, -1))
End If
End If
Next
If Not rngDel Is Nothing Then
rngDel.ClearContents
rngDel.Interior.Color = RGB(255, 0, 0)
End If
End Sub

Gruß
Rudi

Anzeige
AW: rot markieren
13.01.2014 15:11:01
Thorsten
Hi Rudi,
danke nochmal. Hab ein weiteres Problem. Ich habe noch ein Genre. Wie würde der Code aussehen wenn nur die 1er rausgelöscht werden sollen (Feld anschließend rot markieren), wenn es sich nicht um ein Genre "C" Titel handelt:
Userbild
Wäre klasse.
Grüße
Thorsten

AW: rot markieren
13.01.2014 16:37:50
Rudi
Hallo,
Sub aa()
Dim rngC As Range, rngDel As Range
For Each rngC In Range(Cells(2, 4), Cells(Rows.Count, 4).End(xlUp))
If rngC = 0 And rngC.OffSet(, -2)  "C" Then
If rngDel Is Nothing Then
Set rngDel = rngC.Offset(, -1)
Else
Set rngDel = Union(rngDel, rngC.Offset(, -1))
End If
End If
Next
If Not rngDel Is Nothing Then
rngDel.ClearContents
rngDel.Interior.Color = RGB(255, 0, 0)
End If
End Sub

Gruß
Rudi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige