Supportnet / Forum / Tabellenkalkulation
Makro nur auf bestimmte Zellen
Frage
Guten Abend
habe wieder mal eine Frage. In meiner Arbeitsmappe weise ich Zellen über Makros verschiedene Farben zu. Nun möchte ich diese Farbzuweisung aber auf bestimmte Zellen beschränken. Also Makro zulassen z.B in A1-A10 und B1-B10 und im Rest des Tabellenblattes
nicht zulassen. Geht sowas?
Danke für eure Hilfe.
Gruß
Mekki
Antwort 1 von ProxYa
Das Makro wirst du wahrscheinlich über z.B. das Change-Ereignis starten.
Dieses hat als Übergabeparameter das Feld, das verändert wurde!
Mit der "Select Case"-Anweisung kannst du dass dann auf Spalten und Zeilen beschränken
Greets, ich
Dieses hat als Übergabeparameter das Feld, das verändert wurde!
Mit der "Select Case"-Anweisung kannst du dass dann auf Spalten und Zeilen beschränken
Greets, ich
Antwort 2 von Mekki
Hallo ProxYa
Danke für die schnelle Antwort. Leider verstehe ich sie nicht. Bin Excelanfänger. Das Makro habe ich so eingerichtet: Extras>Makro>Aufzeichnen. Dann habe ich in der Formatleiste auf das betr. Farbkästchen geklickt und dann die Aufzeichnung beendet. Vielleicht kannst du mir deine Lösung etwas detailierter schreiben. Reicht aber auch morgen noch. Ist ja schon spät.
Gruß
Mekki
Danke für die schnelle Antwort. Leider verstehe ich sie nicht. Bin Excelanfänger. Das Makro habe ich so eingerichtet: Extras>Makro>Aufzeichnen. Dann habe ich in der Formatleiste auf das betr. Farbkästchen geklickt und dann die Aufzeichnung beendet. Vielleicht kannst du mir deine Lösung etwas detailierter schreiben. Reicht aber auch morgen noch. Ist ja schon spät.
Gruß
Mekki
Antwort 3 von ProxYa
Hallo!
Ein Beispiel, wie ich es benutze:
Ich hoffe du kannst damit was anfangen und es entsprechend ändern.
Ansonsten melde dich nochmal
Greets, ich
Ein Beispiel, wie ich es benutze:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim spalte As Integer
Dim zeile As Integer
zeile = Target.Row 'Zeile des geänderten Wertes
spalte = Target.Column 'Spalte des geänderten Wertes
Select Case zeile
Case 15: 'Ausführen, wenn Zelle in Zeile 15 ist
Select Case spalte
Case 1, 12: 'Ausführen, wenn Zelle in Spalte 1 oder ist
'hier das was du machen möchtest
Case 4:
'hier evtl was anderes
End Select
case 2: 'andere Zeile
'entweder auch wieder spalenabfrage oder was anderes
End select
end sub
Ich hoffe du kannst damit was anfangen und es entsprechend ändern.
Ansonsten melde dich nochmal
Greets, ich
Antwort 4 von Mekki
Hallo ProxYa
Wo muß ich das alles hinschreiben, wenn bei Tastenkombination Strg+m eine der markierten Zellen in A1-A10 oder B1-B10 die Farbe Rot erhalten soll? In allen anderen zellen aber nichts passieren soll. Ich hoffe ich nerv nicht!
Im Moment steht im Modul:
Sub Makro1()
'
' Makro1 Makro
' Makro am 30.10.2004 von * aufgezeichnet
'
' Tastenkombination: Strg+m
'
Selection.Interior.ColorIndex = 3
End Sub
Wo muß ich das alles hinschreiben, wenn bei Tastenkombination Strg+m eine der markierten Zellen in A1-A10 oder B1-B10 die Farbe Rot erhalten soll? In allen anderen zellen aber nichts passieren soll. Ich hoffe ich nerv nicht!
Im Moment steht im Modul:
Sub Makro1()
'
' Makro1 Makro
' Makro am 30.10.2004 von * aufgezeichnet
'
' Tastenkombination: Strg+m
'
Selection.Interior.ColorIndex = 3
End Sub
Antwort 5 von ProxYa
Hi!
Den oben geposteten Code musst du komplett in das von dir erstellte Makro reinkopieren, mit ausnahme der ersten und der letzten Zeile!
bei den "Select Case" musst du jetzt nur noch den Bereich eingeben:
"A2" zum Beispiel wäre 'zeile = 2' und 'spalte = 1'
um den Bereich von A2 bis A10 möchest, machst du anstelle von "1,12" "2-10"
Das Selection.interior.Colorindex = 3 fügst du dann an die Stelle "'hier das was du machen möchtest" ein.
Greets, ich
Den oben geposteten Code musst du komplett in das von dir erstellte Makro reinkopieren, mit ausnahme der ersten und der letzten Zeile!
bei den "Select Case" musst du jetzt nur noch den Bereich eingeben:
"A2" zum Beispiel wäre 'zeile = 2' und 'spalte = 1'
um den Bereich von A2 bis A10 möchest, machst du anstelle von "1,12" "2-10"
Das Selection.interior.Colorindex = 3 fügst du dann an die Stelle "'hier das was du machen möchtest" ein.
Greets, ich
Antwort 6 von Mekki
Nochmal Hallo ProxYa
Werde es morgen ausprobieren und mich dann noch mal melden.
Gute Nacht
Mekki
Werde es morgen ausprobieren und mich dann noch mal melden.
Gute Nacht
Mekki
Antwort 7 von ProxYa
Sub Makro1()
'
' Makro1 Makro
' Makro am 30.10.2004 von * aufgezeichnet
'
' Tastenkombination: Strg+m
'
Dim spalte As Integer
Dim zeile As Integer
zeile = ActiveCell.Row 'Zeile der aktiven Zelle
spalte = ActiveCell.Column 'Spalte der aktiven Zelle
Select Case zeile
Case 2 to 10: 'Ausführen, wenn Zelle in Zeile 2 bis 10 ist
Select Case spalte
Case 1: 'Ausführen, wenn Zelle in Spalte 1 ist, (Also "A")
Selection.Interior.ColorIndex = 3
End Select
End select
End Sub
So müsste es jetzt gehen
Greets, ich
Antwort 8 von Mekki
Vielen Dank ProxYa für Deine Hilfe !!!
Makro funktionert wie es soll. Zumindest in einer neu erstellten Arbeitsmappe. Aber dass es in meiner bestehenden Mappe funktioniert bekomme ich bestimmt auch noch hin. Sonst melde ich mich nochmal.
Halt. Noch eine Frage: Wenn das Makro in mehreren Spalten funktionieren soll, muss ich dann mehrere Makros schreiben oder kann ich das in dieses Makro mit hineinschreiben?
Viele Grüße
Mekki
Makro funktionert wie es soll. Zumindest in einer neu erstellten Arbeitsmappe. Aber dass es in meiner bestehenden Mappe funktioniert bekomme ich bestimmt auch noch hin. Sonst melde ich mich nochmal.
Halt. Noch eine Frage: Wenn das Makro in mehreren Spalten funktionieren soll, muss ich dann mehrere Makros schreiben oder kann ich das in dieses Makro mit hineinschreiben?
Viele Grüße
Mekki
Antwort 9 von ProxYa
Hi!
Bitte, gern geschehen :)
Das kannst du alles in diesem Makro machen!
jeweils in der Zeile "case" kannst du die entsprechenden Zeilen/Spalten integrieren!
mit
würdest du z.B. Zeile/Spalte 2, 4 bis 7 und 9 von dem Makro betroffen machen.
Hierbei sind beliebige Kombinationen integrierbar.
Über weitere "Case"-Abschnitte könntest du z.B. auch unterschiedliche Farben realisieren.
Greets, ich
Bitte, gern geschehen :)
Das kannst du alles in diesem Makro machen!
jeweils in der Zeile "case" kannst du die entsprechenden Zeilen/Spalten integrieren!
mit
case 2, 4 to 7 , 9 :
würdest du z.B. Zeile/Spalte 2, 4 bis 7 und 9 von dem Makro betroffen machen.
Hierbei sind beliebige Kombinationen integrierbar.
Über weitere "Case"-Abschnitte könntest du z.B. auch unterschiedliche Farben realisieren.
Greets, ich

