1.3k Aufrufe
Gefragt in Tabellenkalkulation von nick2507 Mitglied (231 Punkte)
Hallo ihr lieben,

könnt ihr mir bei einem Problem weiterhelfen?

Es geht um folgendes:

Ich möchte gerne, eine Überprüfung bei der UserForm "ArtikelanlegenUsf" vornehmen. Hierbei soll, wenn alle Daten eingegeben wurden und auf den Command Button "WerteÜbertragenCmd" geklickt wird eine Überprüfung erfolgen, ob der Artikelbereits vorhanden ist. Wenn das der Fall ist, soll er eine Msgbox darauf hinweisen.
Die Werte kommen aus der Tabelle "Artikelliste".

der Link:
http://www.file-upload.net/download-3714096/Lagerbestand4.xls.html">
http://www.file-upload.net/download-3714096/Lagerbestand4.xls.html

Vielen Dank schon mal im Voraus. :-)

Gruß
Nick2507

5 Antworten

0 Punkte
Beantwortet von nick2507 Mitglied (231 Punkte)
Wie ich eben bemerkt habe, klappt der Downloadlink nicht. :-(

Hier noch ein Versuch:

www.file-upload.net/download-3714096/Lagerbestand4.xls.html
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Nick,

Kopiere in die Tabelle "Artikelliste" folgenden Code und schaue es Dir einmal an:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Set Bereich = Range("B:B")
If Target.Value = "" Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(Bereich, Target) Is Nothing Then Exit Sub
If WorksheetFunction.CountIf(Bereich, Target.Value) > 1 Then
MsgBox ("Doppelter Eintrag nicht zulässig")
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
Target.Select
End If
End Sub

Beim betätigen des Button "Werte übertragen in der Userform Artikel anlegen, kommt der Hinweis, wenn die Artikelnummer schon vorhanden ist.

Gruß

Paul1
0 Punkte
Beantwortet von nick2507 Mitglied (231 Punkte)
Danke dir Paul,

es gibt hierbei aber noch ein Problem:

wenn ich den Command Button "WerteÜbertragen" bestätige, kommt zwar der Hinweis, dass der Artikel schon vorhanden ist aber er überträge trotzdem die Werte.

Anschließend, wenn ich die übertragenen Daten aus der Tabelle Artikelliste löschen möchte, kommt der Laufzeitfehler "13". Folgende Stelle wird makiert:

[code]If Target.Value = "" Then Exit Sub[/code]

Danke dir.

Gruß
Nick2507
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Nick,

hab es mir angeschaut, wenn Du die Zeile löschen möchtest, mit beenden ist es erledigt, nur gibt es dann beim Anlegen des nächsten Artikels ein Problem mit der Lauf.Nr.
Wenn Du es aber so lässt wie es ist wird beim nächsten Artikel (sofern er nicht doppelt ist) die lauf.Nr. übernommen und alles andere wird überschrieben.

Ich glaube besser wäre, wenn bereits bei der Eingabe der Artikelnummer in der Userform die Mitteilung käme und dadurch ein weiterarbeiten nur mit einer gültigen nicht doppelten Artikelnummer möglich ist, aber dafür fehlen mir die ausreichenden VBA-Kenntnisse.

Vielleicht kann ich diesbezüglich noch was finden, doch wäre es optimaler, wenn das jemand mit VBA-Kenntnissen machen würde.

Gruß

Paul1
0 Punkte
Beantwortet von nick2507 Mitglied (231 Punkte)
Hallo Paul,

danke für die Info. :-)

Das war auch mein Ziel gewesen, dass die UserForm (ArtikelAnlegenUsf) anhand des CommandButton (WerteÜbertragenCmd) diese Überprüfung durchführt.

Gruß
Nick2507
...