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

Makro vereinfachen

Forumthread: Makro vereinfachen

Makro vereinfachen
02.02.2007 08:29:43
tobstein
Hallo,
ich habe mir mühsam ein Makro geschrieben...in dem unter anderen die folgende
Anweisung vorkommt.
Die Felder S7 bis AK7 werden grau gefärbt...und natürlich alle anderen ungeraden Zeilen.
Aber kann man das nicht irgendwie einfacher schreiben...also die erste Zeile und nur die letzte Zeile angeben (etwa S7:AK7 - S55:AK55)...
Danke
tobstein
Range( _
"S7:AK7,S9:AK9,S11:AK11,S13:AK13,S15:AK15,S17:AK17,S19:AK19,S21:AK21,S23:AK23,S25:AK25,S27:AK27,S29:AK29,S31:AK31,S33:AK33,S35:AK35,S37:AK37,S39:AK39,S41:AK41,S43:AK43,S45:AK45,S47:AK47,S49:AK49,S51:AK51,S53:AK53,S55:AK55" _
).Select
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro vereinfachen
02.02.2007 08:59:30
Harald
Moin tobstein
vielleicht so ?
Dim i As Integer
For i = 7 To 55 Step 2
Range("S" & i & ":AK" & i).Interior.ColorIndex = 15
Next i
Gruss Harald
AW: Makro vereinfachen
02.02.2007 09:21:05
tobstein
Hallo Harald,
veieln Dank für Deine Antwort.
Habe Deinen Teil in mein Makro eingebaut...allerdings wird jetzt alles grau eingefärbt.
Hier mal mein Original-Makro, vielleicht hilft das ein wenig.
tobstein

Sub tagessieger_rr_sortieren()
' tagessieger_rr_sortieren Makro
' Makro am 01.02.2007 von U330006 aufgezeichnet
' Tastenkombination: Strg+r
Range("S6:AK57").Select
Selection.Copy
Sheets("tagessieger_rr_sortiert").Select
Range("S6").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.Interior.ColorIndex = xlNone
Selection.Sort Key1:=Range("S6"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range( _
"S7:AK7,S9:AK9,S11:AK11,S13:AK13,S15:AK15,S17:AK17,S19:AK19,S21:AK21,S23:AK23,S25:AK25,S27:AK27,S29:AK29,S31:AK31,S33:AK33,S35:AK35,S37:AK37,S39:AK39,S41:AK41,S43:AK43,S45:AK45" _
).Select
Range("S45").Activate
Range( _
"S7:AK7,S9:AK9,S11:AK11,S13:AK13,S15:AK15,S17:AK17,S19:AK19,S21:AK21,S23:AK23,S25:AK25,S27:AK27,S29:AK29,S31:AK31,S33:AK33,S35:AK35,S37:AK37,S39:AK39,S41:AK41,S43:AK43,S45:AK45,S47:AK47,S49:AK49,S51:AK51,S53:AK53,S55:AK55,S57:AK57" _
).Select
Range("S57").Activate
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
Range("S4").Select
End Sub

Anzeige
AW: Makro vereinfachen
02.02.2007 09:32:15
Harald
Hi,
falls das so eingefügt wurde, sehe ich keinen Grund (ausser verbundenen Zellen) warum das nicht funzen sollte

Sub tagessieger_rr_sortieren()
' tagessieger_rr_sortieren Makro
' Makro am 01.02.2007 von U330006 aufgezeichnet
' Tastenkombination: Strg+r
Dim i As Integer
Range("S6:AK57").Copy
Sheets("tagessieger_rr_sortiert").Select
Range("S6").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.Interior.ColorIndex = xlNone
Selection.Sort Key1:=Range("S6"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
For i = 7 To 55 Step 2
Range("S" & i & ":AK" & i).Interior.ColorIndex = 15
Next i
Range("S4").Select
End Sub

Gruss Harald
Anzeige
AW: Makro vereinfachen
02.02.2007 09:07:22
IngGi
Hallo tobstein,
ich bin jetzt davon ausgegangen, dass Anfangs- und Endzeile feststehen.

Sub Auswahl()
Dim rng As Range
Dim ze As Long
For ze = 7 To 55 Step 2
   If rng Is Nothing Then
      Set rng = Range(Cells(ze, 19), Cells(ze, 37))
   Else
      Set rng = Union(rng, Range(Cells(ze, 19), Cells(ze, 37)))
   End If
Next 'ze
rng.Select
End Sub
Wobei du auf das Select verzichten und gleich mit "rng.Interior.ColorIndex = 5" die Zellen einfärben kannst.
Gruß Ingolf
Anzeige
AW: Makro vereinfachen
02.02.2007 09:31:12
tobstein
Hallo Ingolf,
danke....Deine Lösung funktioniert einwandfrei.
So hatte ich mir das vorgestellt...
tobias
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige