6.6k Aufrufe
Gefragt in Tabellenkalkulation von
Moin Moin Ihr Fleissigen,

ich suche ein Makro das folgendes können muss.

Wenn in F6 der Text Urlaub steht, sollte in B6 der Wert 8 eingetragen werden.
Wenn in F7 der Text Urlaub steht, sollte in B7 der Wert 8 eingetragen werden.
usw. bis Zeile 36

Vorab schon mal vielen Dank

Gruß Nordsee-Nacken

8 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Nick,

warum Makro? Warum nicht einfach WENN()

Gruß Hajo
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

schreibe in Zelle B6

=Wenn(F6="Urlaub";8; "hier was sonst passieren soll")

und ziehe dies bis Zeile 36 nach unten

Gruß

Helmut
0 Punkte
Beantwortet von
Moin,

Die Idee war meine erste, abergeht leider nicht, da in diesen Zellen Werte eingegeben weden müssen. Deshalb brauch ich diese Funktion als VBA

Gruß

Nordsee-Nacken
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

wenn ein Wert eigebenen wird, dann trifft die Wenn()-Bedingung ja nicht zu und wird somit einfach überschrieben.
Fall erledigt.

Gruß

Helmut
0 Punkte
Beantwortet von
Ja, das ist schon klar, Was passiert aber wenn der Wert wieder gelöscht wird? Dann ist die Formatierung ja auch weg, oder ?
0 Punkte
Beantwortet von
Hallo Nordsee-Nacken,
Code in Tabelle eintragen.

Gruß
fedjo


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim RaBereich As Range, RaZelle As Range
Set RaBereich = Range("F6:F36")
Application.EnableEvents = False
For Each RaZelle In Range(Target.Address)
If Not Intersect(RaZelle, RaBereich) Is Nothing Then
If RaZelle.Value = "Urlaub" Then RaZelle.Offset(0, -4) = 8
End If
Next RaZelle
Application.EnableEvents = True
Set RaBereich = Nothing
End Sub
0 Punkte
Beantwortet von
Danke fredjo,

klappt super :) so meinte ich es

Ein fettes Dankeschön
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo,

das Problem ist ja schon als glöst markiert. Es geht aber auch eine Lösung ohne VBA.
Bedibngte Formatierung, For,mel ist =F6="Urlaub", Zellenformat Benutzerdefiniert und als Format "8" intragen. Dann intressiert nicht was vorher drin steht es wird 8 angezeigt.

Gruß Hajo
...