Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
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

If / If not Abfrage vor speichern

If / If not Abfrage vor speichern
29.01.2020 11:11:29
Sandro
Hallo Zusammen
In einem Excel, dass ich erstellt habe, sollen 2 Abfragen neu vor dem speichern anstatt bei einer Änderung stattfinden.
Ich habe den Code also von:

Private Sub Worksheet_Change(ByVal Target As Range)
zu:
Option Explicit

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Target.Column = 10 Then
If Cells(Target.Row, 10) = "Erledigt" And Cells(Target.Row, 11)  Fortschritt nicht 100%, siehe Zeile " & Target.  _
_
_
Row
End If
End If
If Target.Column = 11 Then
If Not Cells(Target.Row, 10) = "Erledigt" And Cells(Target.Row, 11) = 100 Then
MsgBox "Achtung: Fortschritt 100% -> Status nicht erledigt, siehe Zeile " & Target.  _
_
_
Row
End If
End If
End Sub

geändert.
Nun erhalte ich aber immer den Fehler "Fehler beim Kompilieren, Variable nicht definiert".
Kann mir jemand sagen was ich ändern muss, damit der Code funktioniert?
Danke & Grüsse
Sandro

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If / If not Abfrage vor speichern
29.01.2020 13:03:16
volti
Hallo Sandro,
in Deiner Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ist Target nicht vorhanden. Somit ist es nicht definiert und Du kannst damit in dieser Sub auch nicht arbeiten.
Siehe hier
Private Sub Worksheet_Change(ByVal Target As Range)
da war Target definiert und alles ok.
viele Grüße
Karl-Heinz
AW: If / If not Abfrage vor speichern
29.01.2020 13:12:30
volti
Ach ja, Du wolltest ja noch wissen, was Du ändern könntest.
Du könntest statt Target z.B. ActiveCell nehmen, dann wird immer auf die gerade selektierte Zelle geprüft.
Oder Du vergibst feste Zeilen und Spalten Cells(Target.Row, 10) => Cells(10, 10).
Das hängt jetzt davon ab, was Du machen willst.
viele Grüße
Karl-Heinz
Anzeige
AW: If / If not Abfrage vor speichern
29.01.2020 13:16:51
Bernd
Servus Sandro,
soviel ich weiß ist "Target" nur den "Worksheets" vorbehalten.
Etwas verspielt, aber sollte funktionieren:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim i As Integer
Dim a As Integer
Dim Z() As Variant
Dim Zeilen As String
With ActiveSheet
a = 0
For i = 1 To .Cells(Rows.Count, 10).End(xlUp).Row
If .Cells(i, 10).Value = "Erledigt" And .Cells(i, 11).Value  Fortschritt nicht 100%, siehe Zeile " & i
ElseIf .Cells(i, 10).Value  "Erledigt" And .Cells(i, 11).Value = 100 Then
a = a + 1
ReDim Preserve Z(1 To a)
Z(a) = i
'            MsgBox "Achtung: Fortschritt 100% -> Status nicht erledigt, siehe Zeile " & i
End If
Next i
End With
If Len(Join(Z, "")) > 0 Then
For i = LBound(Z) To UBound(Z)
If Zeilen = "" Then
Zeilen = Z(i) & vbNewLine
Else
Zeilen = Zeilen & Z(i) & vbNewLine
End If
Next i
MsgBox "Achtung: Fehlerhafte Zusammenhänge in " & a & " Zeilen entdeckt" & vbNewLine & _
"Folgende Zeilen sind betroffen: " & vbNewLine & Zeilen
End If
End Sub
Grüße, Bernd
Anzeige
AW: If / If not Abfrage vor speichern
29.01.2020 13:56:28
Sandro
Danke euch allen für die Hilfe.
Bernd, dein Vorschlag ist genau was ich suche! Danke für deine Mühe. Ich bin begeistert :)
Grüsse
Sandro
AW: If / If not Abfrage vor speichern
31.01.2020 09:13:01
Bernd
Servus Sandro,
vielleicht noch ein kleine Ergänzung; Falls du das Speichern bei fehlerhaften Zusammenhängen verhindern möchtest dann sollte man ggf. noch folgende Passage einfügen:

If Len(Join(Z, "")) > 0 Then
For i = LBound(Z) To UBound(Z)
If Zeilen = "" Then
Zeilen = Z(i) & vbNewLine
Else
Zeilen = Zeilen & Z(i) & vbNewLine
End If
Next i
MsgBox "Achtung: Fehlerhafte Zusammenhänge in " & a & " Zeilen entdeckt" & vbNewLine & _
"Folgende Zeilen sind betroffen: " & vbNewLine & Zeilen
    If a > 0 Then
Cancel = True
End If
End If
Grüße, Bernd
Anzeige

47 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige