Supportnet / Forum / Tabellenkalkulation
Ansprechen der ersten Freien Zeile in Excel (VBA)
Frage
Hallo ich habe ein Problem, Ich möchte bestimmte Zellen in einer Tabelle farbig haben allerdings dadurch das diese tabelle diurch eine Schleife eines Makros entsteht weiss ich nicht iwe ich die 6 zeile bzw die leere Zeile zwischen den Tabellen ansprechen kann. Hier ist der Quelltext vielleicht könnt ihr mir helfen.
j = 0
ZeilenNr = 0
For i = 5 To Worksheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row Step 1
If Worksheets("Ausgabe").Range("A4").Value = "" Then
Worksheets("Daten").Cells(i, 1).Copy
Worksheets("Ausgabe").Select
Range("A4").Select
ActiveCell.PasteSpecial xlPasteValues
ActiveCell.PasteSpecial xlPasteFormats
Worksheets("Daten").Select
Range(Cells(4, 2), Cells(4, 6)).Copy
Worksheets("Ausgabe").Range("B4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Worksheets("Ausgabe").Range("B4").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Worksheets("Daten").Select
Range(Cells(i, 2), Cells(i, 6)).Copy
Worksheets("Ausgabe").Range("C4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Worksheets("Ausgabe").Range("C4").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Else:
Worksheets("Daten").Cells(i, 1).Copy
Worksheets("Ausgabe").Select
Range("A65536").Select
Selection.End(xlUp).Select
ActiveCell.Offset(j, 0).PasteSpecial xlPasteValues
ActiveCell.PasteSpecial xlPasteFormats
Worksheets("Daten").Select
Range(Cells(4, 2), Cells(4, 6)).Copy
Worksheets("Ausgabe").Select
Range("A65536").Select
Selection.End(xlUp).Select
ActiveCell.Offset(0, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Worksheets("Daten").Select
Range(Cells(i, 2), Cells(i, 6)).Copy
Worksheets("Ausgabe").Select
Range("A65536").Select
Selection.End(xlUp).Select
ActiveCell.Offset(0, 2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
ActiveCell.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
j = 6
GoTo next1
End If
j = 6
next1:
Next i
For Each Zelle In ActiveSheet.UsedRange
Select Case Zelle
Case "xx"
Zelle.Interior.Color = RGB(178, 193, 209)
Case "yy"
Zelle.Interior.Color = RGB(178, 193, 209)
Case "zz"
Zelle.Interior.Color = RGB(178, 193, 209)
Case "hh"
Zelle.Interior.Color = RGB(178, 193, 209)
End Select
Next
[*][quote][sup][i]Admininfo: Thread verschoben. Bitte beachte [url=https://supportnet.de/groupfaqs/3][u]FAQ 2[/u][/url] für deine nächste Anfrage.[/i][/sup][/quote]
Antwort 1 von coros
Hi nasselieny,
kurze nachfrage zu Deiner Datei. Ist immer nach jeder sechsten Zeile eine Leerzeile oder ist das unterschiedlich. Wenn immer nach jeder sechsten Zeile eine Leerzeile erscheint, könnte man abschließend noch mal eine Schleife durchlaufen lassen, die jede 6. Zeile einfärbt. Diese sähe dann z.B. folgendermaßen aus:
For i = 10 To Worksheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row Step 6
Worksheets("Daten").Rows(i).Interior.ColorIndex = 3
Next
Mit dem Code wird Dir in jeder 6. Zeile, die Hintergrundfarbe in rot geändert.
Wenn Dich der Code nicht weiterbringt, dann melde Dich bitte noch mal und schreibe dann dazu, ob es wirklich immer die 6.Zeile ist, oder ob es keine Regelmäßigkeit bei den Leerzeilen handelt.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
kurze nachfrage zu Deiner Datei. Ist immer nach jeder sechsten Zeile eine Leerzeile oder ist das unterschiedlich. Wenn immer nach jeder sechsten Zeile eine Leerzeile erscheint, könnte man abschließend noch mal eine Schleife durchlaufen lassen, die jede 6. Zeile einfärbt. Diese sähe dann z.B. folgendermaßen aus:
For i = 10 To Worksheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row Step 6
Worksheets("Daten").Rows(i).Interior.ColorIndex = 3
Next
Mit dem Code wird Dir in jeder 6. Zeile, die Hintergrundfarbe in rot geändert.
Wenn Dich der Code nicht weiterbringt, dann melde Dich bitte noch mal und schreibe dann dazu, ob es wirklich immer die 6.Zeile ist, oder ob es keine Regelmäßigkeit bei den Leerzeilen handelt.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von nasselieny
Hallo Oliver,
also ja es ist immer die 6 zeile allerdings wäre die erste erst in der 15 ten das heisst, es soll immer in der 6 Zeile eine andere farbe entstehen und die erste farbige Zeile ist in der 15 ten.
also ja es ist immer die 6 zeile allerdings wäre die erste erst in der 15 ten das heisst, es soll immer in der 6 Zeile eine andere farbe entstehen und die erste farbige Zeile ist in der 15 ten.
Antwort 3 von coros
Hi nasselieny,
dann mache aus der Zahl 10, die in der Zeile
meines Codes aus Antwort 1 steht, die Zahl 15 und es wird Dir jede 6.Zeile angefangen ab Zeile 15 eingefärbt.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
dann mache aus der Zahl 10, die in der Zeile
For i = 10 To Worksheets("Daten").Cells(Rows.Count, 1).End(xlUp).Row Step 6 meines Codes aus Antwort 1 steht, die Zahl 15 und es wird Dir jede 6.Zeile angefangen ab Zeile 15 eingefärbt.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von nasselieny
Hallo Oliver,
Vielen Dank hat geklappt,
Vielen Dank hat geklappt,

