HERBERS Excel-Forum - das Archiv

Thema: zwei Makro in einem zusammenführen?

zwei Makro in einem zusammenführen?
mablu
Hallo ich möchte zwei Makros mit doppelklick ausführen, je einzeln gehen sie Tip Top, wenn ich sie im Selben Tabellenblatt einfüge kommt eine Fehlermeldung und es geht nichts?
Ich denke man muss sie in einem Makro zusammenführen, aber alles was ich bisher probierte geht nicht ich weiss nicht weiter?


Hier die Makros



Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Bereich As Range
Set Bereich = Me.Range("H7:H35")
If Not Intersect(Target, Bereich) Is Nothing Then
Cancel = True
Target = "x"
End If
End Sub




Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Const intSpalte = 1 'Spalte mit Checkboxen
'Nicht ausführen, wenn Doppelklick in anderer Spalte
If Target.Column <> intSpalte Then Exit Sub
'Standardmäßiges Doppelklick-Ereignis ausschalten
Cancel = True
If Target = "o" Then
'Leere Checkbox abhaken
Target.Formula = "þ"
ElseIf Target = "þ" Then
Target.Formula = "o"
'Abgehakte Checkbox ausschalten
ElseIf Target = "" Then
Target.Formula = "o"

End If
End Sub


wer kann mir helfen?

LG mablu
AW: zwei Makro in einem zusammenführen?
{Boris}
Hi,

pro Tabellenblatt gibt es ein bestimmtes Eventmakro immer nur EIN mal.
Ergo musst Du beide Code in EINEM Double-Klick-Event zusammenführen.

Aus der Hand und daher auch nicht formatiert:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Bereich As Range
Const intSpalte = 1 'Spalte mit Checkboxen
Set Bereich = Me.Range("H7:H35")
If Not Intersect(Target, Bereich) Is Nothing Then
Cancel = True
Target = "x"
Exit Sub
End If

'Nicht ausführen, wenn Doppelklick in anderer Spalte
If Target.Column <> intSpalte Then Exit Sub
'Standardmäßiges Doppelklick-Ereignis ausschalten
Cancel = True
If Target = "o" Then
'Leere Checkbox abhaken
Target.Formula = "þ"
ElseIf Target = "þ" Then
Target.Formula = "o"
'Abgehakte Checkbox ausschalten
ElseIf Target = "" Then
Target.Formula = "o"

End If
End Sub

VG, Boris
AW: zwei Makro in einem zusammenführen?
mablu
Danke das klappt jetzt, noch eine Frage wenn ich durch nochmaligen doppelklick das x wieder auflösen möchte was müsste ich dann am Makro ändern?

Gruss und Dank
mablu
AW: zwei Makro in einem zusammenführen?
{Boris}
Hi,

ersetze

Target = "x"

durch

If Target = "x" Then Target.ClearContents Else Target = "x"

VG, Boris
AW: gelöst!
mablu
Super ich habs hingekriegt :)

Vielen Dank
schönes Wochenende mablu