Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: doppelte Werte nicht neu eintragen!

doppelte Werte nicht neu eintragen!
21.10.2013 11:16:31
Snewi
Hallo,
ich hab mehrere Textfelder, von diesen der Inhalt bei Übernahme einfach immer untereinander in die nächste freie Zeile eingetragen wird!
Wenn jetzt in den Textfeldern das gleiche drin stehen würde wie in der Tabelle schon vorhanden, würde trotzdem eingetragen!
Wie kann ich es machen das bei gleichem Inhalt der schon vorhanden ist nichts eingetragen wird?

Private Sub cmd_eintragen_Click()
Dim x As Integer
x = Range("D13").End(xlDown).Row + 1
Cells(x, 4).Value = lbl_von.Caption
Cells(x, 5).Value = lbl_bis.Caption
Cells(x, 7).Value = t_1021kg.Value
Cells(x, 8).Value = t_1021wa.Value
Cells(x, 9).Value = t_1022kg.Value
Cells(x, 10).Value = t_1022wa.Value
Cells(x, 11).Value = t_1023kg.Value
Cells(x, 12).Value = t_1023wa.Value
Cells(x, 13).Value = t_1024kg.Value
Cells(x, 14).Value = t_1024wa.Value
Cells(x, 15).Value = t_1026kg.Value
Cells(x, 16).Value = t_1026wa.Value
Cells(x, 17).Value = t_1028kg.Value
Cells(x, 18).Value = t_1028wa.Value
Cells(x, 19).Value = t_1031kg.Value
Cells(x, 20).Value = t_1031wa.Value
Cells(x, 21).Value = t_1047kg.Value
Cells(x, 22).Value = t_1047wa.Value
Cells(x, 23).Value = t_1053kg.Value
Cells(x, 24).Value = t_1053wa.Value
Range("D13:X1267").Select
Selection.Sort Key1:=Range("D13"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("D13").Select
End Sub

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ohne VBA ;einfach mittels mit Datengültigkeit ...
21.10.2013 16:20:51
neopa
Hallo Snevi,
... angenommen es betrifft z.B. die Zellen in Spalte B ab Zeile 3, dann B3 aktivieren, die _ Zellen ab B3 nach unten markieren ->Datengültigkeit ->Benutzerdefiniert Formel:

=ZÄHLENWENN($B$3:$B$19;B3)=1 
eingeben. Für andere analog.
Gruß Werner
.. , - ...

Anzeige
AW: ohne VBA ;einfach mittels mit Datengültigkeit ...
21.10.2013 22:17:20
Snewi
Gibt es auch ne VbA Lösung?
Gruss

und was genau funktioniert nicht ..
22.10.2013 18:22:31
neopa
Hallo,
... ohne nähere Erläuterung Deinerseits, weiß ich aktuell nicht, was Du genau möchtest.
Gruß Werner
.. , - ...

Anzeige
AW: und was genau funktioniert nicht ..
22.10.2013 22:20:15
Snewi
Hallo,
schau dir doch mal die Mappe an, wenn ich eine vorhandene Zeile auswähle und diese dann mit OK bestätige wird sie unten eingetragen. Auch wenn es diese schon gibt! Sprich vorhandene gleiche Daten sollen nicht eingetragen werden sondern nur neue!
Gruss

ich hatte auch geschrieben:" ... ohne VBA " ...
23.10.2013 11:13:33
neopa
Hallo,
... und Du willst nun offensichtlich Deine VBA-Lösung geändert haben.
Gruß Werner
.. , - ...

Anzeige
AW: ich hatte auch geschrieben:" ... ohne VBA " ...
23.10.2013 14:02:18
Snewi
Also kannst du mir nicht helfen?
Jemand anderes hier vielleicht?
Gruß

ich stell es offen ...
23.10.2013 16:37:57
neopa
Hallo,
... aus VBA-Lösungen halte ich mich grundsätzlich heraus. Das können andere viel besser.
Gruß Werner
.. , - ...

AW: ich stell es offen ...
23.10.2013 22:06:20
Snewi
Hoffe das mir jemand helfen kann ?

Anzeige
evtl. geht es so ...
26.10.2013 15:10:58
Tino
Hallo,
kannst mal diesen Code testen (nicht ausgiebig getestet)
Private Sub cmd_eintragen_Click()
Dim x As Long, xx As Long, i As Long
Dim MaxRow As Long

    
x = Range("D13").End(xlDown).Row + 1

'letzte Benutzte Zeile in Tabelle 
MaxRow = Me.UsedRange.Cells(Me.UsedRange.Rows.Count, 1).Row

Cells(x, 4).Value = lbl_von.Caption
Cells(x, 5).Value = lbl_bis.Caption

i = 11 'Hilfszähler für Spalte 
For xx = 1021 To 1053
    'kg 
    With Me.OLEObjects("t_" & xx & "kg").Object
        'Prüfen ob in Spalte ab Zeile 13 vorhanden 
        If Application.WorksheetFunction.CountIf(Range(Cells(13, i), Cells(MaxRow, i)), .Text) = 0 Then
            Cells(x, i).Value = .Text 'nicht vorhanden 
        End If
    End With
    i = i + 1
    'wa 
    With Me.OLEObjects("t_" & xx & "wa").Object
        'Prüfen ob in Spalte vorhanden 
        If Application.WorksheetFunction.CountIf(Range(Cells(13, i), Cells(MaxRow, i)), .Text) = 0 Then
            Cells(x, i).Value = .Text 'nicht vorhanden 
        End If
    End With
    i = i + 1
Next xx

Range("D13:X1267").Sort Key1:=Range("D13"), Order1:=xlAscending, Header:=xlGuess, _
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal

Application.Goto Range("D13")
End Sub
Gruß Tino
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige