Herbers Excel-Forum - das Archiv

Makro Überprüfung ob schon vorhanden

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Makro Überprüfung ob schon vorhanden
von: Jürgen

Geschrieben am: 29.12.2006 16:49:10
Hallo Forum
Habe untenstehendes Makro womit ich aus einer Userform Daten ins Datenblatt Objekte kopiere.
Da ich hunderte von Daten damit kopiere kann ich so nicht feststellen ob eine ObjektNr schon vergeben ist.
Ausschlaggebend ist immer die Textbox 94 wo ich eine Objektnr (z.b. 50000) eintrage und diese dann in Spalte A des Datenblatts Objekte kopiert wird.
Meine Frage ist es nun möglich eine Abfrage einzubauen die im Datenblatt die Spalte A vor dem speichern nach unten hin absucht ob die eingegebene Objektnr(Textbox 94)schon existiert, dann Meldung Objekt Nr existiert schon, trotzdem speichern ja/Nein und die aktuelle dann z.b in 50000-1 50000-2 u.s.w automatisch abändert.
Wenn möglich kann mir jemand den Code einbauen???
Bedanke mich
Mfg
Jürgen
Private Sub CommandButton1_Click()
Dim inty As Integer
With ThisWorkbook.Worksheets("Objekte")
inty = 2
Do Until .Cells(inty, 1) = ""
inty = inty + 1
Loop
.Cells(inty, 1) = TextBox94
.Cells(inty, 2) = ComboBox1
.Cells(inty, 3) = TextBox1
.Cells(inty, 4) = TextBox2
.Cells(inty, 5) = TextBox3
.Cells(inty, 6) = TextBox4
.Cells(inty, 7) = TextBox5
.Cells(inty, 8) = TextBox6
.Cells(inty, 9) = TextBox7
.Cells(inty, 10) = TextBox8
.Cells(inty, 11) = TextBox15
.Cells(inty, 12) = TextBox14
.Cells(inty, 13) = ComboBox2
.Cells(inty, 14) = TextBox17
.Cells(inty, 15) = TextBox18
.Cells(inty, 16) = TextBox19
.Cells(inty, 17) = TextBox20
.Cells(inty, 18) = TextBox21
.Cells(inty, 19) = TextBox22
.Cells(inty, 20) = TextBox23
.Cells(inty, 21) = TextBox24
.Cells(inty, 22) = TextBox25
.Cells(inty, 23) = TextBox26
.Cells(inty, 24) = ComboBox26
.Cells(inty, 25) = TextBox95
End With
End Sub

Bild

Betrifft: AW: Makro Überprüfung ob schon vorhanden
von: Peter Feustel

Geschrieben am: 29.12.2006 17:48:14
Hallo Jürgen,
hier ein Versuch (weil ungetestet, denn ich kann unmöglich dein UserForm(ular) nachbauen)


Private Sub CommandButton1_Click()
Dim inty       As Integer
Dim rZelle     As Range
Dim iLfdNr     As Integer
Dim bGefunden  As Boolean
   With ThisWorkbook.Worksheets("Objekte")
      inty = 2
      Do Until .Cells(inty, 1) = ""
         inty = inty + 1
      Loop
      iLfdNr = 0
      Do
         GoSub Pruefung
      Loop Until bGefunden = False
      .Cells(inty, 1) = Textbox94
      .Cells(inty, 2) = ComboBox1
      .Cells(inty, 3) = TextBox1
      .Cells(inty, 4) = TextBox2
      .Cells(inty, 5) = TextBox3
      .Cells(inty, 6) = TextBox4
      .Cells(inty, 7) = TextBox5
      .Cells(inty, 8) = TextBox6
      .Cells(inty, 9) = TextBox7
      .Cells(inty, 10) = TextBox8
      .Cells(inty, 11) = TextBox15
      .Cells(inty, 12) = TextBox14
      .Cells(inty, 13) = ComboBox2
      .Cells(inty, 14) = TextBox17
      .Cells(inty, 15) = TextBox18
      .Cells(inty, 16) = TextBox19
      .Cells(inty, 17) = TextBox20
      .Cells(inty, 18) = TextBox21
      .Cells(inty, 19) = TextBox22
      .Cells(inty, 20) = TextBox23
      .Cells(inty, 21) = TextBox24
      .Cells(inty, 22) = TextBox25
      .Cells(inty, 23) = TextBox26
      .Cells(inty, 24) = ComboBox26
      .Cells(inty, 25) = TextBox95
   End With
   Exit Sub
Pruefung:
   With ThisWorkbook.Worksheets("Objekte").Range("A:A")
      Set rZelle = .Find(Textbox94.Value, LookIn:=xlValues, Lookaat:=xlWhole)
      If Not rZelle Is Nothing Then
         If MsgBox("Die Objekt-Nr existiert schon, trotzdem speichern?", _
            vbYesNo + vbQuestion, "   nur zur Sicherheit.") = vbYes Then
            iLfdNr = iLfdNr + 1
            Textbox94.Value = Textbox94.Value & "-" & iLfdNr
            bGefunden = True
          Else
            MsgBox "die Verabreitung wird abgebrochen.", _
               48, "   Hinweis für " & Application.UserName
               Exit Sub
         End If
       Else
         bGefunden = False
      End If
    End With
Return
End Sub 

     Code eingefügt mit Syntaxhighlighter 4.4

Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Bild

Betrifft: AW: Makro Überprüfung ob schon vorhanden
von: Jürgen

Geschrieben am: 29.12.2006 18:46:04
Hallo Peter
Danke für deine Mühen, habs mal eingebaut gibt aber noch Fehlermeldung aus.
Hab dir mal abgespeckte Version meiner Datei hochgeladen
https://www.herber.de/bbs/user/39250.zip
Gruss
Jürgen
Bild

Betrifft: AW: Makro Überprüfung ob schon vorhanden
von: Peter Feustel
Geschrieben am: 29.12.2006 20:33:44
Hallo Jürgen,
ein Schreibfehler (meinerseits)
Set rZelle = .Find(Textbox94.Value, LookIn:=xlValues, Lookaat:=xlWhole)
das muss natürlich Lookat mit nur einem a heißen.
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Bild

Betrifft: AW: Makro Überprüfung ob schon vorhanden
von: Jürgen

Geschrieben am: 29.12.2006 20:57:49
Hallo Peter
jau jetzt läuft es , hätte ich auch selber drauf kommen können.
Ein Problem besteht aber noch,
wenn zb Objekt Nr 10 schon existiert und ich mit Ja speichern bestätige wird die Nr. 10-1 gespeichert. ist auch richtig so.
Wenn ich jetzt nochmals zb. 10 eingebe und speichere dann kommt dabei raus 10-1-1.
Da es vorkommen kann das ich zb 6 oder 7 oder noch mehrmals die Objekt Nr: 10 behandeln muss sollte dann 10-1 nächste freie 10-2 nächste freie 10-3 u.s.w dabei rauskommen.
Ist da auch was möglich.
Hatte mich wohl nicht verständlich ausgedrückt!!!
Hoffe es jetzt getan zuhaben.
Wenn du da noch was basteln könntest, wäre echt cool.
Gruß und Danke
Jürgen
Bild

Betrifft: AW: Makro Überprüfung ob schon vorhanden
von: Peter Feustel
Geschrieben am: 29.12.2006 21:05:35
Hallo Jürgen,
hier eine verbesserte Version, jetzt konnte ich ja testen.
https://www.herber.de/bbs/user/39255.xls
Viele Grüße Peter
Eine kurze Nachricht, ob es läuft, wäre nett - danke.
Bild

Betrifft: AW: Makro Überprüfung ob schon vorhanden
von: Jürgen
Geschrieben am: 29.12.2006 21:46:24
Hallo Peter
sieht gut aus, das müsste es gewesen sein
Nochmals Danke und Gruß
Jürgen
 Bild
Excel-Beispiele zum Thema "Makro Überprüfung ob schon vorhanden"
Abfrage, ob ein Menü in einer Menüleiste vorhanden ist Warnung, wenn Wert bereits vorhanden
Prüfen, ob ein Menü vorhanden ist Datei kopieren, wenn noch nicht vorhanden
CommandBar in Abhängigkeit vorhandener Makros erstellen Als Text vorhandene Werte in Zahlen umwandeln
Eingabe auf bereits vorhanden prüfen und, wenn nein, einfügen Prüfung, welche Tabellenblätter aus einer Liste vorhanden sind
Prüfung, ob Daten schon vorhanden und Meldung Vorhandensein von Verzeichnissen prüfen und Ordner anlegen