Tabelle vor dem eintrag auf doppelte überprüfen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: Tabelle vor dem eintrag auf doppelte überprüfen
von: erich
Geschrieben am: 02.07.2002 - 15:35:51

hallo profis,
habe noch ein problem:
ich möchte den wert in meiner userform1 textbox1 vor dem eintrag in die tabelle überprüfen ob der wert schon in der tabelle steht, wenn der wert schon vorhanden ist dann sollte eine meldung kommen und das markro abbrechen.

ist as möglich, und wer kann mir weiterhelfen?

mfg
erich

nach oben   nach unten

Re: Tabelle vor dem eintrag auf doppelte überprüfen
von: Hajo_Zi
Geschrieben am: 02.07.2002 - 15:39:18

Hallo Erich

dazu kannst Du doch dein Makro mit Find umarbeiten.

Gruß Hajo


nach oben   nach unten

Re: Tabelle vor dem eintrag auf doppelte überprüfen
von: erich
Geschrieben am: 02.07.2002 - 16:19:50

hallo hajo,

mit find komme ich nicht sehr zurecht
kanst du mir vieleicht in meinen code die find funktion reinschreiben, wäre dier sehr dankbar?


Private Sub CommandButton1_Click()
Dim lastrow As Integer
Dim ws As Worksheet
Dim t  As Worksheet
Set frm = UserForm1
Set ws = Worksheets("schrottkarossen")
Set t = Worksheets("Ausschuß")
lastrow = ws.Range("A65536").End(xlUp).Offset(1, 0).Row
' Überprüfen ob alle Felder ausgefüllt sind
If Me.TextBox2.Value = "" Then
MsgBox "Aussteller eingeben!"
TextBox2.SetFocus
Exit Sub
ElseIf Me.ComboBox1.Value = "" Then
MsgBox "Fahrzeugtyp Auswählen!"
ComboBox1.SetFocus
Exit Sub
ElseIf Me.TextBox5.Value = "" Then
MsgBox "Identnummer eingeben!"
TextBox5.SetFocus
Exit Sub
ElseIf Me.TextBox4.Value = "" Then
MsgBox "IGF-NR: Eingeben!"
TextBox4.SetFocus
Exit Sub
ElseIf Me.TextBox3.Value = "" Then
MsgBox "Farbcode eingeben!"
TextBox3.SetFocus
Exit Sub
ElseIf Me.ComboBox3.Value = "" Then
MsgBox "Schadensursache Auswählen!"
ComboBox3.SetFocus
Exit Sub
ElseIf Me.ComboBox2.Value = "" Then
MsgBox "Ereignisort Auswählen!"
ComboBox2.SetFocus
Exit Sub
ElseIf Me.ComboBox6.Value = "" Then
MsgBox "Verursacher Kostenstelle eintragen!"
ComboBox6.SetFocus
Exit Sub
ElseIf Me.ComboBox5.Value = "" Then
MsgBox "Verursacher Schicht Auswählen!"
ComboBox5.SetFocus
Exit Sub
ElseIf Me.ComboBox4.Value = "" Then
MsgBox "Arbeitsfolge Auswählen!"
ComboBox4.SetFocus
Exit Sub
ElseIf Me.TextBox7.Value = "" Then
MsgBox "Wem wurde die Karosse Vorgestellt?"
TextBox7.SetFocus
Exit Sub
End If
With frm
'eintragen in die Tabelle Schrottkarossen
  ws.Cells(lastrow, 1) = .TextBox1.Value
  ws.Cells(lastrow, 2) = .TextBox2.Value
  ws.Cells(lastrow, 3) = .ComboBox1.Value
  ws.Cells(lastrow, 4) = .TextBox5.Value
  ws.Cells(lastrow, 5) = .TextBox4.Value
  ws.Cells(lastrow, 6) = .TextBox3.Value
  ws.Cells(lastrow, 7) = .ComboBox3.Value
  ws.Cells(lastrow, 8) = .ComboBox2.Value
  ws.Cells(lastrow, 9) = .TextBox6.Value
  ws.Cells(lastrow, 10) = .ComboBox6.Value
  ws.Cells(lastrow, 11) = .ComboBox5.Value
  ws.Cells(lastrow, 12) = .ComboBox4.Value
  ws.Cells(lastrow, 13) = .TextBox7.Value
  'in Ausschuß Meldung eintragen
t.Range("H2") = .TextBox1.Value
t.Range("H4") = .TextBox2.Value
t.Range("G6") = .TextBox5.Value
t.Range("C9") = .ComboBox1.Value
t.Range("I14") = .TextBox4.Value
t.Range("C16") = .TextBox3.Value
t.Range("C20") = .ComboBox3.Value
t.Range("C30") = .ComboBox2.Value
t.Range("C52") = .TextBox6.Value
t.Range("E54") = .ComboBox6.Value
t.Range("E55") = .ComboBox5.Value
t.Range("J55") = .ComboBox4.Value
t.Range("C58") = .TextBox1.Value
t.Range("C60") = .TextBox1.Value
t.Range("C62") = .TextBox1.Value
t.Range("I58") = .TextBox7.Value
t.Range("I60") = .TextBox2.Value
t.Range("I62") = .TextBox2.Value
For i = 1 To 6
    .Controls("TextBox" & i) = ""
    .Controls("ComboBox" & i) = ""
  Next
  .Controls("TextBox1").Text = Now
  .Controls("TextBox7").Text = ""
  End With
  ActiveWorkbook.Save
  Me.CommandButton2.Visible = False
  Me.CommandButton3.Visible = True
  Dim Mldg As Byte
    Mldg = MsgBox("Drucken?", _
           vbYesNo + vbQuestion, "Prüfprotokoll?", "", 0)
    If Mldg = 6 Then
     Sheets("Ausschuß").PrintOut From:=1, To:=1, Copies:=1, Collate _
        :=True
    Else
    Sheets("Übersicht").Select
    End If
    Dim Msg As Byte
    Msg = MsgBox("Weitere Schrotteingaben?", _
           vbYesNo + vbQuestion, "Karosse wurde gespeichert", "", 0)
    If Msg = 6 Then
     Sheets("Übersicht").Select
    Else
     ActiveWorkbook.Save
Application.ScreenUpdating = False
Sheets("Schrottkarossen").Activate
Columns("A:P").AutoFilter Field:=16, Criteria1:=""
   Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible).Copy
   Workbooks.Add
   Range("A1").PasteSpecial xlPasteValues
   Rows(1).Delete
 ActiveWorkbook.SendMail Recipients:="erich.hecht@bmw.de", Subject:="Schrottkarosse"
ActiveWorkbook.SendMail Recipients:="TR-100.RKL@bmw.de", Subject:="Schrottkarosse"
 ActiveWorkbook.SendMail Recipients:="Reimund.Bucher@bmw.de", Subject:="Schrottkarosse"
 ActiveWorkbook.Close savechanges:=False
 Sheets("Schrottkarossen").Activate
Columns("A:P").AutoFilter
 Sheets("Übersicht").Activate
Application.ScreenUpdating = True
MsgBox "Sind die Karossen bei der  Störmeldezentrale gemeldet Tel: 2324 ?" & Chr(10) & "Sind die Karossen Entwertet?"
Unload Me
        End If
End Sub

mfg
erich
P.S. hat einwenig gedauert da besuch gekommen ist.
nach oben   nach unten

Re: Tabelle vor dem eintrag auf doppelte überprüfen
von: Hajo_Zi
Geschrieben am: 02.07.2002 - 16:43:28

Hallo Erich

das ist nun doch zu umfangreich um das zu testen. Folgenden Vorschlag habe ich nur ich würde den CommandButton erst einblenden, wenn alle Eingaben gemacht. Dann entfällt das Überprüfen.

Gruß Hajo


nach oben   nach unten

Re: Tabelle vor dem eintrag auf doppelte überprüfen
von: erich
Geschrieben am: 02.07.2002 - 18:31:04

danke hajo

mfg
erich


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Tabelle vor dem eintrag auf doppelte überprüfen"