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

Vba wenn Zelle durchgestrichen dann ans Ende der Tabelle

Forumthread: Vba wenn Zelle durchgestrichen dann ans Ende der Tabelle

Vba wenn Zelle durchgestrichen dann ans Ende der Tabelle
28.08.2024 18:09:01
Chrisnw
Hallo, ich möchte gerne wenn der Zellen Inhalt von Spalte B durchgestrichen wird, die ganze Zeile ans Ende der Tabelle verschieben. Und dann noch den Inhalt der Zelle in Spalte C (in der gleichen Zeile) löschen. Kann mir jemand sagen wie ich das in VBA lösen kann. Danke schon mal
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vba wenn Zelle durchgestrichen dann ans Ende der Tabelle
28.08.2024 18:13:52
Christian
hallo Chris, meinst du sowas?

Private Sub Worksheet_Change(ByVal Target As Range)

Dim ws As Worksheet
Dim lastRow As Long
Dim currentRow As Long
Dim rng As Range

Set ws = ThisWorkbook.Sheets("Tabelle1") ' Namen des Arbeitsblatts anpassen

If Not Intersect(Target, ws.Columns("B")) Is Nothing Then
For Each rng In Target
currentRow = rng.Row

If rng.Font.Strikethrough = True Then

lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row + 1

ws.Rows(currentRow).Cut Destination:=ws.Rows(lastRow)

ws.Cells(lastRow, "C").ClearContents
End If
Next rng
End If
End Sub
Anzeige
AW: Vba wenn Zelle durchgestrichen dann ans Ende der Tabelle
28.08.2024 21:41:16
Chrisnw
Hi Christian,
danke für die schnelle Antwort. leider Funktioniert es nicht, keine Ahnung was ich falsch mache.
habe hier mal meine Muster Tabelle hochgeladen.

https://www.herber.de/bbs/user/171876.xlsm

wie gesagt möchte ich gerne wenn ich den Inhalt einer Zelle von Spalte B (Namen) durchstreiche, dann soll die ganze Zeile ans Ende der Tabelle verschoben werden. Und dann noch den Inhalt der Zelle in Spalte C (KW) in der gleichen Zeile löschen, dass sie leer ist.
vielleicht kannst du es dir nochmal ansehen was ich falsch gemacht habe.
vielen Dank

Anzeige
AW: Vba wenn Zelle durchgestrichen dann ans Ende der Tabelle
01.09.2024 10:38:38
Crisnw
Irgendwie hat es noch nicht funktioniert
AW: Vba wenn Zelle durchgestrichen dann ans Ende der Tabelle
01.09.2024 11:24:20
ralf_b
was ist "es"? Niemand von uns sitzt neben dir und sieht was du gemacht hast.
Das reine Formatieren des Texte als Durchgestrichen löst kein Change Event aus.
Es bleibt nur die aktive Auslösung des "machs" makros durch den User. Oder du erzählst uns was du sonst noch so machst in der Tabelle.
Dann liese sich evtl. eine automatische Lösung finden. Evtl mittels Button, oder Schnellstartleiste.
Anzeige
AW: Vba wenn Zelle durchgestrichen dann ans Ende der Tabelle
28.08.2024 21:07:39
daniel
Hi
wenn das nicht sofort automatisch passieren soll sondern nur auf anforderung, dann probier mal diesen Code:

Function xxx(Zelle As Range)

xxx = IIf(Zelle.Font.Strikethrough, "x", 1)
End Function

Sub Machs()
With ActiveSheet.UsedRange
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=xxx(RC2)"
If WorksheetFunction.Sum(.Cells) .Cells.Count Then
Intersect(.SpecialCells(xlCellTypeFormulas, 2).EntireRow, Columns(3)).ClearContents
.EntireRow.Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlNo
End If
.ClearContents
End With
End With
End Sub


auszuführen ist dann das Makro "Machs" (du darfst dir auch gerne kreativere Namen ausdenken)
das funktioniert aber nur bei manuellem Durchstreichen, nicht bei verwendung der Bedingten Formatierung.

Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige