Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1484to1488
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

Excel VBA Eingabe Spalte abhängig zueinande

Excel VBA Eingabe Spalte abhängig zueinande
08.04.2016 08:19:30
Chris
Hallo zusammen,
ich benötige eure Unterstützung bei folgendem Problem:
Für eine Überprüfung der Eingabe möchte ich zwei Spalte in Abhängigkeit zueinander überprüfen.
Wenn in Spalte A (A8:A108) das Wort "Active" eingegeben wurde darf in Spalte B (B8:B108) bei der Eingabe kein Leerzeichen vorhanden sein. Das gleiche umgekehrt.
Folgenden Code habe ich hierzu gebastelt. Es funktioniert nur die Erste Überprüfung und auch nur mit dem ErrorHandler.

Private Sub Worksheet_Change(ByVal Target As Range)
'On Error GoTo GetOut
If Intersect(Range("B8:B108"), Target) Like "* *" Then 'Eingegebene Wert
If Cells(Target.Row, 1) Like "*Active*" Then 'Vorhandene Wert
MsgBox "In Active Gruppen dürfen keine Leerzeichen stehen. Bitte entfernen Sie diese  _
und tätigen Ihre Eingabe erneut. Vielen Dank"
Application.Undo
End If
ElseIf Intersect(Range("A8:A108"), Target) Like "*Active*" Then 'Eingegebene Wert
If Cells(Target.Row, 2) Like "* *" Then 'Vorhandene Wert
MsgBox "In Active Gruppen dürfen keine Leerzeichen stehen. Bitte entfernen Sie  _
diese und tätigen Ihre Eingabe erneut. Vielen Dank"
Application.Undo
End If
End If
'GetOut:
End Sub
Für Tipps wäre ich sehr dankbar!
Viele Grüße Chris

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel VBA Eingabe Spalte abhängig zueinande
08.04.2016 08:43:01
Fennek
Hallo Chris,
mit ,intersect' kann man prüfen, ob 'target''in einem bestimmten Bereich liegt, aber nicht den Inhalt von Zellen.
Ich habe in deienm Text nicht verstanden, in welcher Zelle 'Active' steht. Falls es irgendwo in Spalte A oder B stehen sollte, brauchst du einen 'range.find' -Befehl.
Mfg

AW: Excel VBA Eingabe Spalte abhängig zueinande
08.04.2016 09:00:43
Chris
Hallo Fennek,
danke für deine Antwort. Es soll überprüft wer ob in Spalte A8 "Active" steht, dann darf in Spalte B8 keine Leerzeichen vorhanden sein. Wenn in Spalte B8 ein Leerzeichen vorhanden ist in darf wiederum A8 kein "Active" eingegeben werden. Die Überprüfung soll immer im Bereich A8:108 und B8:108 stattfinden und immer bei der Eingabe überprüft werden. Trifft das zu soll die Eingabe entfernt werden (Application.Undo). Hoffe ist nun verständlicher :)
Viele Grüße Chris

Anzeige
AW: Excel VBA Eingabe Spalte abhängig zueinande
08.04.2016 08:58:53
UweD
Hallo

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo GetOut
If Not Intersect(Range("B8:B108"), Target) Is Nothing Then
If Cells(Target.Row, 1) Like "*Active*" And _
Target Like "* *" Then 'Vorhandene Wert
MsgBox "In Active Gruppen dürfen keine Leerzeichen stehen. " _
& "Bitte entfernen Sie diese und tätigen Ihre Eingabe erneut. Vielen Dank"
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
ElseIf Not Intersect(Range("A8:A108"), Target) Is Nothing Then
If Cells(Target.Row, 2) Like "* *" And _
Target Like "*Active*" Then 'Vorhandene Wert
MsgBox "In Active Gruppen dürfen keine Leerzeichen stehen. " _
& "Bitte entfernen Sie diese und tätigen Ihre Eingabe erneut. Vielen Dank"
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End If
GetOut:
If Err.Number  0 Then
MsgBox "Fehler: " & Err.Number & vbLf & Err.Description
Err.Clear
Application.EnableEvents = True
End If
End Sub

Gruß UweD

Anzeige
Vielen Dank!
08.04.2016 09:08:13
Chris
Vielen Dank UweD!
Funktioniert einwandfrei :)

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige