Guten Tag in die Runde. Ich möchte in einer Datei etwas einbauen, wozu ich mich aus einer anderen habe inspirieren lassen. Es geht hierbei um das öffnen eines Formulars per Doppelklick in jeder Zelle einer bestimmten Spalte. Nun habe ich das Formular erstellt, den Makrotext zerpflückt und übernommen, was ich nach meinem Laienverständnis theoretisch benötige :-)Jedoch erhalte ich beim Doppelklick den Laufzeitfehler 424 und alles googeln, überlegen und mir raus schreiben was das Makro macht, lässt mich nicht den Fehler finden. Ich habe einfach kaum Ahnung davon :-( Das Makro zum Ausführen ist:
{Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Target.Column = 18 And Target.Value >= "" Then Freigabemaske.Show Cancel = True End If End Sub}
Hinter dem Formular steht:
{Private Sub aktuellesDatum_Change() End Sub Private Sub UserForm_Initialize() 'Rechnungspruefung aktiv? If ActiveCell.Offset(0, 41).Value = "1" Then CheckPruefung.Value = True Else CheckPruefung.Value = False End If 'Aktivierung Rechnungsbuchung If ActiveCell.Offset(0, 41).Value = "1" Then CheckBox2.Enabled = True SignGebucht.Enabled = True Else CheckBox2.Enabled = False SignGebucht.Enabled = False End If 'Rechnungsbuchung aktiv? If ActiveCell.Offset(0, 48).Value = "1" Then CheckBox2.Value = True Else CheckBox2.Value = False End If 'Rechnungsprüfung aktiv/deaktiv? If ActiveCell.Offset(0, 48).Value = "1" Then CheckPruefung.Enabled = False SignGeprueft.Enabled = False Else CheckPruefung.Enabled = True SignGeprueft.Enabled = True End If 'Rechnungbucher eingetragen DREI If ActiveCell.Offset(0, 42).Value >= "" Then SignGebucht.Value = ActiveCell.Offset(0, 42).Value Else SignGebucht.Value = "" End If 'Freigebender Mitarbeiter eingetragen ZWEI If ActiveCell.Offset(0, 47).Value >= "" Then SignGeprueft.Value = ActiveCell.Offset(0, 47).Value Else SignGeprueft.Value = "" End If 'Eintragenden Mitarbeiter? EINS If ActiveCell.Offset(0, 45).Value >= "" Then SignEingetragen.Value = ActiveCell.Offset(0, 45).Value Else SignEingetragen.Value = "" End If 'ActiveCell.Offset(0, 42).Font.Color = RGB(0, 255, 0) 'ActiveCell.Offset(0, 44).Font.Color = RGB(0, 0, 255) 'Datum anzeigen aktuellesDatum.Value = Date 'Datum eingetragen anzeigen TextBoxRegDate.Value = ActiveCell.Offset(0, 44).Value 'Datum freigabe anzeigen DateGeprueft.Value = ActiveCell.Offset(0, 46).Value 'Datum freigabe anzeigen TextBox4.Value = ActiveCell.Offset(0, 43).Value End Sub Public Sub Daten1() Dim j As Integer Dim i As Integer Dim k As Integer j = ActiveCell.Row k = ActiveCell.Column - 1 i = ActiveCell.Column - 1 If SignGebucht.Value = "" And CheckBox2.Value = True Then MsgBox ("Bitte Kürzel eingeben") Exit Sub End If If SignGeprueft.Value = "" And CheckPruefung.Value = True Then MsgBox ("Bitte Kürzel eingeben") Exit Sub End If 'Rechnungsprüfung If CheckPruefung.Value = True Then 'While k >= 1 ' ActiveCell.Offset(0, -(k)).Font.Color = RGB(0, 0, 0) ' k = k - 1 'Wend ActiveCell.Offset(0, 41).Value = "1" Else 'While k >= 1 ' ActiveCell.Offset(0, -(k)).Font.Color = RGB(255, 0, 0) ' k = k - 1 'Wend ActiveCell.Offset(0, 41).Value = "0" End If ActiveCell.Offset(0, 42).Value = SignGebucht.Value 'RechnungsBuchung 'If CheckBox2.Value = True Then 'While k >= 1 ' ActiveCell.Offset(0, -(k)).Font.Color = RGB(0, 0, 0) ' k = k - 1 ' Wend 'ActiveCell.Offset(0, 48).Value = "1" 'Else ' While k >= 1 ' ActiveCell.Offset(0, -(k)).Font.Color = RGB(255, 0, 0) ' k = k - 1 'Wend 'ActiveCell.Offset(0, 48).Value = "0" 'End If 'Speicherung eintragender Mitarbeiter ActiveCell.Offset(0, 45).Value = SignEingetragen.Value 'Speicherung Datum Anlage If ActiveCell.Offset(0, 44).Value = "" Then ActiveCell.Offset(0, 44).Value = aktuellesDatum.Value Else End If 'Speicherung prüfender Mitarbeiter ActiveCell.Offset(0, 47).Value = SignGeprueft.Value 'Speicherung Datum Pruefung If ActiveCell.Offset(0, 46).Value = "" And CheckPruefung.Value = True Then ActiveCell.Offset(0, 46).Value = aktuellesDatum.Value Else ActiveCell.Offset(0, 46).Value = "" ActiveCell.Offset(0, 47).Value = "" End If 'Speicherung Datum Rechnung If ActiveCell.Offset(0, 43).Value = "" And CheckBox2.Value = True Then ActiveCell.Offset(0, 43).Value = aktuellesDatum.Value Else ActiveCell.Offset(0, 43).Value = "" ActiveCell.Offset(0, 42).Value = "" End If 'Ausgabe ActiveCell.Offset(0, 0).Value = "" & ActiveCell.Offset(0, 45).Value & " - " & ActiveCell.Offset(0, 44).Value & " I " & ActiveCell.Offset(0, 47).Value & " - " & ActiveCell.Offset(0, 46).Value & " I " & ActiveCell.Offset(0, 42).Value & " - " & ActiveCell.Offset(0, 43).Value Unload Me End Sub Private Sub CommandButton1_Click() Call Daten1 End Sub}
Kann mir hier bitte jemand weiterhelfen? :-( |