Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Löschfunktion ??
#11
Hallo Fred,

wie sieht es jetzt aus?

Option Explicit 

Const bolSorted As Boolean = True       ' Legt fest, ob die Werte noch sortiert werden.
Dim blockedEvent As Boolean
Dim TargetOldText As String

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim arrSorted As Variant
 Dim bolKennwort As Boolean
 Dim i As Long
 Dim strResult As String
 Dim strTarget As String
 Dim varEintrag As Variant
 If Not Application.Intersect(Target, Range("A1:D20", "E1:F20")) Is Nothing Then
   On Error Resume Next
   Application.EnableEvents = False
   If Target.Count > 1 Then
     Application.Undo
   Else
     If IsEmpty(Target) Then
       bolKennwort = InputBox("Bitte das Löschen mit Kennwort bestätigen!") = "Passwort"
       If bolKennwort = False Then
         MsgBox "Der Eintrag wird nicht gelöscht, da das Kennwort falsch war!", vbCritical
       End If
     End If
     If bolKennwort = False Then
       varEintrag = Target.Value
       Application.Undo
       If IsEmpty(Target) Then
         Target.Value = varEintrag
       Else
         MsgBox "Eintag ist nur in einer leeren Zelle möglich!", vbCritical
       End If
     End If
   End If
   Application.EnableEvents = True
   On Error GoTo 0
 End If
 Exit Sub
 If Target.Column = 13 Or Target.Column = 24 Then
     strTarget = Trim$(Target.Value)
     If Not blockedEvent Then
         blockedEvent = True
         If Not TargetOldText = "" And Not Target.Value = "" Then
             If InStr(1, TargetOldText, Target.Value) > 0 Then
                 strResult = Replace(TargetOldText, ", " & strTarget, "")
                 strResult = Replace(strResult, strTarget & ", ", "")
                 strResult = Replace(strResult, strTarget, "")
             Else
                 strResult = TargetOldText & ", " & Target.Value
             End If
             If bolSorted Then
                 arrSorted = Split(strResult, ", ")
                 strResult = ""
                 Call Selectionsort(arrSorted)
                 For i = 0 To Ubound(arrSorted)
                     strResult = strResult & arrSorted(i) & ", "
                 Next i
                 If Len(strResult) > 1 Then _
                 strResult = Left$(strResult, Len(strResult) - 2)
             End If
             Target.Value = strResult
         Else
             Target.Value = Target.Value
         End If
         TargetOldText = Target.Value
     Else
         blockedEvent = False
     End If
 Else
     TargetOldText = ""
 End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 TargetOldText = Target.Value
End Sub

Private Sub Selectionsort(ByRef data As Variant)
 Dim OG&, i&, j&, k&, h As Variant
 OG = Ubound(data)
 For i = 0 To OG - 1
     h = data(i)
     k = i
     For j = i + 1 To OG
         If data(j) < h Then
             h = data(j)
             k = j
         End If
     Next j
     data(k) = data(i)
     data(i) = h
 Next i
End Sub

Gruß Uwe
Antworten Top
#12
Also jetzt passt alles VIELEN DANK !!!!
Antworten Top
#13
Hallo Uwe,
habe nochmals die Datei angehängt, denn jetzt hab ich das ganze etwas umgeschrieben und es klappt eigentlich alles bis auf den Mehrfacheintrag in Spalte M und X. Hier sollte ein Mehrfacheintrag möglich sein, wird aber jetzt durch die
Verhinderung des mehrfacheintrags in den anderen Spalten unmöglich gemacht.


Angehängte Dateien
.xlsm   Test.xlsm (Größe: 25,19 KB / Downloads: 3)
Antworten Top
#14
Hallo Fred,

ändere die Zeile
If Not Application.Intersect(Target, Range("E1:K31", "P1:V31")) Is Nothing Then

zu
If Not Application.Intersect(Target, Range("E1:K31,P1:V31")) Is Nothing Then

Dann ist zuminstest mein Code nicht mehr am Nichtfunktionieren beteiligt. Wink

Gruß Uwe
Antworten Top
#15
Hast irgendeine Möglichkeit das in den beiden Spalten M und X eine mehrfach Eintragung möglich ist....??

Gruß Fred
Antworten Top
#16
Hallo Fred,

(18.12.2015, 11:51)Fredl55 schrieb: Hast irgendeine Möglichkeit das in den beiden Spalten M und X eine mehrfach Eintragung möglich ist....??

Gruß Fred

autsch.  Blush
Entferne die Zeile

Exit Sub

Gruß Uwe
Antworten Top
#17
Sorry das ich mich jetzt erst melde, also passt alles wunderbar, vielen Dank für die Hilfe !!+
Gruß Fred
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste