Supportnet Computer
Planet of Tech

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.

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.

Antwort 3 von coros

Hi nasselieny,

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,

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: