Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1536to1540
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

In Spalte nur einen Eintrag zulassen

In Spalte nur einen Eintrag zulassen
23.01.2017 09:54:00
obelix-xxl
Hallo zusammen,
durch welchen Code / Makro kann ein zweiter Eintrag in bestimmten Spalten verhindert werden (Hinweistext ist gewünscht)?
Beispiel:
In den Spalten B, E, I und L wird mit einem x eine Auswahl getroffen. Diese Auswahl darf in dieser Spalte nur einmal vorkommen, weitere Eintragungen dürfen nicht zugelassen werden. Ein Hinweis wie z.B. "Spalte B: nur eine Auswahl erlaubt!" und z.B. "Spalte C: nur eine Auswahl erlaubt!" ... wäre hilfreich.
Der Bereich in jeder der vorgenannten Spalten ist von Zeile 7 bis 500 begrenzt.
Über eine Ünterstützung würde ich mich sehr freuen.
LG obelix

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In Spalte nur einen Eintrag zulassen
23.01.2017 10:09:43
UweD
Hallo
Ohne Code, mit Bordmitteln...
Beispielhaft für B
- markiere B7:B500
- Daten, Datenüberprüfung
- Reiter Einstellungen: bei Zulassen: Benutzerdefiniert auswählen
- Bei Formel: =ANZAHL2($B$7:$B$500)&lt=1
- Reiter Fehlermeldung "Spalte B: nur eine Auswahl erlaubt!"
- Ok
das gleiche für die anderen Spalten wiederholen
LG UweD
AW: In Spalte nur einen Eintrag zulassen
23.01.2017 10:12:07
iris
Hallo!
Ich denke so sollte es klappen:
Spalte markieren
Daten
Datenüberprüfung
Zulassen: Benutzerdef.
Formel: =Anzahl(A:A)=1
Grüße, Iris
AW: In Spalte nur einen Eintrag zulassen
23.01.2017 11:50:58
obelix-xxl
Hallo UweD und iris,
das ging ja mit einer Lösung super schnell und passt so.
Danke.
Gibt es auch eine automatische Lösung als Makro? Dann müssten die Bereiche definiert werden und ein weiterer Eintrag in diese Spalten wird verhindert?
LG obelix
Anzeige
AW: In Spalte nur einen Eintrag zulassen
23.01.2017 12:02:23
iris
Hallo!
Mit VBA kenne ich mich nicht wirklich aus, leider.
Aber was wäre der Vorteil?
AW: In Spalte nur einen Eintrag zulassen
23.01.2017 12:56:37
obelix-xxl
Hallo iris,
der Vorteil wäre ein "Automatismus" der im Verborgenen arbeitet und den nicht jeder auf konventionellem Wege anpassen kann.
Jede Lösung ist sicher Geschmacksache.
Deine und die Lösung von UweD funktionieren ja auch zuverlässig.
LG obelix
AW: In Spalte nur einen Eintrag zulassen
23.01.2017 13:15:28
UweD
Hallo
dann so...
- Rechtsclick auf den Tabellenblattreiter
- Code anzeigen
- Diesen Code dort reinkopieren
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim RNG As Range, TMP
    Set RNG = Me.Rows("7:500")
    If Not Intersect(Me.Range("B:B,E:E,I:I"), Target, RNG) Is Nothing Then
        On Error GoTo Fehler
        If WorksheetFunction.CountA(Intersect(Columns(Target.Column), RNG)) > 1 Then
            With Application
                TMP = MsgBox("Nur eine Eingabe in der Spalte erlaubt", vbCritical, "Fehler")
                .EnableEvents = False
                .Undo
            End With
        End If
    End If
    Err.Clear
Fehler:
    Application.EnableEvents = True
    If Err.Number <> 0 Then MsgBox "Fehler: " & _
        Err.Number & vbLf & Err.Description: Err.Clear
End Sub


LG UweD
Anzeige
AW: In Spalte nur einen Eintrag zulassen
23.01.2017 17:39:02
obelix-xxl
Hallo UweD,
super, Deine Lösung funktioniert prima.
Danke!!!
Kann ich einen zweiten Code der Tabelle1 zuordnen ohne "Deinen" Code zu löschen?
LG obelix
AW: In Spalte nur einen Eintrag zulassen
23.01.2017 18:17:35
UweD
Ja, andere Events ganz problemlos.
Im Change- Event die richtigen Positionen brachen.
Lg UweD
AW: In Spalte nur einen Eintrag zulassen
23.01.2017 19:29:40
obelix-xxl
Hallo Uwe,
Deinen Hinweis habe ich nicht verstanden.
LG obelix
AW: In Spalte nur einen Eintrag zulassen
24.01.2017 08:39:49
UweD
Hallo
Im Codebereich der Tabelle werden Ereignisprozeduren abgelegt.
Es werden Ereignisse auf diesem Tabellenblatt überwacht, und dann entsprecherne Makros gestartet.
In dem Fall das Worksheet_Change (also wenn im Blatt eine Zelle geändert wird.
Es gibt aber jede Menge andere Ereignisse
- Worksheet_SelectionChange (wenn eine Zelle ausgewählt wird / egal ob mit Tastatur oder Maus)
- Worksheet_Activate (wenn das Blatt aktiviert wird)
- Worksheet_BeforeRightClick (wenn in einer Zelle eine Rechtsclick mit der Maus vorgenommen wird)
- usw.
Alle diese Proceduren laufen unabhängig voneinander.
Wenn du nun weiteren Code im Worksheet_Change abarbeiten lassen möchtest, dann solltest du aufpassen, wo / wie du diesen Code anordnest.
LG UweD
Anzeige
AW: In Spalte nur einen Eintrag zulassen
24.01.2017 09:35:06
obelix-xxl
Hallo Uwe,
Danke für die ausführliche Erklärung.
Heute morgen habe ich hier weitere Hinweise gefunden, das hat auch bei der Lösung geholfen:
https://msdn.microsoft.com/de-de/library/office/hh211482(v=office.14).aspx
Beide Codes habe ich jetzt der Tabelle1 zugeordnet, einmal zu Change und den zweiten Code zu selction_change. Die gewünschte Funktion ist jetzt gegeben.
Ich habe wieder etwas Neues gelernt.
Nochmals meinen Dank.
LG obelix
gern geschehen owT
25.01.2017 09:31:28
UweD

13 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige