Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Symbolsätze per VBA
#1
Hallo zusammen,

ich bin leider ein Neuling was VBA-Programmierung angeht.

Ich habe eine Excel-Liste, die mehrere Felder mit einander vergleicht in dennen jeweils ein Datum hinterlegt ist.
Ist die Zelle blau hinterlegt und alle "wenn"-Funktionen erfüllt, färbt sich die Zelle rot bzw grün.
Da dies auf Dauer sehr unübersichtlich wird, würd ich dies gern über Smybolsätze (unter Bdeingten Formatierungen -> Symbolsätze -> Indikatoren -> grüner Haken - gelbes Ausrufezeichen- rotes Kreuz) lösen. Eine Bedingte Formatierung macht in meinem Fall, aufgrund der ernormen Datenmenge, keinen Sinn.

Ist die Bedinung erfüllt damit sich das Feld rot einfärbt, hätte ich gern das optisch nur das rote Kreuz zu sehen ist.
Ist die Bedinung erfüllt damit sich da Feld grün einfärbt, hätte ich gern das optisch nur der grüne Haken zu sehen ist.
In beiden Fällen soll es aber so sein, klickt man auf die Zelle dann erscheint das eingetragene Datum in der Bearbeitungsleiste.

Folgenden Code habe ich für die Farbe Rot und und Farbe grün bereits erstellt:
Ich arbeite mit einer For-Next-Schleife, i steht für Zeilen und a1 für Spalten, In A1, Spalte D sowie in der zu bearbeitenten Zelle steht ein Datum.

'rote farbe
If Worksheets("Übersicht").Cells(i, a1).Interior.ColorIndex = 5 Then
If Range("A1").Value - Range("D" & i).Value > 365 Or Worksheets("Übersicht").Cells(i, a1) = "" _
Or Worksheets("Übersicht").Cells(i, a1).Value < Range("D" & i).Value Then
Cells(i, a1).Interior.ColorIndex = 3
End If
End If

'grüne Farbe
If Worksheets("Übersicht").Cells(i, a1).Interior.ColorIndex <> xlNone And Worksheets("Übersicht").Cells(i, a1).Value - Range("D" & i).Value > 1 And Range("A1").Value - Range("D" & i).Value < 365 _
Or Worksheets("Übersicht").Cells(i, a1).Interior.ColorIndex <> xlNone And Worksheets("Übersicht").Cells(i, a1).Value - Range("D" & i).Value = 1 And Range("A1").Value - Range("D" & i).Value < 365 _
Then
Worksheets("Übersicht").Cells(i, a1).Interior.ColorIndex = 4
End If



Ich habe es bereits mit dem Makro-Rekorder versucht. Ich schaffe es allerdings nicht die Symbolsätze in meinen Code zu integrieren.

Ich bedanke mich jetzt schon für jede Hilfe bzw. Unterstützung.
Grüße Veronika
Antworten Top
#2
(14.06.2018, 08:09)Veronika schrieb: Eine Bedingte Formatierung macht in meinem Fall, aufgrund der ernormen Datenmenge, keinen Sinn.

Moin!
Prinzipiell gebe ich Dir Recht, dass bed. Form. eine Mappe ausbremsen können!
Aber: die bed. Form. wird nicht im ges. Blatt ständig neu berechnet, sondern nur in den sichtbaren Zellen (bei einer Neuberechnung, dies kann dann auch Scrollen sein)!
(Im maximierten Excel betrifft dies bei Standardzellen 960)
Musst Du einfach ausprobieren, ob dies nicht doch eine Option ist.

Den Rest habe ich mir noch nicht durchgelesen.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#3
Hallo Ralf,

schon mal vielen Dank für deine Antwort.

Die Bedingte Formatierung würde am Anfang noch problemlos funktionieren. Da die Zellen aber ständig nach unten, links oder rechts kopiert werden, erhöht sich dadurch die Anzahl der Bedingten Formatierung.
Hab dies bereits probiert und nach vier Wochen war die Anzahl der bedingten Formatierungen so groß, dass sich die Datei beim öffnen schon aufgehängt hat.

Grüße Veronika
Antworten Top
#4
Ja, das ist klar und ein typischer Fehler!
Durch ein "vollständiges" Kopieren wird jedesmal eine neue bed. Form. angelegt.
Gehe mal in die Tabelle und schaue bei Regeln verwalten nach, wie extrem fragmentiert Deine bed.Form-Bereiche sind.
Entweder man kopiert nur die Formeln oder nur die Werte.
Den Bereich erweitert man dann manuell im Regel-Manager der bed. Form. (Wird angewendet auf)

(oder verwendet gleich eine intelligente Tabelle (ListObject), die nimmt Dir nämlich vieles automatisch ab)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Auch ich bin gespannt deine Beispieldatei zu sehen.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#6
Hallo,

da dies leider immer wieder in Vergessenheit geraten ist, dass nur die Werte kopiert werden dürfen, möchte ich es eben jetzt probieren das die Bedingte Formatierung per VBA gesteuert wird.
Denn auf Dauer ist dies wahrscheinlicher die einfachere Lösung.
Aber leider reichen, wie im ersten Post beschrieben, meine Kenntnise hierfür nicht wirklich aus Blush

Grüße Veronika
Antworten Top
#7
Erstelle eine Beispieldatei mit Deiner gewünschten Formatierung.
Die Bedingung erklärst Du noch mal genauer, denn Dein unstrukturierter Code ist schwierig zu lesen.
Ich werde Dir dann einen Code schreiben, der trotzdem ;Wink weiterhin auf bed. Form aufbaut. 
(erst löschen aller bed. Form., dann Neusetzen im Block)

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#8
Hallo,
anbei die Beispiel-Datei.

Ja mein Code ist "etwas" chaotisch und ich glaube jeder die Datei aufmacht und den kompletten Code anschaut wird die Hände über den Kopf zusammenschlagen Blush


Angehängte Dateien
.xlsm   Beispiel.xlsm (Größe: 92,71 KB / Downloads: 11)
Antworten Top
#9
Hallöchen,

mal sehn, ob noch einer antwortet. Die Beispieldatei sollte ja nicht für umsonst verlangt worden sein...
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#10
Hi,

dann hole ich die Frage und die Datei mal wieder in den Vordergrund!
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste