CheckBox Image Prüfen

Meint du so

Code:
'Range ("O" & lFreie) Cover Bild Einfügen
            If CheckBox1.Value = False And imgImage1.Picture Is Nothing Then
                'Hier der Code wenn die CheckBox nicht markiert ist und kein Bild vorhanden ist
                With ActiveSheet
                    If Trim(imgImage1.Tag) = "" Then
                        .Cells(lFreie, 14).Value = "Kein Bild"
                        ElseIf CheckBox1.Value = True And imgImage1.Picture Is Nothing Then
                        'Hier der Code wenn die CheckBox markiert ist und kein Bild vorhanden ist
                        MsgBox "Bitte Cover Eigeben"
                        Exit Sub
                        ElseIf CheckBox1.Value = True And Not imgImage1.Picture Is Nothing Then
                        'Hier der Code wenn die CheckBox markiert ist und ein Bild vorhanden ist
                            .Hyperlinks.Add Anchor:=.Cells(lFreie, 14), _
                            Address:=imgImage1.Tag, _
                            ScreenTip:=imgImage1.Tag, _
                            TextToDisplay:="Klick mich"
                    End If
                End With
            End If

Aber Passiert nix (Übertagt nix, Keine Msgbox)
 
Zuletzt bearbeitet:
Sorry aber du formatierst deinen Code nicht korrekt mit [code=vb] ... [/code] und dann sind die Zeilen mehr oder weniger willkürlich eingerückt. Da kann man nicht wirklich erkennen was zusammengehört.

Formatiere deinen Code so das man ihn lesen kann, dann schaue ich es mir gerne nochmal an!
 
OK sorry
Visual Basic:
'Hier der Code wenn die CheckBox nicht markiert ist und kein Bild vorhanden ist

 If CheckBox1.Value = False And imgImage1.Picture Is Nothing Then
                With ActiveSheet
                    If Trim(imgImage1.Tag) = "" Then
                        .Cells(lFreie, 14).Value = "Kein Bild"

'Hier der Code wenn die CheckBox markiert ist und kein Bild vorhanden ist

                        ElseIf CheckBox1.Value = True And imgImage1.Picture Is Nothing Then
                        MsgBox "Bitte Cover Eigeben"
                        Exit Sub

 'Hier der Code wenn die CheckBox markiert ist und ein Bild vorhanden ist

                        ElseIf CheckBox1.Value = True And Not imgImage1.Picture Is Nothing Then
                            .Hyperlinks.Add Anchor:=.Cells(lFreie, 14), _
                            Address:=imgImage1.Tag, _
                            ScreenTip:=imgImage1.Tag, _
                            TextToDisplay:="Klick mich"
                    End If
                End With
            End If

Das Letzte Brauch nicht
('Hier der Code wenn die CheckBox nicht markiert ist und ein Bild vorhanden ist)

ich denke so besser
 
Zuletzt bearbeitet:
Ich will ja nicht meckern, aber es hätte gereicht wenn du den obigen Beitrag nochmal bearbeitet hättest.

Visual Basic:
If CheckBox1.Value = False And Image1.Picture Is Nothing Then
    'Hier der Code wenn die CheckBox nicht markiert ist und kein Bild vorhanden ist
    ActiveSheet.Cells(lFreie, 14).Value = "Kein Bild"
ElseIf CheckBox1.Value = True And Image1.Picture Is Nothing Then
    'Hier der Code wenn die CheckBox markiert ist und kein Bild vorhanden ist
    MsgBox "Bitte Cover Eigeben"
ElseIf CheckBox1.Value = True And Not Image1.Picture Is Nothing Then
    'Hier der Code wenn die CheckBox markiert ist und ein Bild vorhanden ist
    With ActiveSheet
        .Hyperlinks.Add Anchor:=.Cells(lFreie, 14), _
        Address:=Image1.Tag, _
        ScreenTip:=Image1.Tag, _
        TextToDisplay:="Klick mich"
    End With
End If

Du hast da bei dir ein ganz schönes durcheinander reingebracht.
Schau dir den Unterschied zwischen deinem und meinem Beispiel an. Dann solltest du erkennen was du falsch gemacht hast.

Beim ersten IF-Block (Zeile 1) würde es eigentlich ausreichen, wenn du nur schreibst
Visual Basic:
If CheckBox1.Value = False Then
aber ich will dich jetzt nicht verwirren.
 
OK Fast

jetzt hab ich noch kleine Problem

1)wenn ich in andere Blatt z,B "Start" mit Button Neu Formular Öffne und Bilder Einfüge, OKButton Dann Fügt er Bild nicht in Blatt "DatenBank" Sonder in S"Start"

ich Will das Die immer in Blatt DatenBank sendet

2)ich Will das nach Meldung "Bitte Cover Eingeben" nicht Formular Beendet sonder Immer MsgBox bis Bild einfügt ist oder hacken entfernt ist

ich habe mit Exit Sub Probiert aber Klaps nicht geht trotzdem ziele Runter
Visual Basic:
ElseIf CheckBox1.Value = True And Image1.Picture Is Nothing Then
    'Hier der Code wenn die CheckBox markiert ist und kein Bild vorhanden ist
     MsgBox "Bitte Cover Eigeben"
     Exit Sub


hier noch mal aktuelle Code

Visual Basic:
Private Sub OKButton_Click()
'OK Button
'Übertragren In DatenBank
    With MyDatenBank.Worksheets("DatenBank")
        lFreie = .Cells(.Rows.Count, 6).End(xlUp).Row + 1
        If lFreie < 3 Then lFreie = 3
         'Range ("F" & lFreie) Cover Bild Einfügen
            If CheckBox1.Value = False Then
            'Hier der Code wenn die CheckBox nicht markiert ist und kein Bild vorhanden ist
                ActiveSheet.Cells(lFreie, 6).Value = "Kein Bild"
                ElseIf CheckBox1.Value = True And Image1.Picture Is Nothing Then
                'Hier der Code wenn die CheckBox markiert ist und kein Bild vorhanden ist
                MsgBox "Bitte Cover Eigeben"
                Exit Sub
                ElseIf CheckBox1.Value = True And Not Image1.Picture Is Nothing Then
                'Hier der Code wenn die CheckBox markiert ist und ein Bild vorhanden ist
                With ActiveSheet
                    .Hyperlinks.Add Anchor:=.Cells(lFreie, 6), _
                    Address:=Image1.Tag, _
                    ScreenTip:=Image1.Tag, _
                    TextToDisplay:="Klick mich"
                End With
            End If
    End With
    Unload NeuFormular 'Formular Schließen
End Sub
 
Zuletzt bearbeitet:
Zu Frage 1: dann gib einfach den Namen "DatenBank" anstatt ActiveSheet an. Dann greifst du auch sicher darauf zu.

Zu Frage 2: wenn du die Funktion nach Ausgabe der Meldung "Bitte Cover eingeben" mit Exit Sub verlässt, dann bleibt die Form doch geöffnet. Verstehe nicht so ganz was da jetzt nicht klappt.
 
OK Danke

mit Tauschen "DatenBank" anstatt ActiveSheet hat geklappt

Kannst du mir noch hier helfen es ist endlich wie andere Code

Visual Basic:
If CheckBox4.Value = False Then
            'Hier der Code wenn die CheckBox nicht markiert ist und Kein Darsteller1 vorhanden ist
                DatenBank.Cells(lFreie, 17).Value = "Kein Angabe"
                ElseIf CheckBox4.Value = True And Darsteller1.Value Is Nothing Then
                'Hier der Code wenn die CheckBox markiert ist und kein Darsteller1 vorhanden ist
                MsgBox "Bitte Darsteller Eigeben"
                Exit Sub
                ElseIf CheckBox4.Value = True And Not Darsteller1.Value Is Nothing Then
                'Hier der Code wenn die CheckBox markiert ist und ein Darsteller1 vorhanden ist
                DatenBank.Cells(lFreie, 17).Value = Darsteller1.Value
            End If

hier ist Fehler

Laufzeitfehler 424 Objekt Erforderlich

Visual Basic:
ElseIf CheckBox4.Value = True And Darsteller1.Value Is Nothing Then
 
Zuletzt bearbeitet:
Also wenn es das Objekt "CheckBox4" nicht geben würde, dann würde der Fehler bereits in der ersten Zeile des obigen Codes auftreten.

Deshalb vermute ich das "Darsteller1" das Objekt ist welches nicht gefunden wird.
 
ich habe noch mal geprüft "Darsteller1" ist Richtig

komische weise so Funktioniert zum teil Ohne ".Value"

so

Visual Basic:
If CheckBox4.Value = False Then
            'Hier der Code wenn die CheckBox nicht markiert ist und Kein Darsteller1 vorhanden ist
                DatenBank.Cells(lFreie, 17).Value = "Kein Angabe"
                ElseIf CheckBox4.Value = True And Darsteller1 Is Nothing Then
                'Hier der Code wenn die CheckBox markiert ist und kein Darsteller1 vorhanden ist
                MsgBox "Bitte Darsteller Eigeben"
                Exit Sub
                ElseIf CheckBox4.Value = True And Not Darsteller1 Is Nothing Then
                'Hier der Code wenn die CheckBox markiert ist und ein Darsteller1 vorhanden ist
                DatenBank.Cells(lFreie, 17).Value = Darsteller1.Value
            End If
nur MsgBox kommt nicht Raus die zeile ist Leer
 
Zuletzt bearbeitet:
Ok wenn es Darsteller1 gibt, was ist es dann für ein Objekttyp. Ist es ein Textfeld, ist es eine Checkbox, ist es ein Listenfeld, ... ?
 
Zurück