peterchen1976
Goto Top

Mehrere Zellen in VB ansprechen mit einer Anweisung

Hallo,
ich habe ein Problem mit folgender Formel:

"
If Not zelle Is Nothing Then
If zelle.Address = ("$C$15") Then
ActiveSheet.Range("C15").Interior.ColorIndex = 2
End If
End If
Set zelle = Target

End Sub

"
Ich müsste diese jetzt auf die gesammte Mappe Zelle C15 bis C499 anwenden. MAche ich das in immer wieder kehrenden Anweisungen kommt irgend wann Prozedure zu groß.

Hat jemand eine ide ob ich irgedwie von bis angeben..

Gruß Peter

Content-ID: 250234

Url: https://administrator.de/contentid/250234

Ausgedruckt am: 16.12.2024 um 23:12 Uhr

colinardo
colinardo 26.09.2014 aktualisiert um 09:30:48 Uhr
Goto Top
Moin,
Schleife genügt ...
for each cell in ActiveSheet.Range("C15:C499")  
  if cell.Value <> ""  then  
    cell.Interior.ColorIndex = 2
  End If
Next
Grüße Uwe
peterchen1976
peterchen1976 26.09.2014 um 09:34:05 Uhr
Goto Top
Hi Uwe,
tut noch nicht so richtig was mache ich falsch?
Das ist mein gesamter Code oder?
"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.Calculate
'-----------------Test1 Spalte C Farbe ändern-----------------
For Each cell In ActiveSheet.Range("C15:C499")
If cell.Value <> "" Then
cell.Interior.ColorIndex = 2
End If
Next

End Sub
"
colinardo
colinardo 26.09.2014 aktualisiert um 09:41:52 Uhr
Goto Top
Was hast du denn überhaupt vor ?? Bzw. was ist dein Ziel ? Mein Code macht soweit das was du oben mit deinem Code machen wolltest !

p.s. Bitte nutze Code-Tags für deinen Quellcode: <code> Quellcode </code>. Merci.
peterchen1976
peterchen1976 26.09.2014 um 09:44:47 Uhr
Goto Top
Also ich habe eine Tabelle in Exel.Die Felder C15-C499 nutze ich um werte einzutragen jetzt soll optisch klar gemacht werden wenn ich was eingegebn habe und die zelle verlasse soll es auf weiß gehen. das Feld ist sonst grau... Danke für Deine Hilfe
Gruß Peter
colinardo
Lösung colinardo 26.09.2014 aktualisiert um 10:05:45 Uhr
Goto Top
Zitat von @peterchen1976:

Also ich habe eine Tabelle in Exel.Die Felder C15-C499 nutze ich um werte einzutragen jetzt soll optisch klar gemacht werden wenn
ich was eingegebn habe und die zelle verlasse soll es auf weiß gehen. das Feld ist sonst grau... Danke für Deine Hilfe
Gruß Peter
Achso jetzt verstehe ich dich, das ist auch kein Problem, dafür reicht diese Prozedur
Private Sub Worksheet_Change(ByVal Target As Range)
    Set changeRange = Range("C15:C499")  
    If Not Application.Intersect(changeRange, Target) Is Nothing Then
        Target.Interior.ColorIndex = xlNone
    End If
End Sub
116301
Lösung 116301 26.09.2014 aktualisiert um 10:06:15 Uhr
Goto Top
Hallo zusammen!

Würde ich dann so machen:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count = 1 And Target.Text <> "" Then  
        If Not Application.Intersect(Range("C15:C499"), Target) Is Nothing Then  
            Target.Interior.ColorIndex = xlNone 'Keine Füllung  
        End If
    End If
End Sub


Grüße Dieter

@colinardo
Wahr wohl Gedankenübertragungface-smile
colinardo
colinardo 26.09.2014 aktualisiert um 09:59:17 Uhr
Goto Top
Zitat von @116301:
@colinardo
Wahr wohl Gedankenübertragungface-smile
yip face-smile die Ursprungsfrage war einfach nicht klar genug ausgedrückt ...

@peterchen1976: Wenns das dann war, den Beitrag bitte noch auf Thread)
peterchen1976
peterchen1976 26.09.2014 um 10:18:16 Uhr
Goto Top
Genial meine Herren das war spitze vielen DANK