Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1380to1384
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

Range mehrere Bereiche setzen

Range mehrere Bereiche setzen
24.09.2014 20:27:41
Sascha

Hallo liebe Experten,
Ich steh auf dem Schlauch.
Ich möchte eine doppelte Eingabe Abfangen.
Wenn ich nur einen Bereich angebe funktioniert es tadellos.
Mehrere Bereiche zu definieren, schaffe ich nicht.
Obwohl ich den Range-Bereich im sub test() genau gleich angebe. Beim sub test() markiert es mir aber die Bereiche so wie ich es will.
Kann mir jemand helfen?

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Set Bereich = Range("A3:A15,B3:B9,C3:C9")
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Intersect(Bereich, Target) Is Nothing Then Exit Sub
If WorksheetFunction.CountIf(Bereich, Target.Value) > 1 Then
MsgBox ("Doppelter Eintrag nicht zulässig")
Application.EnableEvents = False
Target.Value = ""
End If
End Sub
Sub test()
Sheets("Hilf").Range("A3:A15,B3:B9,C3:C9").Select
End Sub
Liebe Grüsse
Sascha

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range mehrere Bereiche setzen
24.09.2014 22:21:05
Beverly
Hi Sascha,
su kannst es so lösen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range
Set Bereich = Range("A3:A15,B3:B9,C3:C9")
If Target.Cells.Count > 1 Then Exit Sub
If Target.Value = "" Then Exit Sub
If Intersect(Bereich, Target) Is Nothing Then Exit Sub
If WorksheetFunction.CountIf(Bereich.Areas(1), Target.Value) + _
WorksheetFunction.CountIf(Bereich.Areas(2), Target.Value) + _
WorksheetFunction.CountIf(Bereich.Areas(3), Target.Value) > 1 Then
MsgBox ("Doppelter Eintrag nicht zulässig")
Application.EnableEvents = False
Target.Value = ""
End If
End Sub


Anzeige
AW: Range mehrere Bereiche setzen
25.09.2014 07:20:54
Sascha
Hallo Beverly,
Vielen Dank für Deine Hilfe.
Leider funktioniert es so auch noch nicht.
Nun funktioniert es NUR im Bereich ("C3:C9").
Die anderen beiden Bereiche werden ignoriert...
Hast Du noch eine andere Idee?
Gruss Sascha

AW: Range mehrere Bereiche setzen
25.09.2014 08:18:38
Beverly
Hi Sascha,
du musst die Reaktion auf die Eingabe auch wieder einschalten (diesen generellen Fehler hatte ich in deinem Ausgangscode übersehen):
    If WorksheetFunction.CountIf(Bereich.Areas(1), Target.Value) + _
WorksheetFunction.CountIf(Bereich.Areas(2), Target.Value) + _
WorksheetFunction.CountIf(Bereich.Areas(3), Target.Value) > 1 Then
MsgBox ("Doppelter Eintrag nicht zulässig")
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
End If


Anzeige
AW: Range mehrere Bereiche setzen
25.09.2014 19:06:55
Sascha
Hallo Beverly,
Aaaaahhh Super!
So funktioniert es Prima.
Bin froh!
Vielen Dank nochmals für Deine Hilfe!
Ganz liebe Grüsse
Sascha

AW: Range mehrere Bereiche setzen
25.09.2014 07:42:25
Sascha
Hallo,
Ich habe folgende Lösung gefunden.
So funktioniert es:
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.WorksheetFunction.CountIf(Range("A3:A15"), Target) > 1 Then
Target = ""
MsgBox ("Doppelter Eintrag nicht zulässig")
End If
If Application.WorksheetFunction.CountIf(Range("B3:B9"), Target) > 1 Then
Target = ""
MsgBox ("Doppelter Eintrag nicht zulässig")
End If
If Application.WorksheetFunction.CountIf(Range("C3:C9"), Target) > 1 Then
Target = ""
MsgBox ("Doppelter Eintrag nicht zulässig")
End If
End Sub
Vielen Dank
Gruss Sascha

Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige