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

Bedingte Formatierung bei Einfügen Zeile in ListObject

Forumthread: Bedingte Formatierung bei Einfügen Zeile in ListObject

Bedingte Formatierung bei Einfügen Zeile in ListObject
30.01.2024 10:39:53
FranziskusV
Hallo,
Ich bin leider kein Held mit VBA, daher würde ich mich über Hilfe freuen.
Ich füge über folgenden Code in eine intelligente Tabelle eine weitere Zeile ein. Ich möchte gerne hierbei auch die bedingte Formatierung der darüber befindlichen Zeile übernehmen. Weiss jemand wie ich das anpassen kann ?

Private Sub CommandButton3_Click()

'Fügt eine Blattzeile ein so dass die intelligente Tabelle 'Monatlicher Stand' um eine Zeile nach unten erweitert wird.
Dim ws As Worksheet
Dim meineTabelle As ListObject
Dim letzteZeile As Long
Dim blattZeilennummer As Long


Set ws = Me
Set meineTabelle = ws.ListObjects("TbMonatlicherStand") '!!! Namen der intelligenten Tabelle anpassen

' Ermittle die letzte Zeile in der Tabelle
letzteZeile = meineTabelle.ListRows.Count

' Überprüfe, ob die Tabelle Zeilen hat
If letzteZeile > 0 Then
' Ermittle die Blattzeilennummer der letzten Zeile
blattZeilennummer = meineTabelle.ListRows(letzteZeile).Range.row

' Springe eine Zeile tiefer und füge eine neue Zeile ein
ws.Rows(blattZeilennummer + 1).Insert Shift:=xlDown

' Jetzt kannst du mit der neu eingefügten Zeile arbeiten
MsgBox "Eine Zeile für eine weitere Übernahme wurde eingefügt"
Else
MsgBox "Die Tabelle hat keine Zeilen."
End If
End Sub


LG, FranziskusV
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
meineTabelle.Resize ....
30.01.2024 17:52:24
NoNet
Hallo Franziskus,

die Bedingte Formatierung der TABELLE wird automatisch übernommen, wenn Du eine weitere Zeile unten anfügst.
Das Problem in Deinem Code ist, dass er nur eine neue Leerzeile unterhalb der Tabelle einfügt, diese jedoch nicht wirklich vergrößert,

Folgende Codezeile könnte das Problem lösen :

 meineTabelle.Resize meineTabelle.Range.Resize(letzteZeile + 2)


Diese Codezeile muss direkt unterhalb dieser Zeile eingefügt werden :
ws.Rows(blattZeilennummer + 1).Insert Shift:=xlDown


Salut, NoNet
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige