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

Forumthread: Zelleintrag nur wenn Bedingung erfüllt

Zelleintrag nur wenn Bedingung erfüllt
Dietmar
Hallo in die Runde,
kann mir jemand sagen, wie nachfolgenden Code anpassen muss, so dass zusätzlich in Spalte
C2:C10 Werte nach Eintrag wieder gelöscht werden, wenn in Spaltenbereich A2_A10 in der entsprechenden Zeile ein "E" oder nichts steht.
Eine Msgbox mit der entsprechedhenden Info wäre das Sahnhäubchen :-)
Zur Erklärung:
In Saltenbereich B2:B10 soll nur dann eine Eintragungen möglich sein, wenn in Spalte A2:A10 der Buchstabe "E" (für Einnahme) steht.
In Spalte C2:C10 soll nur dann eine Eintragungen möglich sein, wenn in Spalte A2:A10 der Buchstabe "A" (für Ausgabe) steht.
Für den Spaltenbereich B2:B10 habe ich es mit nachfolgendem Code hinbekommen. Ich habe schon versucht, den Code für die Prüfung des Bereichs "C2:C10" zu doppeln, das geht aber nicht.
Herzlichen Dank
Dietmar aus Aachen
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rc As Range
If Intersect(Target, Range("B2:B10")) Is Nothing Then Exit Sub
Application.EnableEvents = False
For Each rc In Intersect(Target, Range("B2:B10")).Cells
If rc.Offset(0, -1) = "A" Or rc.Offset(0, -1) = 0 Then
rc.Offset(0, 0).ClearContents
End If
Next rc
Application.EnableEvents = True
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Eingabe in Einnahmen-/Ausgaben-Spalte
29.07.2011 13:56:57
NoNet
Hallo Dietmar,
hier ein Codevorschlag :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rc As Range, blnUngueltig As Boolean
If Not Intersect(Target, Range("B2:B10")) Is Nothing Then
Application.EnableEvents = False
For Each rc In Intersect(Target, Range("B2:B10")).Cells
If rc.Offset(0, -1)  "E" Then
rc.ClearContents
blnUngueltig = True
End If
Next rc
If blnUngueltig Then
MsgBox "Eingabe in Spalte B nur möglich, wenn in Spalte A ein 'E' enthalten ist !" & _
_
vbLf & "Ungültige Werte in Spalte B wurden gelöscht !", vbCritical + vbOKOnly,  _
_
"Ungültige Werte in Spalte 'Einnahmen'"
End If
Application.EnableEvents = True
ElseIf Not Intersect(Target, Range("C2:C10")) Is Nothing Then
Application.EnableEvents = False
For Each rc In Intersect(Target, Range("C2:C10")).Cells
If rc.Offset(0, -2)  "A" Then
rc.ClearContents
blnUngueltig = True
End If
Next rc
If blnUngueltig Then
MsgBox "Eingabe in Spalte C nur möglich, wenn in Spalte A ein 'A' enthalten ist !" & _
_
vbLf & "Ungültige Werte in Spalte C wurden gelöscht !", vbCritical + vbOKOnly,  _
_
"Ungültige Werte in Spalte 'Ausgaben'"
End If
Application.EnableEvents = True
End If
End Sub
Gruß, NoNet
Exceltreffen 28.-30.10.2011 in Chemnitz
Ein Treffen für alle Excel-Freunde und Besucher deutschsprachiger Excel-Foren.
Alle Infos - Programm - Anmeldung - Teilnehmerliste etc. gibt es auf
http://www.exceltreffen.de/index.php?page=211
Wir freuen uns auf euch...

Anzeige
das ist PERFEKT ...
29.07.2011 14:28:50
Dietmar
Hallo NoNet,
herzlichen Dank!
Das funktioniert absolut so wie es soll!
Danke auch für das Sahnehäubchen :-) Super
Schönes WE!
Viele Grüße
Dietmar aus Aachen

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige