MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 13.01.2018, 00:58   #1
KitapWurm
Neuer Benutzer
Neuer Benutzer
Standard VBA - Variable mehrere Bereiche zuweisen und nächste Routine Starten

Hallo zusammen,

ich bastel noch immer an meinem Plan rum
Jetzt würde ich gerne überprüfen lassen, ob ein Mitarbeiter doppelt verplant wurde, die Abfrage muss spaltenweise + einem definierten Bereich erfolgen.

Für eine Spalte bekomme ich das auch hin, jedoch weiß ich nicht wie ich die Routine für die zweite Spalte einbinde oO.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim BereichSo As Range
Set BereichSo = Range("B8:B655")
If Target.Value = "f" Then Exit Sub
If Target.Value = "Sonntag" Then Exit Sub
If Target.Value = "" Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub
If Intersect(BereichSo, Target) Is Nothing Then Exit Sub
If WorksheetFunction.CountIf(BereichSo, Target.Value) > 1 Then
MsgBox ("Der Mitarbeiter ist bereits verplant!")
Application.EnableEvents = False
Target.Value = "f"
Application.EnableEvents = True
Target.Select
End If
End Sub


Wie binde ich hier eine zweite Spalte C mit der Variablen BereichMo ein?
Die Abfrage darf nur vertikal, nicht horizontal erfolgen.

-------------------------------------

Mein zweites Problem ist, dass ich der Variablen einen Bereich in einer Spalte zuweise, jedoch nicht noch einen zusätzlichen Bereich einbinden kann.

Dim Bereich As Range
Set Bereich = Range("B8:B655")

funktioniert,
Dim Bereich As Range
Set Bereich = Range("B8:B655;F15:H28")

Funktioniert nicht, eine wilde Kombination aus Klammern, & Zeichen und Gänsefüßchen hat zu keinem brauchbaren Ergebnis geführt.

Sollte ich mich in meiner Problembeschreibung undeutlich ausgedrückt haben, gerne nochmal nach harken.
Für den ein oder anderen Trick bin ich aufgeschlossen und dankbar
KitapWurm ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2018, 01:45   #2
Werner.M
MOF User
MOF User
Standard

Hallo,

meinst du so was:
Code:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim BereichSo As Range, BereichMo As Range

Set BereichSo = Range("B8:B655")
Set BereichMo = Range("C8:C655")

If Target.Column < 2 Or Target.Column > 3 Then Exit Sub
If Target.Value = "f" Then Exit Sub
If Target.Value = "Sonntag" Then Exit Sub
If Target.Value = "" Then Exit Sub
If Target.Cells.Count > 1 Then Exit Sub

Select Case Target.Column
    Case 2
        If Intersect(BereichSo, Target) Is Nothing Then Exit Sub
        If WorksheetFunction.CountIf(BereichSo, Target.Value) > 1 Then
            MsgBox ("Der Mitarbeiter ist bereits verplant!")
            Application.EnableEvents = False
            Target.Value = "f"
            Application.EnableEvents = True
            Target.Select
        End If
    Case 3
        If Intersect(BereichMo, Target) Is Nothing Then Exit Sub
        If WorksheetFunction.CountIf(BereichMo, Target.Value) > 1 Then
            MsgBox ("Der Mitarbeiter ist bereits verplant!")
            Application.EnableEvents = False
            Target.Value = "f"
            Application.EnableEvents = True
            Target.Select
        End If
    Case Else
        'nichts machen
End Select

End Sub

Gruß Werner
Werner.M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2018, 02:44   #3
KitapWurm
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Werner,

danke für die schnelle Bearbeitung

Ja deine Lösung ist exakt das was ich nicht hin bekommen habe .

Jetzt habe ich nur noch das Problem, dass zu jeder Spalte noch ein zusätzlicher Bereich geprüft werden soll.

Bei der Variable "BereichSo" wäre es B8:B655 und A660:H670

Wenn dir dazu noch etwas einfällt wäre ich wunschlos glücklich 8-)

VG
KitapWurm
KitapWurm ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2018, 03:17   #4
Werner.M
MOF User
MOF User
Standard

Hallo,

ein paar Infos mehr dürften es schon sein. Was soll den geprüft werden?

Gruß Werner
Werner.M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2018, 04:49   #5
KitapWurm
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Werner,

es handelt sich um den geposteten Code.

Im Moment fragt die Variable nur eine Spalten Bereich ab,

PHP-Code:

set BereichSo Range("B8:B655"
zu der Spalte soll aber noch ein zusätzlicher Bereich geprüft werden, z.B. E12:T34

PHP-Code:

set BereichSo Range("B8:B655;E12:T34"
PHP-Code:

set BereichSo Range("B8:B655";"E12:T34"
PHP-Code:

set BereichSo Range("B8:B655","E12:T34"
PHP-Code:

set BereichSo Range("B8:B655"&"E12:T34"
funktioniert nicht.

Wie kann ich die Range der Variable so deklarieren, dass mehrere Bereiche abgefragt werden?

VG
KitapWurm
KitapWurm ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.01.2018, 12:18   #6
Werner.M
MOF User
MOF User
Standard

Hallo,

dann so:
Code:

Set BereichSo = Union(Range("B8:B655"), Range("E12:T34"))
Set BereichMo = Union(Range("C8:C655"), Range("E12:T34"))

Gruß Werner
Werner.M ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.