Supportnet / Forum / Tabellenkalkulation
Makro auf allen vorhandenen Tabellen
Frage
Hi,
ich will folgendes Makro auf allen Tabellenblättern (Tabelle1 bis Tabelle17) ausführen lassen:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Select Case Range("B9").Value
Case Is >= Range("B35").Value
Range("B9").Interior.ColorIndex = 4
Case Is < Range("B35").Value
Range("B9").Interior.ColorIndex = 3
Case Is = ""
Range("B9").Interior.ColorIndex = 34
End Select
End sub
erst wollte ich es einfach in DieseArbeitsmappe einfügen klappt aber nicht. Dann hab ich es mit einer For Schleife versucht die alle Tabellen durchlaufen sollte klappt bei mir auch nicht. Kann mir jemand weiter helfen?
Danke
Gruß
Berni
Antwort 1 von rainberg
Hallo Berni,
füge diesen Code in den Codebereich "DieseArbeitsmappe" ein.
Gruß
Rainer
füge diesen Code in den Codebereich "DieseArbeitsmappe" ein.
Option Explicit
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Select Case Range("B9").Value
Case Is >= Range("B35").Value
Range("B9").Interior.ColorIndex = 4
Case Is < Range("B35").Value
Range("B9").Interior.ColorIndex = 3
Case Is = ""
Range("B9").Interior.ColorIndex = 34
End Select
End SubGruß
Rainer
Antwort 2 von Beri333
Super Danke
funktioniert prima.
Hab aber gleich noch ne kleine Frage:
bei oben angegebenen Code macht er bei >= B9 Hintergrundfarbe grün bei <B9 rot. eigentlich sollte er wenn nix drin steht Farbe 34 machen macht er aber nicht. wie kann man das Lösen?
Danke
Gruß
Berni
funktioniert prima.
Hab aber gleich noch ne kleine Frage:
bei oben angegebenen Code macht er bei >= B9 Hintergrundfarbe grün bei <B9 rot. eigentlich sollte er wenn nix drin steht Farbe 34 machen macht er aber nicht. wie kann man das Lösen?
Danke
Gruß
Berni
Antwort 3 von rainberg
Hallo Berni,
setze
an die 1. Stelle der Abfrage
Gruß
Rainer
setze
Case Is = ""
Range("B9").Interior.ColorIndex = 34
an die 1. Stelle der Abfrage
Gruß
Rainer
Antwort 4 von Berni333
Danke
jetzt noch ne klitzekleine letzte Frage: Was machen wenn ich bei diesem Ausdruck
Case Is = ""
Range("B9").Interior.ColorIndex = 34
in Tabelle1 die Farbe 34 haben will und in den restlichen die Farbe 36 haben will.+
Danke nochmals
Gruß
Berni
jetzt noch ne klitzekleine letzte Frage: Was machen wenn ich bei diesem Ausdruck
Case Is = ""
Range("B9").Interior.ColorIndex = 34
in Tabelle1 die Farbe 34 haben will und in den restlichen die Farbe 36 haben will.+
Danke nochmals
Gruß
Berni
Antwort 5 von rainberg
Hallo Berni,
dann so:
Gruß
Rainer
dann so:
Option Explicit
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Select Case Range("B9").Value
Case Is = ""
If ActiveSheet.Name = "Tabelle1" Then
Range("B9").Interior.ColorIndex = 34
Else
Range("B9").Interior.ColorIndex = 36
End If
Case Is >= Range("B35").Value
Range("B9").Interior.ColorIndex = 4
Case Is < Range("B35").Value
Range("B9").Interior.ColorIndex = 3
End Select
End SubGruß
Rainer
Antwort 6 von Jong
Hallo,
Ich erst erststeiger bei VB 6.0
da Habe ich ein Lager aufgebaut und eine Tabelle in access datenbank den ich abfragen lassen kann. Es funktioniert nur nach teil ich kann Dantenbank nicht erweitern
ich habe es auch mit Adodc1 und Adodc2 versucht die zieht er auch an nur kann nicht abfragen.
wer kann mir dabei helfen entweder Datenbank erweitern odereine code zum abfragen der zweite tabelle
gruß Jong
Ich erst erststeiger bei VB 6.0
da Habe ich ein Lager aufgebaut und eine Tabelle in access datenbank den ich abfragen lassen kann. Es funktioniert nur nach teil ich kann Dantenbank nicht erweitern
ich habe es auch mit Adodc1 und Adodc2 versucht die zieht er auch an nur kann nicht abfragen.
wer kann mir dabei helfen entweder Datenbank erweitern odereine code zum abfragen der zweite tabelle
gruß Jong

