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

Forumthread: Spalten mit einem Wert in Zeile

Spalten mit einem Wert in Zeile
05.04.2023 08:06:43
Andreas B.

Hallo zusammen

In Excel möchte ich drei Spalten (F, G und H) so einrichten, dass jeweils in jeder Zeile der Wert "X" nur einmal vorkommen darf (quasi wie ein Radio-Button, bei dem nur ein Wert angeklickt werden kann).

Das heisst, wenn in Zelle F5 ein "x" eingetragen ist, darf weder die Zelle G5 noch H5 ein "x" enthalten. Dies kann natürlich nicht mit Formeln , sondern müsste mit VBA umgesetzt werden. Doch ich weiss nicht wie.

Könnt Ihr mir weiterhelfen?

Vielen herzlichen Dank!

Gruss
Andreas

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten mit einem Wert in Zeile
05.04.2023 08:08:41
SF
Hola,
Dies kann natürlich nicht mit Formeln
natürlich nicht....oder halt mit Zählenwenn() in der Datenüberprüfung.
Gruß,
steve1da


AW: Spalten mit einem Wert in Zeile
05.04.2023 09:22:14
Andreas B.
Besten Dank steve1da

Das war mir gar nicht bewusst, dass man in Datengültigkeitsprüfungen auch Formeln hinterlegen kann. Vielen Dank! Ich habe es ausgetestet und es funktioniert. Nicht so schön ist halt die Fehlermeldung, die herausgegeben wird (Button "Wiederholen", "Abbrechen", "Hilfe"). Mit VBA könnte man da spezifischere Meldungen anzeigen lassen. Vielleicht hat ja Jemand noch eine Idee. Andernfalls belasse ich es bei der Gültigkeitsprüfung ;-)

Gruss
Andreas


Anzeige
AW: Spalten mit einem Wert in Zeile
05.04.2023 09:24:24
SF
Man kann ja die Fehlermeldung in der Datenüberprüfung ein wenig konfigurieren, aber nicht wirklich viel.


AW: Spalten mit einem Wert in Zeile
05.04.2023 09:29:40
MCO
Hallo Andreas!

Der Ansatz von SF warnt bzw. verhindert eine weitere Eingabe in die anderen Spalten.

Dieser Code übernimmt nur die letzte Eingabe und löscht die anderen Felder in der Zeile. Vielleicht entspricht das eher deiner Vorstellung...

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim col As Single
    Dim wert As String
    Dim ber As Range
    
    col = Target.Column
    wert = Target.Value
    Set ber = Application.Intersect(Target, Range("F:H"))
    If Not ber Is Nothing Then
        Application.EnableEvents = False
        Range("F" & Target.Row & ":H" & Target.Row).ClearContents
        Target.Value = wert
        Application.EnableEvents = True
    End If
    Set ber = Nothing
End Sub
Gruß, MCO


Anzeige
Danke!
05.04.2023 10:13:36
Andreas B.
Guten Morgen MCO

Vielen Dank für den Code und die Arbeit, die Du Dir für die Beantwortung meiner Frage gemacht hast.

Das ist genau, was ich gesucht habe! Absolut genial!
Gleichzeitig habe ich im Bereich VBA wieder was gelernt.

Nochmals Danke!

Gruss


Anzeige
AW: Spalten mit einem Wert in Zeile
05.04.2023 10:56:13
Daniel
Hi
noch mehr OptionButton-Feeling bekommst du, wenn du die auswahl durch anklicken machen kannst.
am einfachsten durch Doppellick:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Bereich As Range
Set Bereich = Range("F:H")

If Not Intersect(Target, Bereich) Is Nothing Then
    Intersect(Target.EntireRow, Bereich).ClearContents
    Target.Value = "x"
End If
    
End Sub
damit verhält sich jede Zeile im angegebenen Zellbereich wie eine Gruppe Optionbuttons.
Gruß Daniel


Anzeige
AW: Spalten mit einem Wert in Zeile
05.04.2023 15:09:19
Andreas B.
Genial, vielen Dank, Daniel für Deine Arbeit und die tolle Lösung!
Gruss
Andreas

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige