Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code vereinfachen

Forumthread: Code vereinfachen

Code vereinfachen
02.11.2005 12:54:22
Josef
Hallo ihr Excel Gurus,
ich wollte wissen, ob man folgenden Code nicht vereinfachen kann?

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
For Each cell In Range("M9:M10000")
'-----------------------------------------------------38
If cell.Value = "Booker 1" Then
cell.Select
ActiveCell.Offset(0, -4).Select
ActiveCell.Interior.ColorIndex = 33
ActiveCell.Offset(0, -1).Select
ActiveCell.Interior.ColorIndex = 33
ActiveCell.Offset(0, -1).Select
ActiveCell.Interior.ColorIndex = 33
ActiveCell.Offset(0, -1).Select
ActiveCell.Interior.ColorIndex = 33
ActiveCell.Offset(0, -1).Select
ActiveCell.Interior.ColorIndex = 33
ActiveCell.Offset(0, -1).Select
ActiveCell.Interior.ColorIndex = 33
ActiveCell.Offset(0, -1).Select
ActiveCell.Interior.ColorIndex = 33
ActiveCell.Offset(0, -1).Select
ActiveCell.Interior.ColorIndex = 33
ActiveCell.Offset(0, -1).Select
ActiveCell.Interior.ColorIndex = 33
'-----------------------------------------------------34
End If
Next cell
End Sub

Im Prinzip soll ja nur die aktive Zelle der Ausgang sein, um die Zellen Ax:Ix auszuwählen. Hoffe der Code ist soweit selbsterklärend.
Vielen Dank
Josef
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code vereinfachen
02.11.2005 13:06:41
Matthias
Hallo josef,
kannst du das nicht auch mit bedingter Formatierung machen?
Ansonsten:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range, ber As Range
Set ber = Intersect(Target, Range("M9:M10000"))
If Not ber Is Nothing Then
For Each cell In ber
If cell.Value = "Booker 1" Then
Range(cell.Offset(0, -12), cell.Offset(0, -4)).Interior.ColorIndex = 33
Else
Range(cell.Offset(0, -12), cell.Offset(0, -4)).Interior.ColorIndex = xlNone
End If
Next cell
End If
End Sub

Gruß Matthias
Anzeige
AW: Code vereinfachen
02.11.2005 13:15:22
Josef
Hallo Matthias,
vielen Dank für die schnelle Rückantwort. Echt genial der Code. :-)
Ich kann es leider nicht mit bedingter Formatierung machen, da es 5 Farben werden sollen.
Grüsse
Josef
AW: Code vereinfachen
02.11.2005 13:15:58
StingerMKO
Hallo,
du könnest es auch mit einer zwei Variablen machen:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
For Each cell In Range("M9:M10000")
'-----------------------------------------------------38
If cell.Value = "Booker 1" Then
cell.Select
row_ = ActiveCell.Row
column_ = ActiveCell.Column
Range(Cells(row_, column_ - 4), Cells(row_, column_ - 13)).Select
With Selection.Interior
.ColorIndex = 33
End With
'-----------------------------------------------------34
End If
Next cell
End Sub

Gruß,
Malte
Anzeige
AW: Code vereinfachen
02.11.2005 13:32:27
Josef
Hi Malte,
vielen Dank für Deinen Ansatz. Ich hatte aber dann schon Matthias Code genommen.
Grüsse
JOsef
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige