EXCEL VBA Farbcode Durchstreichen MSG BOX
#31
Neu Version neues Glück :32:

Sub EinfärbenZwei()
Dim z As Long
Dim zm As Long

With Tabelle1
    zm = .Cells(Rows.Count, 1).End(xlUp).Row
    'Tabelle auf Standardformatierung zurücksetzen
    With .Range("A5:J" & zm)
        .Interior.ColorIndex = xlNone
        .Font.Color = vbBlack
        .Font.Strikethrough = False
    End With
   
        For z = 5 To zm
       
        If .Range("H" & z).Value <> "" Then
            Datum = InputBox("Geben Sie ein Datum ein:  (TT.MM.JJJJ)")
            .Range("I" & z).Value = Datum
            Ersatz = InputBox("Durch welches Formular wird das Formular ersetzt?")
            .Range("J" & z).Value = Ersatz
            With .Range("A" & z, "G" & z)
                .Interior.Color = vbRed
                .Font.Color = vbWhite
                .Font.Strikethrough = True
            End With
            .Range("G" & z).Value = "ersetzt"
               
            ElseIf .Cells(z, 1).Value = .Cells(z + 1, 1).Value Then
                .Range("A" & z, "G" & z).Interior.Color = vbRed
                .Range("G" & z).Value = "ausgelaufen"
           
            Else
                .Range("A" & z).Interior.Color = vbGreen
                .Range("B" & z).Interior.Color = vbGreen
                .Range("G" & z).Interior.Color = vbGreen
                .Range("G" & z).Value = "aktiv"
        End If
       
       Next z
End With


VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 12 - mit VBAHTML 12.6.0


Ein Eintrag in Spalte G ist nicht erforderlich.

Gruß
Ich


.xlsm   Hilfe_Ich.xlsm (Größe: 22,52 KB / Downloads: 2)
Top
#32
(21.09.2016, 13:27)IchBinIch schrieb: Neu Version neues Glück :32:


Ein Eintrag in Spalte G ist nicht erforderlich.

ja also zu 99% perfekt :)

Ds einzige was mir noch aufgefallen ist: er erkennt neue "x" (super) :)

Aber er überschreibt auch die alten Werte. Würde es Sinn machen, abzufragen ob in der Spalte nebendran ein Datum steht? Also if not ""?
S

Swas gibt es doch oder? :)

Also dass er nix verändert wenn bereits etwas eingetragen wurde?

Und anschließend noch die frage ... wenn ich das direkt im Modul einfüge funktioniert das Makro dann auch ohne button? :)
Top
#33
Ja das geht. Aber heute nicht mehr  :21:
Top
#34
(21.09.2016, 20:13)IchBinIch schrieb: Ja das geht. Aber heute nicht mehr  :21:

Hehe :).  Kein Problem.

Ih wollte es mit einer if not Abfrage abfangen und dann ein goto einsetzen, aber dsnn meckert er bei dem elseIf weiter unten :(
Top
#35
(21.09.2016, 20:13)IchBinIch schrieb: Ja das geht. Aber heute nicht mehr  :21:

Bevor ich es vergesse ... hab den Sprung jetzt gemacht .... würde theoretisch auch funktionieren .... ABER da du am anfang die Tabelle farblich zurücksetz (finde ich eine gute idee) greift natürlich mein befehlt bzgl.  If "i" <> "" then goto :)

Also macht er keine abfrage mehr bzgl datum / Formular was ja gut ist, aber die farbe ist eben auch weg :)



Und wahrscheinlich sagst du bestimmt auch .... keine sprünge machen Tongue
Top
#36
Manchmal muss man springen :32:

Kommentier einfach den 1. With-Block aus.
Dann wird nichts zurück gesetzt.
Top
#37
(21.09.2016, 20:54)IchBinIch schrieb: Manchmal muss man springen :32:

Kommentier einfach den 1. With-Block aus.
Dann wird nichts zurück gesetzt.


Hatte ich auskommentiert .... aber ich finde die idee echt gut.

Ich versuche gerade die werte wieder zu streichen und rot zu färben wenn bereits was drin steht, aber dann kolidiert es mit dem goto befehl .... vba .. eine hassliebe ,:)
Top
#38
Du willst prüfen ob nebenan kein Datum steht?

Dann teste mal so

Code:
If .Range("H" & z).Value = "x" And Not IsDate(.Range("I" & z)) Then
Top
#39
(21.09.2016, 21:49)IchBinIch schrieb: Du willst prüfen ob nebenan kein Datum steht?

Dann teste mal so

Code:
If .Range("H" & z).Value = "x" And Not IsDate(.Range("I" & z)) Then

Ne hängt er sich auf
Top
#40
(21.09.2016, 22:08)freeloader1986 schrieb: Ne hängt er sich auf

Quäl dich heut nimmer unötig weiter.

Hbs mit deiner formel auch nochmal probiert ... auch nochmal angeschrieben auf deine formel aber dann führt er ned weiter aus
Top


Gehe zu:


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