Supportnet / Forum / Tabellenkalkulation
Excel Mehrfacheinträge vermeiden
Frage
Hallo,
Durch eine der Suchmaschinen bin ich auf dieses Forum gestossen. Der technische Aubau und sein Inhalt sind ausgezeichnet. Ihr seid eine echt fähige Gruppe. :-) Alle Achtung!
Zu meiner Frage:
Meine Mitarbeiter im Ausland benutzen Excel als Kundendatenbank. Leider steht ihnen kein Access zur Verfügung und es kann auch nicht erworben werden.
Wer kann mir den Code angeben mit dem ich in Excel Mehrfacheinträge in derselben Spalte vermeiden kann? Zum Beispiel in der Spalte "Internetadresse URL".
Ich arbeite mit Excel 2002 in spanischer Sprache für Windows und lebe in Mexiko.
Ich bin mir sicher ihr wisst Rat.
Antwort 1 von nighty
hi nelsiro :)
hier ein beispiel auf die 5 spalte bezogen :)
einzufuegen unter alt f11(vbeditor)/projektexplorer/DeineTabelle
gruss nighty
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zeile, spalte
Dim wert01, suchen01
Application.EnableEvents = False
zeile = Target.Row
spalte = Target.Column
wert01 = Target.Value
rem spalte = 5 ist spalte E
If spalte = 5 Then Cells(zeile, spalte) = ""
rem ("E1:E65535") ist spalte E
Set suchen01 = Worksheets(1).Range("E1:E65535").Find(wert01, LookIn:=xlValues)
If Not suchen01 Is Nothing And spalte = 5 Then
Cells(zeile, spalte).Select
Else
rem spalte = 5 ist spalte E
If spalte = 5 Then Cells(zeile, spalte) = wert01
End If
Application.EnableEvents = True
End Sub
hier ein beispiel auf die 5 spalte bezogen :)
einzufuegen unter alt f11(vbeditor)/projektexplorer/DeineTabelle
gruss nighty
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zeile, spalte
Dim wert01, suchen01
Application.EnableEvents = False
zeile = Target.Row
spalte = Target.Column
wert01 = Target.Value
rem spalte = 5 ist spalte E
If spalte = 5 Then Cells(zeile, spalte) = ""
rem ("E1:E65535") ist spalte E
Set suchen01 = Worksheets(1).Range("E1:E65535").Find(wert01, LookIn:=xlValues)
If Not suchen01 Is Nothing And spalte = 5 Then
Cells(zeile, spalte).Select
Else
rem spalte = 5 ist spalte E
If spalte = 5 Then Cells(zeile, spalte) = wert01
End If
Application.EnableEvents = True
End Sub
Antwort 2 von nighty
hi alle :)
mit dem NOT=grrrr bin ich aber arg ins schleudern gekommen,benutzen wir wohl selten :)))
gruss nighty
mit dem NOT=grrrr bin ich aber arg ins schleudern gekommen,benutzen wir wohl selten :)))
gruss nighty
Antwort 3 von want2cu
Hallo nelsiro,
ich habe leider wieder mal "nur" eine Formellösung über die bedinget Formatierung. sie ist aber m.E: sehr einfach und pragmatisch:
=ZÄHLENWENN(A:A;A1)=2
Diese Formel über FORMAT-BEDINGET FORMATIERUNG-FORMEL IST
in Zelle a1 eintragen.
Dann z.B. als Muster ROT auswählen oder irgendwas Auffälliges
Dann mit dem Formatpinsel soweit wie benötigt nach unten kopieren.
Wird jetzt in Spalte A ein EIntrag zum zweiten Mal eingetragen, dann werden beide Einträge automatisch im gewünschten Format angezeigt.
CU
want2cu
ich habe leider wieder mal "nur" eine Formellösung über die bedinget Formatierung. sie ist aber m.E: sehr einfach und pragmatisch:
=ZÄHLENWENN(A:A;A1)=2
Diese Formel über FORMAT-BEDINGET FORMATIERUNG-FORMEL IST
in Zelle a1 eintragen.
Dann z.B. als Muster ROT auswählen oder irgendwas Auffälliges
Dann mit dem Formatpinsel soweit wie benötigt nach unten kopieren.
Wird jetzt in Spalte A ein EIntrag zum zweiten Mal eingetragen, dann werden beide Einträge automatisch im gewünschten Format angezeigt.
CU
want2cu
Antwort 4 von nighty
hi alle :))
schniff war im falschen thema eben,hier nochmal :(
bei doppelter eingabe wird diese geloescht,auf der zelle verblieben und diese zelle farbig angezeigt bis eine neue eingabe erfolgte,erfolgt diese neue eingabe wird die farbhinterlegung wieder geloescht,selbst wenn die neue eingabe an anderer position erfolgt wird die alte farbhinterlegung geloescht :)))
gruss nighty
Public farbe As Integer
Public fest As Boolean
Public zeile1, spalte1
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zeile, spalte
Dim wert01, suchen01
Application.EnableEvents = False
zeile = Target.Row
spalte = Target.Column
wert01 = Target.Value
If fest = True Then
Cells(zeile1, spalte1).Interior.ColorIndex = farbe
fest = False
End If
If spalte = 5 Then Cells(zeile, spalte) = ""
Set suchen01 = Worksheets(1).Range("E1:E65535").Find(wert01, LookIn:=xlValues)
If Not suchen01 Is Nothing And spalte = 5 Then
Cells(zeile, spalte).Select
farbe = Cells(zeile, spalte).Interior.ColorIndex
Cells(zeile, spalte).Interior.ColorIndex = 22
zeile1 = zeile
spalte1 = spalte
fest = True
Else
If spalte = 5 Then Cells(zeile, spalte) = wert01
End If
Application.EnableEvents = True
End Sub
schniff war im falschen thema eben,hier nochmal :(
bei doppelter eingabe wird diese geloescht,auf der zelle verblieben und diese zelle farbig angezeigt bis eine neue eingabe erfolgte,erfolgt diese neue eingabe wird die farbhinterlegung wieder geloescht,selbst wenn die neue eingabe an anderer position erfolgt wird die alte farbhinterlegung geloescht :)))
gruss nighty
Public farbe As Integer
Public fest As Boolean
Public zeile1, spalte1
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zeile, spalte
Dim wert01, suchen01
Application.EnableEvents = False
zeile = Target.Row
spalte = Target.Column
wert01 = Target.Value
If fest = True Then
Cells(zeile1, spalte1).Interior.ColorIndex = farbe
fest = False
End If
If spalte = 5 Then Cells(zeile, spalte) = ""
Set suchen01 = Worksheets(1).Range("E1:E65535").Find(wert01, LookIn:=xlValues)
If Not suchen01 Is Nothing And spalte = 5 Then
Cells(zeile, spalte).Select
farbe = Cells(zeile, spalte).Interior.ColorIndex
Cells(zeile, spalte).Interior.ColorIndex = 22
zeile1 = zeile
spalte1 = spalte
fest = True
Else
If spalte = 5 Then Cells(zeile, spalte) = wert01
End If
Application.EnableEvents = True
End Sub
Antwort 5 von nighty
hi alle :)
da bin ich wieder :)
hier mit eingeblendeten kommentarfeld,info zeilennummer des doppelten eintrages wie den zelleninhalt nochmals als darstellung,bei nachfolgender eingabe erfolgt die loeschung des eventuellen zuvorerstellten commentfeldes :)
gruss nighty
Public fest As Boolean
Public zeile1, spalte1
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zeile, spalte, wert01, suchen01
On Error GoTo fehler
Application.EnableEvents = False
zeile = Target.Row
spalte = Target.Column
wert01 = Target.Value
If fest = True Then
Cells(zeile1, spalte1).Comment.Delete
fest = False
End If
If spalte = 5 Then Cells(zeile, spalte) = ""
Set suchen01 = Worksheets(1).Range("E1:E65535").Find(wert01, LookIn:=xlValues)
If Not suchen01 Is Nothing And spalte = 5 Then
Cells(zeile, spalte).Select
Cells(zeile1, spalte1).Comment.Delete
Cells(zeile, spalte).AddComment
text2 = "Dieser Inhalt ist schon in zeile " & suchen01.Row & " vorhanden !"
Cells(zeile, spalte).Comment.Text Text:=text2 & Chr$(10) & Chr$(10) & Cells(suchen01.Row, suchen01.Column)
Cells(zeile, spalte).Comment.Visible = True
zeile1 = zeile
spalte1 = spalte
fest = True
Else
If spalte = 5 Then Cells(zeile, spalte) = wert01
End If
fehler:
If Err = 91 Then Resume Next
Application.EnableEvents = True
End Sub
da bin ich wieder :)
hier mit eingeblendeten kommentarfeld,info zeilennummer des doppelten eintrages wie den zelleninhalt nochmals als darstellung,bei nachfolgender eingabe erfolgt die loeschung des eventuellen zuvorerstellten commentfeldes :)
gruss nighty
Public fest As Boolean
Public zeile1, spalte1
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zeile, spalte, wert01, suchen01
On Error GoTo fehler
Application.EnableEvents = False
zeile = Target.Row
spalte = Target.Column
wert01 = Target.Value
If fest = True Then
Cells(zeile1, spalte1).Comment.Delete
fest = False
End If
If spalte = 5 Then Cells(zeile, spalte) = ""
Set suchen01 = Worksheets(1).Range("E1:E65535").Find(wert01, LookIn:=xlValues)
If Not suchen01 Is Nothing And spalte = 5 Then
Cells(zeile, spalte).Select
Cells(zeile1, spalte1).Comment.Delete
Cells(zeile, spalte).AddComment
text2 = "Dieser Inhalt ist schon in zeile " & suchen01.Row & " vorhanden !"
Cells(zeile, spalte).Comment.Text Text:=text2 & Chr$(10) & Chr$(10) & Cells(suchen01.Row, suchen01.Column)
Cells(zeile, spalte).Comment.Visible = True
zeile1 = zeile
spalte1 = spalte
fest = True
Else
If spalte = 5 Then Cells(zeile, spalte) = wert01
End If
fehler:
If Err = 91 Then Resume Next
Application.EnableEvents = True
End Sub
Antwort 6 von nighty
hi alle :)
mit sprachausgabe waere schoen,hab ja eine excel datei die mp3 abspielt,schniff nur zu umfangreich,wird zeit das dieses mal hinzukommt bei excel,gibt es da geruechte schon vielleicht ?
gruss nighty
mit sprachausgabe waere schoen,hab ja eine excel datei die mp3 abspielt,schniff nur zu umfangreich,wird zeit das dieses mal hinzukommt bei excel,gibt es da geruechte schon vielleicht ?
gruss nighty
Antwort 7 von nighty
hi alle :)
wenn es dann mal soweit sein sollte moecht ich doch die stimme von Marylin Monroe :)))
wer koennte da noch sauer auf fehler sein :)
gruss nighty
wenn es dann mal soweit sein sollte moecht ich doch die stimme von Marylin Monroe :)))
wer koennte da noch sauer auf fehler sein :)
gruss nighty
Ich möchte kostenlos eine Frage an die Mitglieder stellen:
Ähnliche Themen:
- Ich möchte in Excel den Inhalte aller TXT-Dateien eines Verzeichnisses in ein Excel Blatt kopieren.
- Excel: Nach einer Zeicheneingabe soll Excel automatisch in die nächste Zelle springen
- Aus Mehren Excel- Dateien Daten in eine Excel Datei einlesen
- Excel - Symbolleiste speichern - Datei excel*.xlb fehlt
- Excel 2002 Dateien in Excel 2007 für MS Vista Home Premium