Live-Forum - Die aktuellen Beiträge
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
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige