Microsoft Excel

Herbers Excel/VBA-Archiv

Bedingte Formatierung

Betrifft: Bedingte Formatierung von: walter
Geschrieben am: 04.11.2012 12:50:05

Hallo,
ich möchte gern, wenn was in der Zelle daneben steht, soll
in der Zelle das akt. Datum als Wert eingesetzt werden.
Habe das mal im Netz gefunden, dies läuft, weiß allerdings
nicht wie ich die Formel anpassen muß.
mfg walter

ActiveCell.FormulaR1C1 = "=TODAY()"
ActiveCell.Value = ActiveCell.Value

  

Betrifft: AW: Bedingte Formatierung von: Matze,Matthias
Geschrieben am: 04.11.2012 13:44:07

Hallo Walter,
nur für "eine" bestimmte Zelle?
Wenn nun in B1 was geschrieben wird,dann erhält A1 das Datum von Heute.
Formel in A1 =Wenn(B1>0;Heute();"")
Gruß Matze


  

Betrifft: Leider kein Datum von: walter
Geschrieben am: 04.11.2012 13:56:06

Hallo Matze,
habe es so eingesetzt, leider kein Datum.
Habe zusätzlich Format Hintergrundfarbe eingesetzt, die wird angezeigt.
=WENN(V5>0;HEUTE();"")

mfg walter


  

Betrifft: Und ich brauch dies als Wert von: walter
Geschrieben am: 04.11.2012 14:00:04

Hallo Matze,
ich brauch dies dann als Wert, da sich das Datum ein Tag später nicht verändern darf.
Deshalb hatte ich dies unter bedingte Formatierung hinterlegt.
mfg walter


  

Betrifft: AW: Bedingte Formatierung von: Matze,Matthias
Geschrieben am: 04.11.2012 14:11:54

 AB
104.11.201255

Formeln der Tabelle
ZelleFormel
A1=WENN(B1>0;HEUTE();"")

Bedingte Formatierungen der Tabelle
ZelleNr.: / BedingungFormat
A11. / Formel ist =WENN(B1>0;HEUTE();"")Abc


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4


  

Betrifft: Bei mir nicht Warum auch immer von: walter
Geschrieben am: 04.11.2012 15:00:20

Hallo Matze,
=WENN(V5>0;HEUTE();"")
steht genau so drin, warum klappt es nicht ?
Wie funktioniert die Excel Darstellung, habe mir gerade Exce Jeanie HTML 4 runtergeladen.

mfg walter


  

Betrifft: AW: Bei mir nicht Warum auch immer von: Tino
Geschrieben am: 04.11.2012 15:10:46

Hallo,
ich habe es so verstanden, dass dieses Datum fest eingetragen werden soll.
Mit VBA würde ich dies so machen, Code steht im VBA in der Tabelle1.
Wenn Du in Spalte B ab Zeile 2 etwas einträgst wird in A das aktuelle Datum geschrieben.
Wenn der Eintrag wieder gelöscht wird, wird auch das Datum wieder entfernt.

https://www.herber.de/bbs/user/82473.xls

Gruß Tino


  

Betrifft: @Tino,... von: Matze,Matthias
Geschrieben am: 04.11.2012 15:26:31

Hi,
Walter wollte das als "Wert" in der Zelle haben,
hab das vorher auch total überlesen.
Ginge das auch mit Formeln?
Matze


  

Betrifft: war so nicht gewollt von mir... von: Tino
Geschrieben am: 04.11.2012 15:41:53

Hallo,
hab wohl einen Fehler beim …Value = …Value
So war es eigentlich gewollt.

https://www.herber.de/bbs/user/82474.xls

Nur mit Formel?
Vielleicht wenn man die Iterative Berechnung aktiviert,
könnte sich die Formel auf sich selbst beziehen.
Habe ich jetzt aber nicht getestet.

Gruß Tino


  

Betrifft: mit Iterative Berechnung von: Tino
Geschrieben am: 04.11.2012 15:50:12

Hallo,
habe mal noch so mit Formel versucht.
Die Iterative Berechnung muss aktiviert sein.
Habe in der Formel mal Jetzt() verwendet, dann kann man es besser erkennen.

Nicht ausgiebig getestet.
https://www.herber.de/bbs/user/82475.xls

Gruß Tino


  

Betrifft: AW: mit Iterative Berechnung von: Matze,Matthias
Geschrieben am: 04.11.2012 15:54:13

Hallo Tino,
ich weis aber nicht ob das so gewollt ist von Walter, würden dann nicht alle Formeln im Blatt davon betroffen sein ? Vermutlich ja will das jetzt nicht testen.
Habe deine Code abgeändert im Bezug auf NUR Zelle V5 und der Zielzelle T5:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngRange As Range
Set rngRange = Intersect(Range("V5"), Target)
If rngRange Is Nothing Then Exit Sub
Application.EnableEvents = False
    rngRange.Offset(0, -2).Value = Date 'Zielzelle T5
Application.EnableEvents = True
End Sub



  

Betrifft: AW: mit Iterative Berechnung von: Tino
Geschrieben am: 04.11.2012 15:58:04

Hallo,
ach er will nur eine Zelle, hab ich wohl überlesen.
Bei nur mit Formel ging es nur um die machbarkeit.

Gruß Tino


  

Betrifft: Hallo Matze von: walter
Geschrieben am: 04.11.2012 18:21:23

Hallo Matze,
hatte gerade geschrieben, habe leider 2 Change-Ereign. aber nur eins
klappt.
mfg walter


  

Betrifft: So bin wieder da von: walter
Geschrieben am: 04.11.2012 18:18:09

Hallo Tino,
das gefällt mir.
Habe aber noch ein Change-Ereig. das jetzt nichtmehr funktioniert.
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("AA:AA")) Is Nothing Then

' Application.EnableEvents = False
With Target
'Wenn - an 2.Stelle:
If Mid(.Text, 2, 1) = "-" Then
.Value = Application.WorksheetFunction.Substitute(Application.WorksheetFunction.Substitute(Target, "-", ""), " ", "")
.NumberFormat = "0 ""-"" 000 00000"
'Wenn Eingabe mit 06 beginnt:
' ElseIf Left(.Text, 2) = "06" Then
' ElseIf Left(.Text, 2) = "06" Or Left(.Text, 1) = "6" Then 'von Matthias
ElseIf Left(.Text, 2) = "00" Or Left(.Text, 1) >= "0" Then

.Value = Application.WorksheetFunction.Substitute(Target, " ", "")
.NumberFormat = "00 000 00000" 'so stand es
End If
End With
Application.EnableEvents = True

leider funktioniert immer nur eins.
Geht das irgendwie das beides läuft ?
mfg walter


  

Betrifft: Weiter Hilfe nötig,... von: Matze,Matthias
Geschrieben am: 04.11.2012 19:01:56

Hallo Walter,
markier bitte deine Beiträge als "offen" wenn noch Fragen sind, dann sieht das Jeder.

Das Change Ereignis darf nur einmalig auf das Tabellenblatt gebracht werden,das heißt das die Codezeilen dort im 1ten Ereignis mit untergracht werden müssen.
Da wird dir mal ein Experte Helfen müssen, ich lasse deshalb diesen Beitrag offen.



viel Glück bei der Umsetzung
Gruß Matze


  

Betrifft: Danke Matze -) von: walter
Geschrieben am: 04.11.2012 19:04:36

Hallo Matze,
danke Du dich gemeldet hast.
Dann mach ich Schluss und mal NEU ins Forum setzen,
mfg walter


  

Betrifft: AW: So bin wieder da von: Tino
Geschrieben am: 04.11.2012 19:22:25

Hallo,
dann trennen wir die beiden Teile voneinander.

Deinen Codeteil habe ich jetzt nicht getestet!

Dim rngRange As Range
Set rngRange = Intersect(Range("B2:B" & Rows.Count), Target)
If rngRange Is Nothing Then
    Application.EnableEvents = False
        rngRange.Offset(0, -1).FormulaR1C1 = "=IF(RC2<>"""",TODAY(),"""")"
        rngRange.Offset(0, -1).Value = rngRange.Offset(0, -1).Value
    Application.EnableEvents = True
End If

If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("AA:AA")) Is Nothing Then
    Application.EnableEvents = False
    With Target
        'Wenn - an 2.Stelle: 
        If Mid(.Text, 2, 1) = "-" Then
        .Value = Application.WorksheetFunction.Substitute(Application.WorksheetFunction.Substitute(Target, "-", ""), " ", "")
        .NumberFormat = "0 ""-"" 000 00000"
        'Wenn Eingabe mit 06 beginnt: 
        ' ElseIf Left(.Text, 2) = "06" Then 
        ' ElseIf Left(.Text, 2) = "06" Or Left(.Text, 1) = "6" Then 'von Matthias 
        ElseIf Left(.Text, 2) = "00" Or Left(.Text, 1) >= "0" Then
        
        .Value = Application.WorksheetFunction.Substitute(Target, " ", "")
        .NumberFormat = "00 000 00000" 'so stand es 
        End If
    End With
    Application.EnableEvents = True
End If
Gruß Tino


  

Betrifft: korrektur... von: Tino
Geschrieben am: 04.11.2012 19:24:06

Hallo,
sorry, war zu schnell.

Dim rngRange As Range
Set rngRange = Intersect(Range("B2:B" & Rows.Count), Target)
If Not rngRange Is Nothing Then
    Application.EnableEvents = False
        rngRange.Offset(0, -1).FormulaR1C1 = "=IF(RC2<>"""",TODAY(),"""")"
        rngRange.Offset(0, -1).Value = rngRange.Offset(0, -1).Value
    Application.EnableEvents = True
End If

If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("AA:AA")) Is Nothing Then
    Application.EnableEvents = False
    With Target
        'Wenn - an 2.Stelle: 
        If Mid(.Text, 2, 1) = "-" Then
        .Value = Application.WorksheetFunction.Substitute(Application.WorksheetFunction.Substitute(Target, "-", ""), " ", "")
        .NumberFormat = "0 ""-"" 000 00000"
        'Wenn Eingabe mit 06 beginnt: 
        ' ElseIf Left(.Text, 2) = "06" Then 
        ' ElseIf Left(.Text, 2) = "06" Or Left(.Text, 1) = "6" Then 'von Matthias 
        ElseIf Left(.Text, 2) = "00" Or Left(.Text, 1) >= "0" Then
        
        .Value = Application.WorksheetFunction.Substitute(Target, " ", "")
        .NumberFormat = "00 000 00000" 'so stand es 
        End If
    End With
    Application.EnableEvents = True
End If
Gruß Tino


  

Betrifft: AW: Bedingte Formatierung von: Matze,Matthias
Geschrieben am: 04.11.2012 15:01:41

Hallo Walter,
'hier als Wert in Zelle U5

If Range("V5") > 0 Then 'Abfragezelle
Range("U5").Value = Date ' Zielzelle
End If

Matze


  

Betrifft: kommmmmisch von: walter
Geschrieben am: 04.11.2012 15:05:03

Hallo Matze,
die Zelle wird Grün, wenn in V5 Wert drin steht.
Nur das Datum fehlt.
Die Formatierung steht in T5 weil ich eine freie Spalte habe-
mfg walter


  

Betrifft: AW: kommmmmisch von: Matze,Matthias
Geschrieben am: 04.11.2012 15:11:13

Sub Datumsetzen()
If Range("V5") > 0 Then
    Range("T5").Value = Date
    Range("T5").NumberFormat = "m/d/yyyy"
    Range("T5").Interior.ColorIndex = 10 'grün
End If
End Sub



  

Betrifft: AW: kommmmmisch von: walter
Geschrieben am: 04.11.2012 15:14:41

Hallo Matze,
habe auch getestet:

Sub Makro1()
  If Range("V5") > 0 Then 'Abfragezelle
 Range("T5").Value = Date ' Zielzelle
 End If
End Sub
das klappt aber nicht die Formel in der bedingten Formatierung,
aber die Einfärbung wird ausgeführt.
=WENN(V5>0;HEUTE();"")
dies steht in T5,
mfg walter


  

Betrifft: Habe eigentlich keinen Bock mehr, diese blöde... von: walter
Geschrieben am: 04.11.2012 15:25:06

Hallo Tino,
habe deine Formel reingesetzt.
Das ist i.o.
Ich finde es allerdings blöd, die Zelle wird Grün aber das Datum steht nicht
drin.
mfg walter


  

Betrifft: AW: Habe eigentlich keinen Bock mehr, diese blöde... von: Matze,Matthias
Geschrieben am: 04.11.2012 15:41:33

Walter,
SCHREIB die FORMEL in die ZELLE in T5 =Wenn(V5<>"";Heute();"")
in die bedingte Formatierung der Zelle T5 die Formel =WENN(V5<>"";HEUTE();"")
allerdings ist es dann KEIN WERT.

Das geht nur mit dem MAKRO was ich dir zuletzt gesendet habe.
dieses musst du manuell ausführen, wenn dies automatisch passieren soll,
muss man das dementsprechend abändern.

Matze


 

Beiträge aus den Excel-Beispielen zum Thema "Bedingte Formatierung"