Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
276to280
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
276to280
276to280
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Nochmal Interior.ColorIndex

Nochmal Interior.ColorIndex
04.07.2003 13:02:47
Olli
Hallo Forum,
jetzt habe ich folgendes vor. Ich moechte, wenn ich in Spalte 3 eine Zelle markiere, dann soll Excel fuer die Zeit des Markiertseins in der gleichen REihe, aber in Spalte 1 den Interior.ColorIndex auf Rot=3 setzten. Wenn keine Zelle in Sp. 3 mehr markiert ist, soll Excel den Interior.ColorIndex auf den Ursprungswert zuruecksetzen.
Wie bekomme ich dieses "Spalte 3 unselect" -> wechsel Zellfarbe ins Makro'
Habt ihr ungefaehr verstanden was ich machen will, oder war's schlecht erklaert?
Mein Code:

Sub Highlight()
Dim irow As Long
Dim icolumn As Integer
Dim a As Integer
irow = ActiveCell.Row
icolumn = ActiveCell.Column
a = ActiveCell.Offset(0, 3).Interior.ColorIndex
ActiveCell.Offset(0, 3).Interior.ColorIndex = 3
'wenn ActiveCell sich aendert, dann
ActiveCell.Offset(0, 3).Interior.ColorIndex = a
End Sub

Vielen Dank im Voraus
Viele Gruesse
Olli

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

Betreff
Datum
Anwender
Anzeige
AW: Nochmal Interior.ColorIndex
04.07.2003 13:45:50
ANdreas
Hallo Olli,
folgendes Makro in das Modul des entsprechenden Tabellenblattes einfügen:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Static intAkku%
Static rAkku As Range
If rAkku Is Nothing Then Set rAkku = Target
With rAkku
Select Case Target.Column
Case 3:
If .Column = 3 Then _
.Offset(0, -2).Interior.ColorIndex = intAkku
On Error Resume Next
intAkku = Target.Offset(0, -2).Interior.ColorIndex
On Error GoTo 0
Target.Offset(0, -2).Interior.ColorIndex = 3
Set rAkku = Target
Case Else:
If .Column = 3 Then
.Offset(0, -2).Interior.ColorIndex = intAkku
Set rAkku = Nothing
End If
End Select
End With
End Sub

Bei Mehrfachselektion in Spalte 3, gehen allerdings die Farben in Spalte A verloren...
Viel Spaß,
Andreas

Anzeige
Gerade eben erst wieder gekommen - DANKE!
04.07.2003 14:47:59
Olli
Hallo Andreas,
vielen lieben Dank fuer Dein Makro.
Funktioniert hervorragend. Aber die Logik, da muss ich ich erst noch reinarbeiten (positiv gemeint)!! AUf jeden FAll super gemacht!
DAnke,
Gruss
Olli

AW: Gerade eben erst wieder gekommen - DANKE!
04.07.2003 15:57:01
ANdreas
Hallo Olli,
eine immer gute Vorgehensweise um anscheindend schwer "durchschaubaren" Code zu ergründen, ist es, einen Haltepunkt am Anfang des Codes (mit F9) zu setzen.
Dann klickst Du einfach in Deinem Tabellenblatt umher, löst also das SelectionChange-Ereignis aus und der Code stoppt sofort am Haltepunkt. Dann kannst Du mit F8 schrittweise durch den Code und mit hinzugefügten Überwachungen auch den Inhalt der ganzen Variablen anschauen. Somit siehst Du wie das Makro "im inneren" abläuft.
Hilfreich ist es z.B. auch vorher unbekannte Befehle im Code in der Hilfe nachzuschlagen (z.B. bei Static).
Ansonsten hilft das Forum auch bei Verständnisfragen gern weiter :)
Also schönes Wochenende,
Andi
http://www.bei-andi.de/excel

Anzeige

196 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige