Anzeige
Archiv - Navigation
624to628
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
624to628
624to628
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blatt-Makro per Klick auf Symbol anhalten

Blatt-Makro per Klick auf Symbol anhalten
21.06.2005 09:17:51
Anton
Hallo Leute,
ich habe folgendes Makro auf einem Sheet (als Abschreib-Hilfe) eingerichtet
(es markiert eine Zeile gelb wo der Cursor ist):

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'markiert die Zeile in der der Curser steht
'von Bernd Held
Static OldCellIndexcolor As Integer
Static OldCell As Range
If Not OldCell Is Nothing Then
OldCell.EntireRow.Interior.ColorIndex = OldCellIndexcolor
End If
OldCellIndexcolor = Target.EntireRow.Interior.ColorIndex
Target.EntireRow.Interior.ColorIndex = 36
Set OldCell = Target
End Sub

Mein Problem:
Ich möchte einen Knopf einrichten,
mit dem ich dieses Makro (am besten per Mausklick) vorübergehend deaktivieren kann.
(so etwas wie ein EIN- und AUS-Schalter)
Ich danke Euch schon jetzt.
Servus,
Anton

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blatt-Makro per Klick auf Symbol anhalten
21.06.2005 09:24:33
Alexander
Hallo Anton.
Ich hab sowas ähnliches mit nem CommandBar-Eintrag gemacht. Das funktioniert bei mir einfach so, das ich beim draufklicken den Wert in ner Zelle von "an" auf "aus" wechsek und umgekehrt und vor dem Ausführen des Makros abfrage, ob da auch "an" drinsteht.
Das ist zwar nicht unbedingt die elegantesete Lösung, aber sicher die einfachste.
Gruß, Alex.
AW: Blatt-Makro per Klick auf Symbol anhalten
21.06.2005 09:34:26
Anton
Hallo Alex,
das hört sich gut an.
Ich weiß zwar noch nicht wie Du die Command-Bar eingerichtet hast,
aber der Rest leuchtet glatt ein.
Danke!
Servus,
Anton
Lösung zum Kopieren
21.06.2005 11:39:12
Anton
Hallo Wissensdurstige,
auf der Basis von Alex's Antwort habe ich einwenig gebastelt....
Bei mir läuft's prima:
Erstmal das alte Makro ändern:

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'markiert die Zeile in der der Curser steht
'von Bernd Held
If Sheets("nach_fertigTermin").Range("F1") = "Makro ist an" Then
Static OldCellIndexcolor As Integer
Static OldCell As Range
If Not OldCell Is Nothing Then
OldCell.EntireRow.Interior.ColorIndex = OldCellIndexcolor
End If
OldCellIndexcolor = Target.EntireRow.Interior.ColorIndex
Target.EntireRow.Interior.ColorIndex = 36
Set OldCell = Target
Else
Exit Sub
End If
End Sub

Dann brauchen wir zwei weitere Makros (zum EIN- und AUS-schalten):
Sub Makro_ANLEUCHTEN_ein()
'
' Dieses Makro setzt die Bedingung für den Betrieb
' des Hintergrund-Farbe-Makro's
' (Einschalten)
'
Sheets("nach_fertigTermin").Select
Range("F1").Select
With Selection.Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
ActiveCell.FormulaR1C1 = "Makro ist an"
Range("F2").Select
End Sub
Sub Makro_ANLEUCHTEN_aus()
'
' Dieses Makro setzt einen falschen Wert der Bedingung
' für den Betrieb des Hintergrund-Farbe-Makro's
' (Ausschalten)
'
Range("F1").ClearContents 'erstmal den Inhalt löschen damit das Makro aus ist
'sonst funzt der Rest nachher nicht...
Range("F1").Select 'dann Abgefragte Zelle selektieren

With Selection.Interior
.ColorIndex = 3 'roter Hintergrund (als Status-Info)
.Pattern = xlSolid
End With
ActiveCell.FormulaR1C1 = "Makro ist aus" 'Bestätigungs-Text

Rows("2:300").Select ' Zeilenweise
Selection.Interior.ColorIndex = xlNone ' die übrig gebliebenen Reste entfernen
Range("F2").Select ' Cursor nach oben (der Ordnung halber)
End Sub
Anschließend zwei benutzerdefinierte Symbole in eine vorhandene Leiste hinzufügen.
Und in der selben Aktion auch die Zuweisung (geht nur solange das Fenster
EXTRAS, ANPASSEN offen ist)
Ich hoffe, das meine Arbeit Euch helfen kann.
Servus,
Anton
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige