Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
484to488
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
484to488
484to488
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

doppelte Datensätze verhindern

doppelte Datensätze verhindern
14.09.2004 09:08:38
Mathias
Hallo liebe Helfer,
ich habe folgendes Problem: Die in eine UserForm eingegebenen Daten sollen in eine Tabelle geschrieben werden, allerdings nur dann, wenn dieser Datensatz (Spalte A) nicht bereits in der Tabelle vorhanden ist.
Bei meinem Code ergibt sich das Problem, dass er die Einfügeoperationen für jede Zelle vornimmt in der er den Datensatz der userform nicht findet (und daher den Datensatz viele male einfügt, statt - wie beabsichtigt - nur einmal.
'zweite leere Zeile in Übersicht-Tabelle ansteuern
'If UserForm1.OptionButton1.Value = True Then
'Sheets("Übersicht").Activate
'Dim zelle As Range
'Sheets("Übersicht").Range("A10:A" & ActiveSheet.UsedRange.Rows.Count).Select
'For Each zelle In Selection
'If InStr(zelle, UserForm1.ComboBox1.Value) 0 Then
'Einfügeoperationen in Übersicht-Tabelle
'Range("A1000").End(xlUp).Offset(2, 0).Select
'With UserForm1
'ActiveCell.Value = .ComboBox1.Value
'ActiveCell.Offset(0, 1) = .TextBox5.Value
'ActiveCell.Offset(0, 8) = .TextBox6.Value
'End With
'Else
'Exit Sub
'Next zelle
'UserForm1.Hide
'End If
'End If
'End Sub
Vielen Dank für die Hilfe
Mathias

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: doppelte Datensätze verhindern
14.09.2004 16:41:44
Axel
Hallo Mathias,
was hältst du von unten stehendem Code. Statt für jede Zelle einen Suchvorgang über Instr() zu initiieren nutze ich die find()-Methode. Habe deinen Ursprungscode zusätzlich noch etwas optimiert. Wo möglich, sollten die Methoden Activate und Select gemieden werden.
Gruß
Axel


Sub x()
   Dim lngRowLast As Long
   
   'zweite leere Zeile in Übersicht-Tabelle ansteuern
   If UserForm1.OptionButton1.Value = True Then
   
      With Sheets("Übersicht")
   
         lngRowLast = .Range("A1000").End(xlUp).Row
         
         If (.Range("A10:A" & lngRowLast).Find _
            (what:=UserForm1.ComboBox1.Value, LookIn:=xlValues, LookAt:=xlPart) Is NothingThen
            
            'Einfügeoperationen in Übersicht-Tabelle
            With .Cells(lngRowLast + 2, 1)
               .Value = UserForm1.ComboBox1.Value
               .Offset(0, 1) = UserForm1.TextBox5.Value
               .Offset(0, 8) = UserForm1.TextBox6.Value
            End With
         Else
            Exit Sub
            
            UserForm1.Hide
         End If
      End With
   End If
End Sub
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige