Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
524to528
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
524to528
524to528
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro macht zeile zuviel, abhilfe?

Makro macht zeile zuviel, abhilfe?
03.12.2004 10:25:31
BOperator
Moin moin!
Hab gestern von Dr. nen Source bekommen, der soweit funktioniert hat.
Hab ihn noch leicht abgeändert, dass er zu unserer Namenskonvention passt.
Das Makro soll jeder zweiten zeile in einem markierten bereich einfärben.
Allerdings hat der Source einen kleinen Bug. Bei einer ungeraden zahl an selectierten Zeilen nimmt er noch eine zeile über die markierung hinaus mit...
wie kann ich das unterbinden?
Mein Ansatz ist in diesen rautenabschnitt eingefasst, aber des funzt net... was ja auch irgendwie logisch ist... nur wie kann ich es besser lösen?
MfG, BOperator
Option Explicit

Sub do_hesch()
Dim nY1 As Integer
Dim nY2 As Integer
Dim nX1 As Integer
Dim nX2 As Integer
Dim nI As Integer
Dim nJ As Integer
Dim nCountRow As Integer
Dim nCountColu As Integer
Dim sColor1 As String
Dim sColor2 As String
sColor1 = RGB(255, 0, 0)
sColor2 = RGB(0, 0, 255)
nCountColu = ActiveWindow.Selection.Columns.Count
nCountRow = ActiveWindow.Selection.Rows.Count
nX1 = ActiveWindow.Selection.Column
nY1 = ActiveWindow.Selection.Row
nX2 = ActiveWindow.Selection.Column + nCountColu - 1
nY2 = ActiveWindow.Selection.Row + nCountRow - 1
For nI = nY1 To nY2 Step 2
For nJ = nX1 To nX2
ActiveSheet.Cells(nI, nJ).Interior.Color = sColor1
If nI = nY2 And nJ <> nX2 Then
Next nJ
ElseIf nI = nY2 And nJ = nX2 Then
Exit For
End If
ActiveSheet.Cells(nI + 1, nJ).Interior.Color = sColor2
Next nJ
Next nI
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Makro macht zeile zuviel, abhilfe?
u_
Hallo,
nX1 = ActiveWindow.Selection.Column
nY1 = ActiveWindow.Selection.Row
nX2 = ActiveWindow.Selection.Column + nCountColu - 1
nY2 = ActiveWindow.Selection.Row + nCountRow - 1
nY2=nY2-(nY2 Mod 2)
Gruß
AW: Makro macht zeile zuviel, abhilfe?
BOperator
hmm... jetzt schneidet mir das makro einfach die letzte zeile im selectierten abschnitt ab....
ich glaub des problem liegt irgendwo in der For Next schleife... nur die krieg ich net geknackt...
hat vielleicht jemand ein gutes Tut. für While Wend? möglicherweise komm ich damit weiter, hab aba diesbezüglich leider null plan :(
Greetz
AW: Makro macht zeile zuviel, abhilfe?
u_
Hallo,
warum machst du das nicht einfach mit einer bedingten Formatierung?
siehe http://www.excelerator.de Tipps und Tricks- unterschiedliche Zeilenfarben.
Gruß
Anzeige
AW: Makro macht zeile zuviel, abhilfe?
BOperator
Ich brauch des als Makro, da ich nen x-belibiegen bererich so formatieren will, und zwar markieren, dann button_click und dann zeilen in abhängigkeit davon bunt...
AW: Makro macht zeile zuviel, abhilfe?
BOperator
Problem gelöst :)
Hab einfach zwei for next schleifen gebastelt und in der zweiten dann einen abbruch-parameter reingetüdelt
MfG, BOperator
Option Explicit

Sub do_hesch()
Dim nY1 As Integer
Dim nY2 As Integer
Dim nX1 As Integer
Dim nX2 As Integer
Dim nI As Integer
Dim nJ As Integer
Dim nCountRow As Integer
Dim nCountColu As Integer
Dim sColor1 As String
Dim sColor2 As String
sColor1 = RGB(255, 0, 0)
sColor2 = RGB(0, 0, 255)
nCountColu = ActiveWindow.Selection.Columns.Count
nCountRow = ActiveWindow.Selection.Rows.Count
nX1 = ActiveWindow.Selection.Column
nY1 = ActiveWindow.Selection.Row
nX2 = ActiveWindow.Selection.Column + nCountColu - 1
nY2 = ActiveWindow.Selection.Row + nCountRow - 1
For nI = nY1 To nY2 Step 2
For nJ = nX1 To nX2
ActiveSheet.Cells(nI, nJ).Interior.Color = sColor1
Next nJ
Next nI
For nI = nY1 To nY2 Step 2
For nJ = nX1 To nX2
If nI = nY2 Then Exit For
ActiveSheet.Cells(nI + 1, nJ).Interior.Color = sColor2
Next nJ
Next nI
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige