![Entfernen Sie doppelte Zeichen in der Zeile in Excel](https://rvso.com/image/1638107/Entfernen%20Sie%20doppelte%20Zeichen%20in%20der%20Zeile%20in%20Excel.png)
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:
- Klicken Sie mit der rechten Maustaste auf den Registerkartennamen unten im Excel-Fenster
- Wählen Sie „Code anzeigen“ – dadurch wird ein VBE-Fenster geöffnet
- 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:
- Rufen Sie die VBE-Fenster wie oben auf
- Löschen Sie den Code
- 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.