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

Target in ein Modul übergeben

Target in ein Modul übergeben
Gordon
Moin,
sicherlich 'ne verhältnismäßig leichte Frage, aber dennoch weiß ich es gerade nicht. Und zwar:
Ich habe in einem Sheet eine Worksheet_Change() anweisung. So beginnend:
Private Sub Worksheet_Change(ByVal Target As Range)
Direkt gleich am Anfang wird aus einem Modul gestartet, das mit dem Target-Wert bzw. mit der Taregt-Range arbeiten soll. Das Modul startet so:
Sub Färben()
Was muss ich nun im Sub Färben in die Klammern schreiben, damit Target übernommen wird?
Gruß
Gordon

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

Betreff
Benutzer
Anzeige
Sub Färben(Target) !!! ? (owT)
15.03.2010 09:07:18
Renee

AW: Sub Färben(Target) !!! ? (owT)
15.03.2010 09:17:02
Gordon
Ja,
das dachte ich auch, aber da bekomme ich immer eine Fehlermeldung:
Fehler beim Kompilieren:
Argument ist nicht optional
Dabei färbt er den Verweis auf 'Färben' immer gelb ein. Mal hier kurz der Code vom Worksheets_Change() und dem Sub Färben:
Private Sub Worksheet_Change(ByVal Target As Range)
Färben
End Sub
Sub Färben(Target)
With Worksheets("Kalkulation")
.Cells.Interior.ColorIndex = xlNone
If Target = .Range("AH4") Then
.Range("Q4").Interior.ColorIndex = 4
.Range("Q7").Interior.ColorIndex = 4
.Range("Q8").Interior.ColorIndex = 4
.Range("Q13").Interior.ColorIndex = 4
.Range("Q14").Interior.ColorIndex = 4
.Range("Q40").Interior.ColorIndex = 4
.Range("Q43").Interior.ColorIndex = 4
.Range("Q64").Interior.ColorIndex = 4
.Range("Q65").Interior.ColorIndex = 4
.Range("Q66").Interior.ColorIndex = 4
.Range("Q67").Interior.ColorIndex = 4
.Range("Q68").Interior.ColorIndex = 4
.Range("Q70").Interior.ColorIndex = 4
End If
End With
End Sub
Sicherlich nur irgendwo ein doofer Fehler von mir.....
Lieben Gruß
Gordon
Anzeige
wenn Du Target übergeben willst...
15.03.2010 09:25:34
Tino
Hallo,
musst Du dies auch tun.
Private Sub Worksheet_Change(ByVal Target As Range)
Färben Target
End Sub

Sub Färben(Target As Range)
With Worksheets("Kalkulation")
.Cells.Interior.ColorIndex = xlNone
If Target = .Range("AH4") Then
.Range("Q4,Q7:Q8,Q13:Q14,Q40,Q43,Q64:Q68,Q70").Interior.ColorIndex = 4
End If
End With
End Sub
Gruß Tino
AW: wenn Du Target übergeben willst...
15.03.2010 09:28:17
Gordon
Danke Tino.....
Gruß
Gordon
Sinn deines Codes ?
15.03.2010 09:29:21
Renee
Hi Gordon,
Ich sehe den Sinn dieses Codes absolut nicht.
1. Musst du beim Aufruf deiner Sub natürlich den Parameter Target übergeben.
2. In welchem Tabellenblatt steht das Change-Ereignis ?
3. Wenn das Ganze auf das Blatt "Kalkulation" beschränkt ist, warum machst du das dann nicht mit einer bedingten Formatierung ?
4. Ist es wirklich egal, was in der Zelle AH4 steht (Leer, Text, Zahl, Datum was auch immer) ? Dann kannst du ja die entsprechenden Zellen fix auf die Farbe setzen!
GreetZ Renée
Anzeige
AW: Sinn deines Codes ?
15.03.2010 09:33:49
Gordon
Moin Renée,
der Code wird ja natürlich noch erweitert. Es ging mir jetzt nur um die Übergabe von Target.
Gruß
Gordon
Erweiter in welchem Sinn ? (owT)
15.03.2010 09:34:38
Renee

AW: Erweiter in welchem Sinn ? (owT)
15.03.2010 09:38:26
Gordon
Der Code darin fliegt a) wohl fast komplett raus und wird b) durch anden Code ersetzt. Wie gesagt, es ging mir um die Übergabe von Target und um nichts anderes. Hatte nur den ganzen Code vorsichtshalber mitgesendet. Hätte ja sein können, dass dort irgendetwas schief gelaufen war.
Dennoch danke für dein Interesse! :-)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige