Entfernen Sie doppelte Zeichen in der Zeile in Excel

Entfernen Sie doppelte Zeichen in der Zeile in Excel

Ich versuche, es möglich zu machen, „x“ (ohne Anführungszeichen) nur einmal in jeder Zeile einzugeben. Ich würde lieber die Datenüberprüfung verwenden, aber wenn das nicht möglich ist, könnte ich auch VBA verwenden. Ich habe verschiedene Dinge mit COUNTIF z. B. bei der Datenüberprüfung ausprobiert, aber ich kann nur herausfinden, wie man Duplikate aus Spalten, nicht aus Zeilen entfernt.

Irgendwelche Ideen, was ich tun könnte?

Antwort1

Versuchen Sie das folgende Arbeitsblattereignismakro.(es benutzt COUNTIF()):

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim wf As WorksheetFunction, v As Variant
    Dim rng As Range, x As String
    
    Set wf = Application.WorksheetFunction
    v = Target.Value
    Set rng = Target.EntireRow
    x = "x"
    
    If v <> x Then Exit Sub
    If wf.CountIf(rng, x) > 1 Then
        Application.EnableEvents = False
            MsgBox "Too many x"
            Target.ClearContents
        Application.EnableEvents = True
    End If
End Sub

Da es sich um Arbeitsblattcode handelt, ist es sehr einfach,Installierenund automatisch zu verwenden:

  1. Klicken Sie mit der rechten Maustaste auf den Registerkartennamen unten im Excel-Fenster
  2. Wählen Sie „Code anzeigen“ – dadurch wird ein VBE-Fenster geöffnet
  3. Füge das Material ein und schließe das VBE-Fenster

Wenn Sie Bedenken haben, probieren Sie es zunächst auf einem Probearbeitsblatt aus.

Wenn Sie die Arbeitsmappe speichern, wird das Makro mit gespeichert. Wenn Sie eine neuere Version von Excel als 2003 verwenden, müssen Sie die Datei als .xlsm und nicht als .xlsx speichern.

Zuentfernendas Makro:

  1. Rufen Sie die VBE-Fenster wie oben auf
  2. Löschen Sie den Code
  3. Schließen Sie das VBE-Fenster

Weitere Informationen zu Makros im Allgemeinen finden Sie unter:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

Und

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

Weitere Informationen zu Ereignismakros (Arbeitsblattcode) finden Sie unter:

http://www.mvps.org/dmcritchie/excel/event.htm

Damit dies funktioniert, müssen Makros aktiviert sein!

Antwort2

Um noch etwas näher auf Garys Antwort einzugehen: Es gibt keine Möglichkeit, dies nur mit Datenvalidierung zu tun, und es ist VBA mit aktivierten Makros erforderlich, damit es genau wie beschrieben funktioniert.

Wenn Sie VBA vermeiden möchten, können Sie zunächst jede Zelle auf eine Dropdown-Liste mit „x“ oder „“ beschränken. Verwenden Sie nun bedingte Formatierung, um eine Warnung anzuzeigen, wenn counta größer als 1 ist. Der Benutzer muss dann die zusätzlichen x manuell löschen, bis die Warnung verschwindet.

verwandte Informationen