Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  bestimmte bedingte Formatierung löschen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  bestimmte bedingte Formatierung löschen (5756 mal gelesen)
Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3358
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 21. Jul. 2015 08:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Servus,

ich erstelle über VBA die bedingte Formatierung mit Formel '=istformel' jetzt kommt es vor das kopieren etc. die bedingte Formatierung vervielfacht.

Kann man per VBA diese bestimmte bedingte Formatierung in der Tabelle löschen, damit ich sie gleich neu erstellen kann?

Anbei der Code falls ihn wer haben will.


Code:
Sub istformel_A_AZ()
        Application.ScreenUpdating = False
        istformel_namen_erstellen
        Cells.Select
        'Cells.FormatConditions.Delete
        Columns("A:XFD").Select
        Range("A11").Activate
        Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=istformel"
        Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Font
        .Bold = False
        .Italic = True
        .Color = -6279056
        .TintAndShade = 0
    End With
    With Selection.FormatConditions(1).Borders(xlLeft)
        .LineStyle = xlContinuous
        .Color = -6279056
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.FormatConditions(1).Borders(xlRight)
        .LineStyle = xlContinuous
        .Color = -6279056
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.FormatConditions(1).Borders(xlTop)
        .LineStyle = xlContinuous
        .Color = -6279056
        .TintAndShade = 0
        .Weight = xlHairline
    End With
    With Selection.FormatConditions(1).Borders(xlBottom)
        .LineStyle = xlContinuous
        .Color = -6279056
        .TintAndShade = 0
        .Weight = xlHairline
    End With
        Selection.FormatConditions(1).StopIfTrue = False
        Range("A1").Select
End Sub
Sub istformel_namen_erstellen()
'
' Makro1 Makro
'

'
    ActiveWorkbook.Names.Add Name:="istformel", RefersToR1C1:= _
        "=GET.CELL(48,INDIRECT(""ZS"",0))"
'    ActiveWorkbook.Names("istformel").Comment = ""
End Sub


------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier.
Wünsche: richtige Ebenen über Layer, Erweiterter Attribut-Editor "auffrischen", dyn. Xrefs, Mulitmodel, Halo4Texte, verschränkte Attribute , Linientypen überarbeiten (doppellinien) , XREF>VISRETAIN pro XREF, Fehler zwischen Normal MAP Civil beheben...
Schöne Grüsse aus der Steiermark  Bernd P.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 21. Jul. 2015 10:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

Hallo Bernd,

Interessante Sache, auch wenn ich das noch nie programmiert habe.
Ich vermute mal Du hast es schon getestet wenn Du vor dem Selection.FormatConditions.Add
ein Selection.FormatConditions.Delete machst? Werden aber alle gelöscht und nicht nur eine bestimmte.

Grüße
Klaus

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3358
Registriert: 07.06.2001

erstellt am: 21. Jul. 2015 11:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Selection.FormatConditions.Delete Type:=xlExpression, Formula1:="=istformel" bringt einen Fehler

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier.
Wünsche: richtige Ebenen über Layer, Erweiterter Attribut-Editor "auffrischen", dyn. Xrefs, Mulitmodel, Halo4Texte, verschränkte Attribute , Linientypen überarbeiten (doppellinien) , XREF>VISRETAIN pro XREF, Fehler zwischen Normal MAP Civil beheben...
Schöne Grüsse aus der Steiermark  Bernd P.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KlaK
Ehrenmitglied V.I.P. h.c.
Dipl. Ing. Vermessung, CAD- und Netz-Admin



Sehen Sie sich das Profil von KlaK an!   Senden Sie eine Private Message an KlaK  Schreiben Sie einen Gästebucheintrag für KlaK

Beiträge: 2624
Registriert: 02.05.2006

Office 2010; Office365
Visual Basic

erstellt am: 21. Jul. 2015 12:04    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

Schon klar, denn Du kannst damit ja nur alle bedingten Formatierungen in dem markierten Bereich löschen.
Ansonsten fällt mir nur ein die Auswahl zu durchlaufen und die Formatierungen der einzelnen Zellen zu untersuchen.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 25. Jul. 2015 19:37    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

Hi,

du musst in einer Schleife alle Zellen durchlaufen und für jede Zelle die bedingten Formatierungen wiederum in einer Schleife und dabei prüfen, ob es die relevante Bedingung ist - nach diesem Prinzip:

Code:
Sub BedFormatLoeschen()
    Dim rngZelle As Range
    Dim lngZaehler As Long
    Application.ScreenUpdating = False
    For Each rngZelle In Range("A11:XFD50")
        If rngZelle.FormatConditions.Count > 0 Then
            For lngZaehler = rngZelle.FormatConditions.Count To 1 Step -1
                If rngZelle.FormatConditions(lngZaehler).Type = xlExpression Then
                    If rngZelle.FormatConditions(lngZaehler).Formula1 = "=istformel" Then
                        rngZelle.FormatConditions(lngZaehler).Delete
                        DoEvents
                    End If
                End If
            Next lngZaehler
        End If
    Next rngZelle
    Application.ScreenUpdating = True
End Sub


Was mir bei deinem Code aufgefallen ist: du setzt für den gesamten Spaltenbereich A:XFD die bedingte Formatierung - somit müsstest du also auch alle Zellen in diesen Spalten und dazu jeweils alle Bedingungen durchlaufen. Ich habe den Code mal mit dem Zellbereich A11:XFD50 getestet - Zeitaufwand ca. 8 min. Wenn du also alle Zellen ändern willst, dann dauert das Jahre bis du durch bist...

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3358
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 27. Jul. 2015 06:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke Beverly sowas in der Richtung dachte ich mir schon nachdem KlaK das erwähnt hatte. "Ansonsten fällt mir nur ein die Auswahl zu durchlaufen und die Formatierungen der einzelnen Zellen zu untersuchen."

------------------
<----- Bitte Systeminfo eintragen, warum siehst du hier.
Wünsche: richtige Ebenen über Layer, Erweiterter Attribut-Editor "auffrischen", dyn. Xrefs, Mulitmodel, Halo4Texte, verschränkte Attribute , Linientypen überarbeiten (doppellinien) , XREF>VISRETAIN pro XREF, Fehler zwischen Normal MAP Civil beheben...
Schöne Grüsse aus der Steiermark  Bernd P.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 27. Jul. 2015 07:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

Nicht nur "Ansonsten" - es gibt nur diese eine Möglichkeit, wenn du einzelne bedingte Formatierungen löschen willst. 
Der generell einfachere Weg ist allerdings, wenn du für den Bereich die bedingte Formatierung komplett löschst und anschließend neu erstellst - den prinzipiellen Code hast du ja schon (für die eine Bedingung). Allerdings solltest du dabei auf Select verzichten können, weil man das in 99% aller Fälle kann.

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

pablo
Mitglied
Techniker


Sehen Sie sich das Profil von pablo an!   Senden Sie eine Private Message an pablo  Schreiben Sie einen Gästebucheintrag für pablo

Beiträge: 453
Registriert: 23.01.2002

Win10
Office 365
SE 2020

erstellt am: 27. Jul. 2015 08:21    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

Hi,

Mit
  ......
   For Each rngZelle In Range("A11:XFD50").SpecialCells(xlCellTypeAllFormatConditions).Cells
  .....
sollte es schneller laufen.

pablo

------------------
PST => Parametersteuerung für Solid Edge
TB Haberl

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Beverly
Mitglied
Dipl.-Geologe (Rentner)


Sehen Sie sich das Profil von Beverly an!   Senden Sie eine Private Message an Berverly  Schreiben Sie einen Gästebucheintrag für Berverly

Beiträge: 394
Registriert: 11.08.2007

erstellt am: 27. Jul. 2015 09:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Bernd P 10 Unities + Antwort hilfreich

Hi,

ich würde sagen, dass das nicht schneller läuft, denn der Fragesteller formatiert ja ALLE Zellen mit bedingter Formatierung, also müssen auch ALLE durchlaufen werden und nicht nur die SpecialCells.

------------------
Bis später,
Karin

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz