Thema Datum  Von Nutzer Rating
Antwort
Rot MsgBox innerhalb If-Bedingung
12.01.2017 12:12:27 Dude
NotSolved
12.01.2017 12:35:03 Gast64745
NotSolved
12.01.2017 12:57:19 Dude
NotSolved
12.01.2017 13:15:24 Gast70608
NotSolved
12.01.2017 13:28:35 Dude
NotSolved

Ansicht des Beitrags:
Von:
Dude
Datum:
12.01.2017 12:12:27
Views:
1138
Rating: Antwort:
  Ja
Thema:
MsgBox innerhalb If-Bedingung

Hallo,
wusste nicht genau wie ich das Thema nennen sollte. Ich habe eine UserForm mit einem Savebutton. Wenn ich diesen drücke, soll erst mal ein anderes Worksheet nach einem bestimmten Wert durchsucht werden. Wenn dieser bereits vorhanden ist, soll die MsgBox "Überschreiben?" erscheinen. Wenn nicht, dann "neu anlegen?". Soweit so gut. Problem ist aber, wenn der Wert mehrmals vorhanden ist (was durchaus vorkommt)" erscheint die MsgBox so oft, wie der Wert vorhanden ist. Er soll aber logicherweise nur einmal vorkommen. Ich muss die Zeile sicherlich außerhalb der If bedingung schreiben, bin mir aber nicht sicher wo. Außerdem bin ich mir nicht ganz sicher wo die zeile zähler = zähler +1 hinkommt.
Hier der Code:
 

Private Sub Save1_Click()
    
    Dim wb As Workbook
    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim fund As String, fund1 As String
    Dim such As String, LetzteZeile As Long, i As Long
    Dim zähler As Long
    
    Set wb = ActiveWorkbook
    Set ws1 = wb.Worksheets("Übersicht")
    Set ws2 = wb.Worksheets("Datenbank")
    
    such = Infos.Auftragsnummer.Value    'Wert der Textbox, nach dem gesucht werden soll
    
    With ws2
    LetzteZeile = .Cells(.Rows.Count, 2).End(xlUp).Row
        For i = 5 To LetzteZeile
            If .Cells(i, 2) = such Then
                If MsgBox("Auftragsnummer bereits vorhanden. Überschreiben?", vbYesNo) = vbNo Then
                    Exit Sub
                Else: MsgBox "Ok"   'Hier kommt später ein riesen Kopier Code hin, den ich euch ersparen wollte
                zähler = zähler + 1
                End If
            Else
                If MsgBox("Auftragsnummer nicht vorhanden. Neu anlegen?", vbYesNo) = vbNo Then
                    Exit Sub
                Else: MsgBox "Ok"
                zähler = zähler + 1
                End If
            End If
        Next i
    End With
End Sub

 

Kann man mein Vorhaben irgendwie realisieren? Danke schonmal

Grüße


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot MsgBox innerhalb If-Bedingung
12.01.2017 12:12:27 Dude
NotSolved
12.01.2017 12:35:03 Gast64745
NotSolved
12.01.2017 12:57:19 Dude
NotSolved
12.01.2017 13:15:24 Gast70608
NotSolved
12.01.2017 13:28:35 Dude
NotSolved