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

Pflichtfelder mit bes, Regeln

Pflichtfelder mit bes, Regeln
19.01.2009 13:27:00
lisa
Hallo
Nach dem ich in der Recherche nichts finden konnte, wende ich mich wieder mal an Euch, da ich festsitze.
Ich habe in meiner Tabelle 3 Pflichtfelder angelegt.A1,A2,A3.
Diese müssen beschrieben sein sonst geht es nicht weiter.
Das habe ich mit folgendem Code erreicht.:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim rgBereich As Range
Dim zaehler1 As Range
Set rgBereich = Worksheets("Tabelle1").Range("a1,a2,a3")
For Each zaehler1 In rgBereich
If zaehler1 = "" Then
zaehler1.Select
Exit For
End If
Next zaehler1
End Sub


Hierbei würde ich gern etwas ändern.
wenn A1 beschrieben wird, sollte in a2 und a3 eine 0 mit grauem Hintergrund erscheinen.
Das gleiche sollte auch sein wenn z.Bsp. A2 beschrieben ist. Da sollte A1 und A3 eine 0 mit grauem Hintergrund erscheinen.
Wie kann das umgesetzt werden.
Ich danke für jede Mithilfe
liebe Grüße Lisa

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pflichtfelder mit bes, Regeln
19.01.2009 13:41:00
Oberschlumpf
Hi Lisa
Schreib als Work_SheetChange-Ereignis diesen Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A3")) Is Nothing Then
Dim lvarWert As Variant
Application.EnableEvents = False
lvarWert = Target.Value
Range("A1:A3").Value = 0
Range("A1:A3").Interior.ColorIndex = xlNone
Select Case Target.Address
Case "$A$1"
Range("A2:A3").Value = 0
Range("A2:A3").Interior.ColorIndex = 15
Target.Value = lvarWert
Case "$A$2"
Range("A1,A3").Value = 0
Range("A1,A3").Interior.ColorIndex = 15
Target.Value = lvarWert
Case "$A$3"
Range("A1:A2").Value = 0
Range("A1:A2").Interior.ColorIndex = 15
Target.Value = lvarWert
End Select
Application.EnableEvents = True
End If
End Sub


Hilfts?
Ciao
Thorsten

Anzeige
AW: Pflichtfelder mit bes, Regeln
19.01.2009 13:58:00
lisa
Hallo und danke für die schnelle Antwort
Ich teste es eben durch.
Antwort folgt sofort
Lieben Gruß Lisa
AW: Pflichtfelder mit bes, Regeln
19.01.2009 14:28:38
lisa
Hallo Thorsten
Es ist sehr gut.
Einziges Manko ist das ich die 3 Zellen nicht löschen (leeren) kann und das sich die Zellen auch färben und die 0 anzeigen, wenn ich hier den Inhalt einer Zelle lösche.
Lösche ich den Inhalt einer Zelle müssen alle drei wieder frei sein.
Es ist also so, dass ich diese 3 Zellen weiß und ohne Inhalt beim öffnen vorfinde.
wenn ich eine beschreibe dürfen die anderen beiden nicht mehr beschrieben werden, deswegen die 0 und grau hinterlegt.
Wenn ich die Datei schließe müssen diese Felder wieder frei sein, deswegen dieser Code
Range("A1:A3").ClearContents
Leider werden nach dem löschen in alle 3 Zellen eine Null geschrieben und der Hintergrund wird weiß.
Geht das noch abzustellen?
Lieben Gruß Lisa
Anzeige
AW: Pflichtfelder mit bes, Regeln
19.01.2009 14:40:25
Oberschlumpf
Hi Lisa

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:A3")) Is Nothing Then
Dim lvarWert As Variant
Application.EnableEvents = False
lvarWert = Target(1).Value
Range("A1:A3").Interior.ColorIndex = xlNone
If lvarWert  "" Then
Range("A1:A3").Value = 0
Select Case Target.Address
Case "$A$1"
Range("A2:A3").Value = 0
Range("A2:A3").Interior.ColorIndex = 15
Target.Value = lvarWert
Case "$A$2"
Range("A1,A3").Value = 0
Range("A1,A3").Interior.ColorIndex = 15
Target.Value = lvarWert
Case "$A$3"
Range("A1:A2").Value = 0
Range("A1:A2").Interior.ColorIndex = 15
Target.Value = lvarWert
End Select
Else
Range("A1:A3").Value = ""
End If
Application.EnableEvents = True
End If
End Sub


Klappt es mit diesem Code?
Ciao
Thorsten

Anzeige
AW: Pflichtfelder mit bes, Regeln
19.01.2009 15:00:00
lisa
Hallo Thorsten
Schönen Dank für deine Bemühungen!
Danke, so klappt alles super!
Liebe Grüße Lisa
AW: Pflichtfelder mit bes, Regeln
19.01.2009 15:20:00
lisa
Hallo Thorsten
Ich versuche jetzt gerade meine Tabelle einzustellen.
Dazu brauche ich eine andere Spalte, nämlich b statt a.
Ich habe deinen Code so geä.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("b1:b3")) Is Nothing Then
Dim lvarWert As Variant
Application.EnableEvents = False
lvarWert = Target(1).Value
Range("b1:b3").Interior.ColorIndex = xlNone
If lvarWert  "" Then
Range("b1:b3").Value = 0
Select Case Target.Address
Case "$b$1"
Range("b2:b3").Value = 0
Range("b2:b3").Interior.ColorIndex = 15
Target.Value = lvarWert
Case "$b$2"
Range("b1,b3").Value = 0
Range("b1,b3").Interior.ColorIndex = 15
Target.Value = lvarWert
Case "$b$3"
Range("b1:b2").Value = 0
Range("b1:b2").Interior.ColorIndex = 15
Target.Value = lvarWert
End Select
Else
Range("b1:b3").Value = ""
End If
Application.EnableEvents = True
End If
End Sub


leider aber ohne Erfolg.
Gebe ich in einer Zelle eine 1 ein, wird diese sofort gegen eine Null ersetzt und die anderen Felder werden ebenfalls mit einer Null beschrieben!
Ebenso bleibt der Hintergrund weiß!
Habe ich irgendetwas übersehen oder alsch eingegeben?
Liebe Grüße Lisa

Anzeige
AW: Pflichtfelder mit bes, Regeln
19.01.2009 15:31:00
Oberschlumpf
Hi Lisa
Tausch in allen Zeilen wie z Bsp

Case "$b$1"


das b gegen B aus.
Die Target-Eigenschaft


Target.Address


liefert immer mit Großbuchstaben zurück.
Daher wird "dein" $b$1 nicht erkannt, weil $B$1 zurückgeliefert wird.
Hlfts?
Ciao
Thorsten

DANKE mein Fehler! oT
19.01.2009 15:48:00
lisa

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige