Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
272to276
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
272to276
272to276
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA- Kleines Problem mit Zahlenbegrenzungen

VBA- Kleines Problem mit Zahlenbegrenzungen
28.06.2003 16:09:16
Thomas
Hallo,

momentan versuche ich mir VBA selbst beizubringen. Mit Hilfe der Bedingten Formatierung in VBA möchte ich eine Zahlenbegrenzung vornehmen.

Case "4"
Target.Interior.ColorIndex = 7

Anstelle der 4 sollen die Zahlen im Bereich von 3 bis 7 akzeptiert werden.

Ist das Problem mit einem logischen Operator zu lösen, oder geht Das noch einfacher?

Gruß
Thomas

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA- Kleines Problem mit Zahlenbegrenzungen
28.06.2003 16:29:38
PeterW
Hallo Thomas,

liegt die Zahl als Zahl oder als Text vor? Im ersten Fall:

Case 3 to 7

Gruß
Peter


Es geht, aber mit einem Problem!
28.06.2003 16:50:48
Thomas
Hallo,

damit geht es, aber es entsteht folgendes Problem:

Userbild



Wenn ich die Spalte von oben nach unten von 0 bis 10 durchnummeriere, wird die Zelle ab 3 bis unendlich markiert. Wenn dazwischen eine Zelle frei bleibt, ist das nicht der Fall.

Gruß
Thomas


AW: Es geht, aber mit einem Problem!
28.06.2003 16:54:50
PeterW
Hallo Thomas,

dann solltest du mal den gesamten Code und eine genaue Problembeschreibung posten.

Gruß
Peter


Anzeige
AW: Es geht, aber mit einem Problem!
28.06.2003 17:03:13
Thomas
Hallo,

hier der Quellcode:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Bereich As Range
Dim Z
Set Bereich = Range("A1:B100")
If InStr(Target.Address, ":") = 0 Then
If Intersect(Target, Bereich) Is Nothing Then Exit Sub
Target.Borders(xlDiagonalDown).LineStyle = xlNone
Target.Borders(xlDiagonalUp).LineStyle = xlNone
Select Case Target.Value
Case "1"
With Target.Borders(xlDiagonalDown)
.LineStyle = xlContinuous
.Weight = xlThick
End With
With Target.Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThick
End With
Target.Font.ColorIndex = 0
Case "2"
Target.Font.ColorIndex = 2
Case 3 To 7
Target.Interior.ColorIndex = 7
Case Else
Target.Font.ColorIndex = 0
End Select
Else
For Each Z In Selection
If Intersect(Z, Bereich) Is Nothing Then
Else
Z.Borders(xlDiagonalDown).LineStyle = xlNone
Z.Borders(xlDiagonalUp).LineStyle = xlNone
Select Case Z.Value
Case "1"
With Z
With .Borders(xlDiagonalDown)
.LineStyle = xlContinuous
.Weight = xlThick
End With
With .Borders(xlDiagonalUp)
.LineStyle = xlContinuous
.Weight = xlThick
End With
End With
Z.Font.ColorIndex = 0
Case "2"
Z.Font.ColorIndex = 2
Case "3"
Z.Font.ColorIndex = 3
Case Else
Z.Font.ColorIndex = 0
End Select
End If
Next Z
End If
End Sub


Gruß
Thomas


Anzeige
AW: Es geht, aber mit einem Problem!
28.06.2003 17:27:26
PeterW
Hallo Thomas,

habe deinen Code laufen lassen und kann dein beschriebenes Problem nicht nachvollziehen. Was wird bis unten markiert? Dein Code markiert doch überhaupt nichts.

Gruß
Peter


Super! Jetzt geht es! Vielen Dank!
28.06.2003 18:00:17
Thomas
Es fehlte nur noch eine zweite Bedingung mit "Interior". Dann geht´s!

Vielen Dank!

Gruß
Thomas


AW: Es geht, aber mit einem Problem!
28.06.2003 17:51:12
Thomas
Hallo,

mit markieren meine ich nur den Befehl "Interior".

Mir ist nur nicht klar, warum VBA auch andere Zahleneingaben außer der im Code eingegebenen Begrenzung von 3 bis 7 farbig einzeichnet.

Userbild


Gruß
Thomas


Anzeige
AW: Es geht, aber mit einem Problem!
28.06.2003 17:44:43
Thomas
Hallo,

mit markieren meine ich nur den Befehl "Interior".

Mir ist nur nicht klar, warum VBA auch andere Zahleneingaben außer der im Code eingegebenen Begrenzung von 3 bis 7 farbig einzeichnet.

Userbild


Gruß
Thomas


AW: Es geht, aber mit einem Problem!
28.06.2003 18:07:40
PeterW
Hallo Thomas,

ergänze mal Case Else um Target.Interior.Colorindex = 0.

Gruß
Peter


AW: VBA- Kleines Problem mit Zahlenbegrenzungen
28.06.2003 16:18:46
Hans W. Herber
Hallo Thomas,

meinst Du wirklich die bedingte Formatierung? Angebracht wäre hier das Feature Gültigkeit. Alternativ dazu eine Ereignisprogrammierung zum Change-Ereignis.

gruss hans


Anzeige
AW: VBA- Kleines Problem mit Zahlenbegrenzungen
28.06.2003 16:35:41
Thomas
Hallo,

Genau! Ich möchte mit Hilfe einer in VBA geschriebenen "Bedingte Formatierung" den Zellenbereich so verändern, dass nur im Zahlenbereich von 3 bis 7 die Zelle markiert wird.

Nur die Schreibweise nach Case ist mir nicht klar!

Gruß
Thomas


317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige