[gelöst] Makro ausführen nach Zelleingabe

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] Makro ausführen nach Zelleingabe

Re: Makro ausführen nach Zelleingabe

von mumpel » Mo, 28.07.2008 23:18

Danke, so kann man es auch machen. Im Test funktioniert es.

Re: Makro ausführen nach Zelleingabe

von turtle47 » Mo, 28.07.2008 22:57

wenn A1 die Zelle ist in der der Wert der Null werden soll überwacht werden soll. Sobald A1 0 wird wird automatisch die gewünschte Email gesendet.
Beispiel Zellwert.

Re: Makro ausführen nach Zelleingabe

von komma4 » Mo, 28.07.2008 22:49

Du findest bei mir auf der Webseite Code-Beispiele für Calc.

Beispiel für event-Listener
Das ist bei OOo nicht trivial.


Beispiel für Calc-Zellhintergrund

Code: Alles auswählen

lEvenColor = RGB(255,200,200)
lOddColor = RGB(188,188,188) 
'[...]
' actRange ist ein zuvor definierter Bereich, Zelle geht auch
actRange.setPropertyValue("CellBackColor", lOddColor)

Viel Erfolg!

[gelöst] Makro ausführen nach Zelleingabe

von mumpel » Mo, 28.07.2008 22:21

Hallo!

Kann man ein Makro nach eingabe in eine Zelle auslösen. Hier das Pentant aus Excel.

Code: Alles auswählen

Private Sub worksheet_change(ByVal target As Range)
On Error GoTo Ende
If target.Address = "$F$4" Then Call Aendern
Ende:
End Sub
Hier die Makros, welche ausgelöst werden sollen.
Funktionsweise: Zuerst werden anhand der Feiertagsliste und der Sonntage/Samstage selbige entsprechend eingefärbt. Anschließend wird in Spalte W ein F eingetragen (wird für weitere Berechnungen benötigt).

Code: Alles auswählen

Sub Aendern()
Application.EnableCancelKey = xlDisabled
On Error Resume Next
Application.ScreenUpdating = False
Sheets("Zeitnachweis").Unprotect passw
Week_end
Week_day
Week_frei
Week_end2
Week_day2
Sheets("Zeitnachweis").Protect passw
Application.ScreenUpdating = True
End Sub

Private Sub Week_end()
Application.EnableCancelKey = xlDisabled
Dim cell As Object
On Error Resume Next
Dim Zeile As Range
For Each cell In Worksheets("Zeitnachweis").Range("B13:B743")
If Weekday(cell, vbMonday) = 7 Then
cell.Font.ColorIndex = 3
ElseIf Weekday(cell, vbMonday) = 6 Then
cell.Font.ColorIndex = 5
Else
cell.Font.ColorIndex = 0
End If
Next cell
End Sub

Private Sub Week_end2()
Application.EnableCancelKey = xlDisabled
Dim cell As Object
On Error Resume Next
Dim Zeile As Range
For Each cell In Worksheets("Zeitnachweis").Range("AB13:AB743")
If Weekday(cell, vbMonday) = 7 Then
cell.Font.ColorIndex = 3
ElseIf Weekday(cell, vbMonday) = 6 Then
cell.Font.ColorIndex = 5
Else
cell.Font.ColorIndex = 0
End If
Next cell
End Sub

Private Sub Week_day()
Application.EnableCancelKey = xlDisabled
Dim cell As Object
On Error Resume Next
Dim Zeile As Range
For Each cell In Worksheets("Zeitnachweis").Range("B13:B743")
If cell.value = Sheets("Feiertage").Range("A1").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A2").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A3").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A4").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A5").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A6").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A7").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A8").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A9").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A10").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A11").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A12").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A13").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A14").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A15").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A16").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A17").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A18").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A19").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A20").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A21").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A22").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A23").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A24").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A25").value Then
cell.Font.ColorIndex = 3
Else
End If
Next cell
End Sub

Private Sub Week_day2()
Application.EnableCancelKey = xlDisabled
Dim cell As Object
On Error Resume Next
Dim Zeile As Range
For Each cell In Worksheets("Zeitnachweis").Range("AB13:AB743")
If cell.value = Sheets("Feiertage").Range("A1").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A2").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A3").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A4").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A5").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A6").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A7").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A8").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A9").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A10").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A11").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A12").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A13").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A14").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A15").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A16").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A17").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A18").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A19").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A20").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A21").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A22").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A23").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A24").value Then
cell.Font.ColorIndex = 3
ElseIf cell.value = Sheets("Feiertage").Range("A25").value Then
cell.Font.ColorIndex = 3
Else
End If
Next cell
End Sub

Private Sub Week_frei()
Application.EnableCancelKey = xlDisabled
Dim cell As Object
On Error Resume Next
Dim Zeile As Range
For Each cell In Worksheets("Zeitnachweis").Range("B13:B743")
If cell.value = Sheets("Feiertage").Range("A1").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A2").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A3").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A4").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A5").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A6").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A7").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A8").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A9").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A10").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A11").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A12").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A13").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A14").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A15").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A16").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A17").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A18").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A19").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A20").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A21").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A22").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A23").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A24").value Then
cell.Offset(0, 21).value = "F"
ElseIf cell.value = Sheets("Feiertage").Range("A25").value Then
cell.Offset(0, 21).value = "F"
Else
cell.Offset(0, 21).value = ""
End If
Next cell
End Sub
Danke!

Gruß, René

Nach oben