Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1636to1640
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

Zelleninhalt löschen, wenn Bedingung erfüllt

Zelleninhalt löschen, wenn Bedingung erfüllt
06.08.2018 13:42:40
Isabel
Hallo Zusammen,
ich habe ein kleines Problem und hoffe, dass mir jemand helfen kann. Meine VBA Kenntnisse sind leider noch sehr begrenzt.
Hier findet ihr erstmal meine Besipiel-Datei:
https://www.herber.de/bbs/user/123161.xls
Diese Informationen bekomme ich in etwa so von meiner Datenbank ausgegeben (diese wird dann mithilfe von Markos soweit aufgearbeitet, wie ihr sie jetzt seht).
Im Prinzip ist es nur eine kleine optische Sache, wenn es also nicht klappt, geht die Welt auch nicht unter.
Es geht um Spalte J. Wie man sieht, sind die Zelleninhalte je "Auftrag" gleich. Am besten wäre es, wenn ich nur in der letzten Zeile über dem Rahmen die Information stehen habe.
Ich hatte mir überlegt, dass man es ja einfach von Spalte A abhängig machen kann unter zu Hilfenahme der Leerzeilen.
Quasi: wenn in Spalte A die Zeile x+1 nicht leer ist, dann lösche Zelleninhalt in Spalte J, sonst ignorieren und weiterprüfen bis zum Ende.
Nur hilft mir hierbei der Makro-Recorder logischerweise auch nicht wirklich weiter und nach langem Suchen habe ich auch nichts gefunden, mit dem ich was anfangen könnte.
Ich bedanke mich schonmal im Voraus für alle Hinweise.
mit freundlichen Grüßen
Isabel

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalt löschen, wenn Bedingung erfüllt
06.08.2018 14:10:03
Daniel
HI
würde ich so lösen:
1. in einer Hilfsspalte am Tabellenende in Zelle L2 die Formel eintragen und bis zum Ende runter ziehen:
=Wenn(J3="";J2&"";"")
2. diese Formel dann kopieren und in Spalte J als Wert eintragen.
als Makro dann genau das gleiche:

With Range("L2:L" & Cells(Rows.count, 10).end(xlup).row)
.FormulaLocal = "=WENN(J3="""";J2;"""")"
.Copy
.Range("L2").PasteSpecial xlpastevalues
.ClearContents
End with
Gruß Daniel
AW: Zelleninhalt löschen, wenn Bedingung erfüllt
06.08.2018 14:25:00
Isabel
Hallo Daniel,
Danke für den Hinweis. Allerdings schreibt er die Werte in Spalte W? Und sie sollen nicht in der Zeile mit dem Gesamtpreis stehen, sondern eine Zeile darüber.
Gruß
Isabel
Anzeige
AW: Zelleninhalt löschen, wenn Bedingung erfüllt
06.08.2018 14:32:19
Daniel
HI
sorry, Fehler von mir.
mach aus dem .Range("L2") ein Range("J2") (kein Punkt vor dem Range), dann sollte es gehen
Gruß Daniel
AW: Zelleninhalt löschen, wenn Bedingung erfüllt
06.08.2018 14:40:33
Isabel
Hallo,
Vielen, vielen Dank!!! Das funktioniert wunderbar. Du bist echt klasse.
Gruß
Isabel
AW: Zelleninhalt löschen, wenn Bedingung erfüllt
06.08.2018 14:12:35
JoWE
Hallo Isabel,
weiß nicht ob ich Dich richtig verstehe,
wenn Du den Eintrag in Spalte J jeweils nur rechts neben dem Gesamtpreis benötigst, dann vllt. so:
Sub versuch()
Dim a As String
Dim i As Long
ze = Sheets("A_Sammelrechnung").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To ze
If Cells(i, 9) = "" Then
a = Cells(i, 10)
Cells(i, 10) = ""
Else
Cells(i, 10).NumberFormat = "@"
Cells(i, 10) = a
End If
Next
End Sub

Gruß
Jochen
Anzeige
AW: Zelleninhalt löschen, wenn Bedingung erfüllt
06.08.2018 14:23:17
Isabel
Hallo Jochen,
vielen Dank, das sieht funktioniert schonmal sehr gut. Eine kleine Sache ist nur, dass der Wert, der stehen bleiben soll nicht neben dem Gesamtpreis sein soll, sondern genau eine Zeile darüber (in Spalte J). (Meine erklärung war wirklich nicht eindeutig).
Bei deinem Lösungsvorschlag sehe ich jetzt leider nicht, wo ich das ändern muss.
Gruß
Isabel
AW: Zelleninhalt löschen, wenn Bedingung erfüllt
06.08.2018 14:47:45
JoWE
aahhh! Dann so:
Sub versuch()
Dim a As String
Dim i As Long
ze = Sheets("A_Sammelrechnung").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To ze
If Cells(i, 9) = "" Then
a = Cells(i, 10)
Cells(i, 10) = ""
Else
Cells(i - 1, 10).NumberFormat = "@"
Cells(i - 1, 10) = a
End If
Next
End Sub

Gruß
Jochen
Anzeige
AW: Zelleninhalt löschen, wenn Bedingung erfüllt
06.08.2018 14:57:33
Isabel
Hallo,
jaa, danke!! Das funktioniert super!!
Gruß
Isabel
Danke für die Rückmeldung
06.08.2018 15:06:48
JoWE
AW: Zelleninhalt löschen, wenn Bedingung erfüllt
06.08.2018 15:11:24
Daniel
Hi
hier nochmal eine andere Makro-Variante:
Sub test()
Dim AR As Range
For Each AR In Range("J2:J" & Cells(Rows.Count, 10).End(xlUp).Row).SpecialCells( _
xlCellTypeConstants).Areas
If AR.Rows.Count > 1 Then AR.Resize(AR.Rows.Count - 1).ClearContents
Next
End Sub
Gruß Daniel
! Prima Lösung !
06.08.2018 15:16:21
JoWE
Danke für die Rückmeldung!
06.08.2018 15:22:16
Daniel
Gruß Daniel

207 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige