1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Zellfarbe kurz ändern

Discussion in 'Office-Programme' started by MZurmuehlen, Oct 20, 2007.

Thread Status:
Not open for further replies.
  1. das könnte jetzt ein bisschen kompliziert werden.
    ich schreibe jetzt mal nur das rein was ich machen will und dann was passieren soll:
    ich gebe einen wert in spalte f ein und danach wird über ein makro(das ich schon rausgekriegt hab) die spalte f automatisch sortiert.
    jetzt soll der neue wert mit dem wert vorher verglichen werden(wobei es nicht passieren wird das der neue wert größer ist)und dann (wahrscheinlich) über eine if-abfrage entschieden werden wenn der neue wert der kleinste wert in spalte f ist dann soll die zellfarbe z.b. grün werden für 1 sek und dann wieder normal werden oder wenn der neue wert halt nur kleiner als der alte wert ist dann z.b. soll die zelle nur kurz gelb werden und dann wieder normal

    bisher hab ich viel gesucht aber nich wirklich etwas gefunden
    danke für eure hilfe im voraus
     
  2. Beverly

    Beverly Halbes Megabyte

    Hi,

    mal als Anregung, da ich nicht weiß, wie und wo du die Vergleichswerte übergibst und wie du ermittelst, welcher Wert der aktuell eingegebene und welcher der Vergleichswert ist: verwende für die kurzzeitige Farbänderung das Ereignis Application.Wait
     
  3. ich dachte vielleicht dass man die werte im vba-code dann variablen übergibt und dann per vba auch vergleicht
    bloß dann weiß ich nich mehr wie er die werte finden soll, denn das mit den farbänderungen kommt ja erst nach dem sortieren
     
  4. Beverly

    Beverly Halbes Megabyte

    Hi,

    wenn du den Code für das Sortieren und die Farbänderung nacheinenader im selben Makro ablaufen lässt, ist das doch kein Problem, die Vergleichswerte zu übergeben. Falls noch irgendwelche anderen Zwischenschritte erfolgen sollen und du deshalb 2 getrennte Makros verwendest, kannst du die betreffenden Variablen außerhalb der Makros dimensionieren - dann wird ihr Inhalt auch im 2. Makro erkannt.
     
  5. wie kriegt man denn jetzt die zuletzt bearbeitete zelle raus? ich mein da muss es doch ne kürzere form geben als eine ellenlange if-abfrage.
     
  6. ok ich bin mit deiner hilfe jetzt schon weit gekommen, hab jetzt aber ein problem mit den befehlen könntest du mir den code berichtigen
    hab hier einen kleinen auszug daraus als beispiel:
    Sub Zeile_faerben(Zelle)

    If Range("g3") = Zelle Then
    Range("d3").Cells.Interior.ColorIndex = 10
    Range("d3").Cells.Font.ColorIndex = 2
    Application.Wait (Now + TimeValue("0:00:01"))
    Range("d3").Cells.Interior.ColorIndex = 1
    Range("d3").Cells.Font.ColorIndex = 2

    ElseIf Range("g4") = Zelle Then
    Range("d4").Cells.Interior.ColorIndex = 46
    Range("d4").Cells.Font.ColorIndex = 1
    Application.Wait (Now + TimeValue("0:00:01"))
    Range("d4").Cells.Interior.ColorIndex = 1
    Range("d4").Cells.Font.ColorIndex = 2

    ElseIf Range("g5") = Zelle Then
    Range("d5").Cells.Interior.ColorIndex = 46
    Range("d5").Cells.Font.ColorIndex = 1
    Application.Wait (Now + TimeValue("0:00:01"))
    Range("d5").Cells.Interior.ColorIndex = 1
    Range("d5").Cells.Font.ColorIndex = 2
    ......
    End Sub
     
  7. Beverly

    Beverly Halbes Megabyte

    Hi,

    ich weiß leider nicht so richtig, wo das Problem ist.
     
  8. vielleicht sollte ich dir einfach mal die datei hier reinstellen dann kannst dir selbst mal ein bild davon machen
    als test hab ich erstmal das tabellenblatt ft1 verändert
     

    Attached Files:

  9. Beverly

    Beverly Halbes Megabyte

    Hi,

    ich habe erst einmal deine If-Abfragen ein wenig vereinfacht, ohne den Code direkt auf seine Richtigkeit geprüft zu haben

    Code:
    Sub Zelle_wiederfinden(Zelle)
        Dim inZeile As Integer
        For inZeile = 3 To 24
            If Cells(inZeile, "G") = Zelle Then
                Cells(inZeile, "F") = Zelle
                Exit Sub
            End If
        Next inZeile
    End Sub
    
    Sub Zeile_faerben(Zelle)
        Dim inZeile As Integer
        For inZeile = 3 To 24
            If Cells(inZeile, "G") = Zelle Then
                Cells(inZeile, "D").Interior.ColorIndex = 46
                Cells(inZeile, "D").Font.ColorIndex = 2
                Application.Wait (Now + TimeValue("0:00:01"))
                Cells(inZeile, "D").Interior.ColorIndex = 1
                Cells(inZeile, "D").Font.ColorIndex = 2
                Exit Sub
            End If
        Next inZeile
    End Sub
    
    Sub Zelle_finden_und_sichern(Zelle)
        Dim inZeile As Integer
        Zelle = 0
        For inZeile = 3 To 24
            If Cells(inZeile, "G") < Cells(inZeile, "F") Then
                Zelle = Cells(inZeile, "G")
                Exit Sub
            End If
        Next inZeile
        MsgBox "Zelle = " & Zelle
    End Sub
    
    Mir ist dabei aufgefallen, dass du in der Sub Zelle_finden_und_sichern(Zelle) die Spalten G und F miteinander vergleichst. Da die Spalte F aber leer ist, wird der Vergleich immer mit einem negativen Ergebnis enden und die Variable "Zelle" bleibt immer 0.

    Der einfachste Weg ist, den Namen in Spalte C auf eine Variable zu schreiben und anschließend zu prüfen, ob der Wert in Spalte G das Minimum ist. Eine andere Möglichkeit wäre zu prüfen, ob der betreffende Name jetzt in Zelle C3 zu finden ist - viele Wege führen nach Rom.
     

    Attached Files:

  10. das einzige was mir jetzt noch fehlt ist eine funktion, die mir die zuletzt eingegebene zahl aus der spalte g in die variable "zelle" schreibt
     
  11. Beverly

    Beverly Halbes Megabyte

    Hi,

    mir ist bis jetzt immer noch nicht klar, was du mit "variable Zelle" meinst. Ich kann auch nicht erkennen, dass du dir die hochgeladene Datei angeschaut hättest. Vielleicht hätte man dann darüber diskutieren können, was du eigentlich meinst.
     
  12. in der zip-datei hat die datei wieder keine endung
    sry weis auch nich wo der fehler liegt
     
  13. Beverly

    Beverly Halbes Megabyte

    Hi,

    hier noch mal mit der Zusatzendung TXT und mit nur einer Tabelle, da Datei sonst zu groß zum Hochladen ist.
     

    Attached Files:

  14. thx das wars
     
  15. hab jetzt noch ein kleines problem
    unten wo ich die fälle in der if-abfrage stehen hab
    die rot markierten zeilen funktionieren nich komischerweise
    siehe bild
     

    Attached Files:

  16. Beverly

    Beverly Halbes Megabyte

    Hi,

    da ich deinen jetzigen kompletten Code nicht kenne, wüsste ich nicht, wie ich das testen sollte.
     
  17. hier meine datei zum testen
     

    Attached Files:

  18. Beverly

    Beverly Halbes Megabyte

    Hi,

    dieses Mal habe ich Probleme beim Herunterladen und habe erst einmal eine Mail an den Webmaster geschickt.
     
  19. Hascheff

    Hascheff Moderator

    Ich habs gefunden: Spalte G ist durch die bedingte Formatierung immun gegen den Befehl.
     
  20. also muss ich die bedingte formatierung raus nehmen?
    aber in spalte D is doch auch ne bed. formatierung und da gibts anscheinend kein problem

    für beverly hab ich die datei nochmal hochgeladen
     

    Attached Files:

Thread Status:
Not open for further replies.

Share This Page