Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1540to1544
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Checkbox und Zellabfrage startet Makro

Checkbox und Zellabfrage startet Makro
19.02.2017 21:14:41
Andi
Hallo,
Wie könnte der Code für folgende Prozedur lauten?
Checkbox1 gesetzt( aktiv) und die aktive Zeile abgefragt, ob C und F gefüllt sind (Zahl oder Text möglich)---- dann soll eine MSG Box "Weiter?" und nach deren Bestätigung das Makro "Weiter" ausgeführt werden.
Das Makro "Weiter" soll folgende Prozedur abarbeiten:
Eine Zeile tiefer springen, die Userform1 Entladen, die Userform1 wieder Öffnen und den Cursor in der aktiven Zeile auf C platzieren.
Wenn in A in dieser Zeile noch keine fortlaufende Nummer vorhanden ist, soll sich dort die Zahl um eins erhöhen- bezogen auf die A Zelle darüber.
das geht damit:

  • If Cells(ActiveCell.Row + 1, 1).Value = "" Then ' erhöhe in A die Zahl um +1
    Cells(ActiveCell.Row + 1, 1).Value = Cells(ActiveCell.Row, 1).Value + 1
    End If

  • Die Checkbox1 befindet sich im Userform1.
    Kann jemand helfen?
    Gruß Andi

    2
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Checkbox und Zellabfrage startet Makro
    21.02.2017 01:14:42
    fcs
    Hallo Andi,
    wenn du eine Beispiel Datei mit Tabellenblatt und vorhandenem Userform hier hochlädst, dann kann dir leichter geholfen werden.
    Unload und wieder Laden eines Userforms vom Userform aus kann zu Problemen führen weil verschachtelte Aufrufe erfolgen.
    Mit etwas komplizierterer Ablaufsteuerung kann man das UF zunächst nur Ausblenden, in dem Makro mit der Show-Anweisung eine Prüfung durchführen und nach dem Unload des Userforms wieder vor sie Show-Anweisung springen.
    Übersichtlicher ist es das Userform nicht zu verlassen und die Werte der Steuerelemente zurückzusetzen für die nächste Eingabe.
    Nachfolgend prinzipielle Beispiel-Makros zu deinen Fragen.
    LG
    Franz
    
    '##########      Code in einem allgemeinen Modul oder im Userform-Modul    ##########
    Public Sub Weiter()
    Dim wks As Worksheet
    Dim Zeile As Long
    Set wks = ActiveSheet
    Zeile = ActiveCell.Row + 1
    With wks
    If .Cells(Zeile, 1).Value = "" And IsNumeric(.Cells(Zeile - 1, 1)) Then ' erhöhe in A die  _
    Zahl um +1
    .Cells(Zeile, 1).Value = .Cells(Zeile - 1, 1).Value + 1
    Else
    .Cells(Zeile, 1).Value = 1 'Startwert setzen
    End If
    End With
    Cells(Zeile, 3).Select
    ActiveWindow.ScrollRow = Zeile - 1
    End Sub
    '##########      Code im Userform-Modul    ##########
    Private Sub Reset_Userform()
    'Inhalte in Steuerelementen des Userforms zurücksetzen
    'Falls bestimmte Steuerelemete Vorgabewerte bekommen sollen müssen diese am _
    Ende des Makros gesetzt werden
    'Achtung bei Verwendung von Change-Ereignis-Makro von Steuerlementen muss man _
    ggf. dafür sorgen, dass diese in geeigneter form ausgeführt werden
    Dim objControl As Control
    For Each objControl In Me.Controls
    Select Case LCase(TypeName(objControl))
    Case "textbox"
    objControl.Object.Value = ""
    Case "checkbox"
    objControl.Object.Value = False
    Case "optionbutton"
    objControl.Object.Value = False
    Case "listbox"
    objControl.Object.ListIndex = -1
    Case "combobox"
    With objControl.Object
    .Text = ""
    .ListIndex = -1
    End With
    Case Else
    End Select
    Next
    End Sub
    Private Sub weiterFragen()
    'Abfrage für weiter
    Dim wks As Worksheet
    Dim Zeile As Long
    Set wks = ActiveSheet
    Zeile = ActiveCell.Row
    With wks
    If Me.CheckBox1 = True Then
    If .Cells(Zeile, 3)  "" And _
    .Cells(Zeile, 6)  "" Then
    If MsgBox("Soll Makro ""Weiter"" ausgeführt werden?", _
    vbQuestion + vbOKCancel, "W E I T E R ?") = vbOK Then
    Call Weiter
    Call Reset_Userform
    Call UserForm_Initialize 'Falls Prozedur vorhanden
    End If
    Else
    MsgBox "Bedingungen für Weiter sind nicht erfüllt"
    Exit Sub
    End If
    End If
    End With
    End Sub
    

    Anzeige
    AW: Checkbox und Zellabfrage startet Makro
    21.02.2017 19:48:35
    Andi
    Hallo Franz,
    Danke für die ausführliche Bearbeitung meines Problems und die guten Beschreibungen.
    Der Versuch des Hochladens der Beispielmappe scheiterte leider an der Größe.
    Unload und wieder Laden eines Userforms vom Userform aus kann zu Problemen führen... deshalb habe ich im Forum um Hilfe gebeten.
    Und es wurde gelöst. Danke
    Grüße Andi

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige