Anzeige
Archiv - Navigation
816to820
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
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellen mit Formatierung löschen

Zellen mit Formatierung löschen
02.11.2006 23:19:13
Rooker
Hallo Leute,
ich habe ein Problem und hoffe ihr könnt mir dabei helfen.
In einem Bereich "A9:A34" habe ich Zahlen stehen. Diese sind zum Teil durchgestrichen. Und genau diese durchgestrichenen Zahlen möchte ich löschen.
Wenn`s geht per VBA.
Ich danke euch schon mal im Voraus
Gruß Rooker

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

Betreff
Datum
Anwender
Anzeige
AW: Zellen mit Formatierung löschen
02.11.2006 23:31:32
Erich
Hallo Rooker,
zwei Möglichkeiten zum Ausprobieren:
Option Explicit
Sub Loesche_Durchgestr1()
Dim rng As Range
For Each rng In Range("A9:A34")
If rng.Font.Strikethrough Then rng.Clear
Next rng
End Sub
Sub Loesche_Durchgestr2()
Dim rng As Range
For Each rng In Range("A9:A34")
With rng
If .Font.Strikethrough Then
.Font.Strikethrough = False
.ClearContents
End If
End With
Next rng
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Zellen mit Formatierung löschen
03.11.2006 07:51:17
Rooker
Hallo Erich,
grundsätzlich funktionieren deine Routinen einwandfrei.
Erstmal vielen Dank dafür.
Doch scheint sich mein Problem etwas auszuweiten.
Als ich deine Routinen getestet habe, haben sie erstmal nicht funktioniert.
Als ich dann eine Beispielspalte angelegt habe und ein paar Zahlen mit Hand formatiert (ausgestrichen habe), liefen die Routinen sehr gut.
Doch meine Zahlen werden per "Bedingter Formatierung" durchgestrichen :(
Und da funktioniert das leider nicht
Hätte ich vielleicht erwähnen müssen. Ich wusste aber nicht, das es einen Unterschied macht, wie die Zahlen zu ihrer Unterstreichung kommen.
Hast du da vielleicht auch nen Tipp für mich?
Danke im Voraus
Gruß Sepp
P.S. ´Nätürlich bitte ich auch weiterhin alle anderen hier im Forum um Rat :)
Danke
Anzeige
AW: Zellen mit Formatierung löschen
03.11.2006 09:37:10
Erich
Hallo Rooker,
grundsätzlich ist es wohl möglich, mit VBA
- die max. 3 Formate bei bed. Formatierung durchzuflöhen, ob da "Strikethrough" vorkommt,
- dann zu prüfen, ob die jeweilige Bedingung erfüllt ist, die Zelle also tatsächlich gerade durchgestrichen ist.
Einfacher (aber dafür wartungsaufwändiger) wäre wohl, die Bedingungen direkt in VBA nachzuformulieren und zu testen,
ob sie erfüllt sind (die Zellen also durchgestrichen sein müssten).
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Zellen mit Formatierung löschen
Rooker
Hallo Erich,
ich hab mir fast gedacht, dass das nicht so einfach ist. Also ich bin auf keinen Fall in der Lage, die Sache so hinzubiegen, wie du es beschrieben hast. Dazu reichen meine spärlichen VBA-Kenntisse nicht aus. Aber lass es gut sein! Ich werd mir einfach irgendwas anderes einfallen lassen um die Sache irgendwie hinzukriegen.
Trotzdem nochmals
Vielen, vielen Dank für deine Mühe
Gruß Sepp
Anzeige
AW: Zellen mit Formatierung löschen
03.11.2006 18:27:55
paula
hi,
hier das Makro:
es überprüft den Bereich sowohl auf normale wie auf bedingte Formatierung

Sub Loesche_Durchgestr2()
Dim rng As Range
Dim i
For Each rng In Range("A9:A34")
With rng
If .Font.Strikethrough Then
.Font.Strikethrough = False
.ClearContents
End If
If .FormatConditions.Count > 0 Then
For i = 1 To .FormatConditions.Count
If .FormatConditions(i).Font.Strikethrough Then
.FormatConditions.Delete
.ClearContents
End If
Next i
End If
End With
Next rng
End Sub

Gruss Paula
AW: Zellen mit Formatierung löschen
03.11.2006 21:47:56
Rooker
Hallo Paula,
da kann ich nur eines sagen..........
Ich könnt dich küssen :)
Klappt hervorschauend. Eeeeeeendlich!!!
Tausend Dank dafür
Ich wollt mich schon aus dem Kellerfenster stürzen, doch das ist ja
nun nicht mehr nötig:)
Also nochmals vielen Dank
Gruß Sepp
Anzeige
AW: Zellen mit Formatierung löschen
03.11.2006 22:21:45
Erich
Hallo Sepp,
tja, vielleicht bremse ich damit deine Begeisterung, aber:
Paulas Code löscht auch nicht durchgestrichene Zellen. Er prüft ja nur ab, ob in den Bedingungen Strikethrough vorkommt,
nicht aber, ob für die Zelle die Bedingung auch tatsächlich erfüllt ist.
In folgendem Beispiel stand in A11:A12 das, was jetzt noch in B11:B12 zu sehen ist.
Die vier Zellen waren in gleicher Weise bedingt formatiert. A11 und B11 sind nicht größer als 0, also nicht durchgestrichen.
Das Makro löschte aber auch A11.
 AB
11 -123
12 123

Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
B111. / Zellwert ist grösser als 0Abc
B121. / Zellwert ist grösser als 0Abc

Formatierungen, insbesondere auch bedingte Formatierungen, mögen gut für die Optik einer Tabelle sein.
Für die Weiterverarbeitung (wie hier das Löschen) sind sie aber recht unpraktisch.
Da ist es meist geschickter, die Bedingungen in Formeln zu schreiben, deren Werte man gut weiterverarbeiten kann.
In dem Beispiel wäre es leicht, alle Zellen, deren Wert größer als 0 ist, zu identifizieren und zu löschen...
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zellen mit Formatierung löschen
04.11.2006 21:46:09
Rooker
Hallo Erich,
stimmt,
hab das Makro von Paula nur auf die Schnelle in einer Spalte mit lauter durchgestrichenen Zahlen getestet. Darum war ich euphorisch :)
(An dieser Stelle trotzdem "Danke" Paula)
Aber nun zu Dir Erich.
Also ich muss sagen, das hätte ich nie erwartet, dass sich jemand nochmal eines Problems annimmst, das ich schon als erledigt deklariert habe. Das ist wirklich Angegement hoch Drei. Hut ab!
Natürlich hast du meine Begeisterung nicht gebremst, ganz im Gegenteil. Nun seh ich vielleicht doch noch ne Möglichkeit, mein Problem zu lösen. Hab`s aber diesmal noch nicht getestet. Ich werde es morgen im Laufe des Tages testen und dann selbstverständlich Bericht erstatten :)
Also was soll ich sagen Erich?
Einfach..Tausend Dank
Gruß Sepp
Anzeige
AW: Zellen mit Formatierung löschen
04.11.2006 22:08:46
Erich
Hallo Sepp,
"Engagement hoch 3"? Nein, das war einfach meine Neugier auf die Problemlösung! Ich lerne auch hier dauernd dazu.
Dann habe ich den Irrtum erkannt und dazu etwas geschrieben.
(Ein wenig auch, weil ich ja weiter oben schon aufgeführt hatte, was alles zu prüfen wäre.)
Schön, dass zu weiter um die Lösung ringst und sie hier posten willst. So selbstverständlich sollte das sein, ist es aber oft genug nicht.
Schönen Sonntag! Grüße von Erich aus Kamp-Lintfort
AW: Zellen mit Formatierung löschen
05.11.2006 15:58:10
Rooker
Hallo Leute,
dass die Sache mit der bedingten Formatierung sehr schwer ist und ungeeignet, habe ich nun verstanden :)
Ich möchte nun gerne meine Frage anders formulieren.
-Im Bereich "A9:A34" stehen Zahlen, die durch SVerweis dorthinkommen.
-Im Bereich "F9:F34" stehen Datums.
-In der Zelle "E5" steht das heutige Datum.
Beispiel: Wenn das Datum in "F30" kleiner ist als das Datum in "E5", dann soll "A30" durchgestrichen sein, oder rote Schriftfarbe haben, oder irgendeine andere Formatierung.
Das ist doch dann keine bedingte Formatierung, oder? Und damit kann ich die Zelle(n) dann ja auch löschen.
Hier nochmal die extrem laienhafte Formulierung.
Wenn "F9:F34"kleiner"A5" dann "A9:A34" durchgestrichen.
Kann mir das jemand in VBA ausformulieren bitte.
Mein letzter Versuch :
Vielen Dank in Voraus
Gruß Sepp
Anzeige
AW: Zellen mit Formatierung löschen
05.11.2006 16:49:57
Erich
Hallo Sepp,
vermutlich sollen die Zahlen zu früheren Tagen "automatisch" durchgestrichen werden.
So wie du es formuliert hast: Was ist bedingte Formatierung, wenn nicht genau das?
Natürlich kann man mit VBA die Bedingung in einer Schleife prüfen und dann das Format auf durchgestrichen setzen.
Wann soll das laufen? Automatisch bei jeder Aktivierung des Blatts?
Wann soll gelöscht werden? Wird dazu ein Makro manuell gestartet?
Was spräche dagegen, ohne VBA die Bedingung zum Füllen einer Spalte mit eine Löschvermerk zu verwenden (wie unten Spalte H)?
Damit ließe sich leicht weiterarbeiten (sortieren, filtern, löschen, ...), ob sowohl in Excel als auch mit VBA.
 ABCDEFGH
5    05.11.2006   
6        
7        
8        
911    01.11.2006 Loe
1064    02.11.2006 Loe
1142    03.11.2006 Loe
125    04.11.2006 Loe
1315    05.11.2006  
1430    06.11.2006  

Formeln der Tabelle
ZelleFormel
E5=HEUTE()
H9=WENN(F9<$E$5;"Loe";"")
H10=WENN(F10<$E$5;"Loe";"")

Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
A91. / Formel ist =F9<$E$5Abc
A101. / Formel ist =F10<$E$5Abc

Noch ne Frage: Wozu steht das heutige Datum in E5? In Formeln bzw. VBA kann man HEUTE() bzw. Date verwenden.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zellen mit Formatierung löschen
05.11.2006 17:19:06
Rooker
Hallo Erich,
das isses doch :)
Das mit dem Löschvermerk ist ideal, ich bin nur niemals auf die Idee gekommen.
Damit geht es sehr gut, denn die Durchgestrichenen Zeilen werden manuell gelöscht, also in VBA wäre es ein Makro gewesen, das ich aufgerufen hätte.
Es geht nämlich um Folgendes:
Im Laufe eines Monats sammeln sich Teilnehmerdaten an die dann je nach Stand wieder gelöscht werden. Also durchgestrichen. Dann kopiere ich diese Tabelle in einen neuen Monat und erst in diesem neuen Monat will ich dann die durchgestrichenen Teilnehmer löschen. Da ich die verbleibenden Personen ja sowieso per Autofilter sortiere, kann ich das ja mit den anderen auch machen.
Mann oh Mann
Ich wäre echt nie auf die Idee mit dem Löschvermerk gekommen :)
Aber wie sagte meine Oma schon: Ohne Hirn ist man ein Depp :)
Ich dank dir echt vielmals Erich, ich denk nun bring ich es hin.
Gruß Sepp
P.S.Ich werd Montag oder Dienstag kurz eine Erfolgsmeldung posten :)
P.S.S Es steht schon die Formel =heute in E5, hab es hier nur als heutiges Datum erwähnt
Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige