2.1k Aufrufe
Gefragt in Tabellenkalkulation von finger59 Experte (1.3k Punkte)
Hallo Excelgemeinde,

irgendwo habe ich einen Gedankenfehler drin und hoffe auf Eure Unterstützung.

Im Arbeitsblatt Datenerfassen gibt es einen Button, der die erfassten Daten in ein anderes Tabellenblatt weitergibt.

Allerdings wollte ich noch eine Abfrage vorschalten, wenn es keine Erfassungen gab und habe dazu in Zelle aa1 die Formel =zählenwenn("a11:a110";"x") eingestellt und wenn diese halt 0 als Ergebnis hat, dann sollte eine MsgBox darauf hinweisen, dass es noch keine Erfassungen gab und soll auf die Zelle C11 springen.
Ist eine Erfassung vorhanden - sprich Zellwert aa1>1 dann soll das Makro für die Übertragung durchgeführt werden.

Anfangs hatte ich das End If direkt vor dem End Sub gestellt, aber da kam die Info, dass End If fehlen würde. Kam mir ebenfalls komisch vor.

Aber - wenn ich keine Erfassung habe und den Button betätige komme ich bis zur MsgBox und mit Bestätigung des OK-Buttons läuft das Makro dann aber mit dem kopieren weiter, obwohl keine Daten vorhanden sind und verlässt damit das aktuelle Arbeitsblatt, obwohl ich es dann lieber hätte, dass er mir hier zunächst einmal stehen bleibt.

In der Hoffnung das mir jemand bei dem nachfolgenden Makro helfen kann, verbleibe ich mit...

have a nice Day... Gruß Helmut


Sub erfbeenden()

If Range("aa1") = 0 Then

MsgBox "Es wurden keine Daten erfasst... !"
Sheets("Datenerfassen").Select
Range("c11").Select
Else


End If

5 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Dein weiterer Ciode steht nicht nach Else.

Gruß Hajo
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
hallo,

nicht nur das nach "Else" was fehlt oder das "Else" überflüssig ist, fehlt zumindest in der Anfrage ein "End Sub" was aber vermutlich im Makro vorhanden ist, sonst würde es nicht laufen.

Da deine Abfrage immer auf "aa1" erfolgt und da anscheinend Daten drinstehen erfolgt kein Abbruch.

Wir kennen den Rest des Programms/Problems nicht daher ist ein Lösungsvorschlag schwierig/nicht möglich.

Gruß

Helmut
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hallo Hajo, hallo Helmut,

zunächst einmal vielen Dank das Ihr Euch mein Problem angesehen habe.

Ich habe die Datei mal zur Verfügung gestellt und in dem entsprechenden Arbeitsblatt Datenerfassen auch den kompletten
Code in den Datenbereich eingestellt.

Eine Übertragung von Daten kann nur erfolgen, wenn ein Fehlergrund entweder g oder s eingetragen wurde, da dann in der Spalte A ein x eingestellt wird, auf dem sich die Formel in aa1 bezieht.

Mein Problem ist, dass mein Makro immer durchläuft, auch wenn kein Datensatz eingetragen wurde.

Für diejenigen, die ebenfalls sich dort etwas für Ihre Auswertungen rausholen wollen, sei gesagt, dass ich gerade dabei bin, die Datei neu aufzubauen und die vorher funktionierenden Suchroutinen müssen noch umgeschrieben werden.

In diesem Sinne.. have a nice Day.. Gruß Helmut

www.file-upload.net/download-7748538/QM-Pr--fprotokoll_1.xls.html
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

versuch es mal so

If Range("aa1") = 0 Then
Rem UserForm1.Show
MsgBox "Es wurden keine Daten erfasst... !"
Sheets("Datenerfassen").Select
Range("c11").Select

Exit Sub

End If


ich vermute das wolltest du

Gruß

Helmut
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hallo Helmut,

ja... das war noch das was mir fehlte...

Vielen Dank für Deine Unterstützung und auch vielen Dank an Hajo und all den anderen, die mal reingeschaut haben.

Wünsche allen noch einen schönen Sonntag... Gruß Helmut
...