Excel - in jede 2. Zeile eine Verkettung einfügen

Hi,
ich habe ein problem in Excel. Ich habe eine Tabelle mit unterschiedlicher Zeilenzahl, die ausgewertet werden soll. Ich bin eigentlich schon sehr weit aber habe ein großes Problem.
Um die Daten auswerten zu können, muss ich nach einem bestimmten Muster Zeilen löschen. Das funktioniert einwandfrei.
Allerdings wird durch das Zeilen löschen die Verketten-Funktion zerstört, da der Zellbezug nicht mehr hergestellt werden kann. Die Zeilen müssen aber zwingend vor der Verkettung gelöscht werden, da sonst Fehler entstehen.
Ist da was mit VBA möglich?
Es soll in jeder geraden Zeile folgende Verkettung stattfinden.
Beispiel für Zeile 2:
AO2=AK2&AK3$B3
In Zeile 3 soll nix passieren.
In Zeile 4 dann wieder
AO4=AK4&AK5$B5

usw.

Hallo Chrue,

ich habe ein problem in Excel.

normal, dafür gibt es Excel *grins*

Um die Daten auswerten zu können, muss ich nach einem
bestimmten Muster Zeilen löschen. Das funktioniert
einwandfrei.

Was genau funktioniert da? Ein Makro, dann zeige den Code.
Auch eine Beispielmappe hochladen mit file-upload, s.FAQ:2606 ist evtl. hilfreich.
Vielleicht in Blatt1 die Tabelle wie sie ist, in Blatt2 wie sie ist nachdem du gelöscht hast und in Blatt3 wie sie sein sollte nach Löschungen.

Ist da was mit VBA möglich?

Möglich.

Gruß
Reinhard

Hallo,
das ist der Code mit dem alle „türkisen Zeilen“ gelöscht werden.

Sub türkiseZeilenLöschen()
lZeile = Cells(Rows.Count, 1).SpecialCells(xlLastCell).Row
'makro zählt Rückwärts!
For i = lZeile To 1 Step -1
If Cells(i, 1).Interior.ColorIndex = 42 Then
Rows(i).Delete
End If
Next i
End Sub

Nachdem diese Zeilen gelöscht sind soll nun in jeder geraden Zeile in der Zelle „AOi“ die Zellen AKi, Aki+1 und Bi+1 verkettet werden.
Nach Möglichkeit sollte das ganze am Ende der Daten aufhören die Verkettung durchzuführen, dass ich keine Endlosschleife erhalte. (Als Hilfe: In jeder geraden Zeiel ist die Zelle „A“ mit einer Zahl ausgefüllt.

Gruß

Habe eine etwas andere Lösung für mein Problem gefunden.

Trotzdem Vielen Dank für die Hilfe!

Gruß

Vorsicht mit SpecialCells

lZeile = Cells(Rows.Count, 1).SpecialCells(xlLastCell).Row

Nachdem diese Zeilen gelöscht sind soll nun in jeder geraden
Zeile in der Zelle „AOi“ die Zellen AKi, Aki+1 und Bi+1
verkettet werden.

Hallo Chrue,

ich benutze SpecialCells ungern, da es gelegentlich lücht.
Lass den kleinen Code mal laufen in einer neuen leeren Mappe, wo du noch nie was in den unteren Zellen von A tatest.

Gruß
Reinhard

Option Explicit

Sub türkiseZeilenLöschen()
Dim lngZei As Long
'makro zählt Rückwärts!
For lngZei = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
 If Cells(lngZei, 1).Interior.ColorIndex = 42 Then
 Rows(lngZei).Delete
 End If
Next lngZei
For lngZei = 2 To Cells(Rows.Count, 1).End(xlUp).Row Step 2
 With Cells(lngZei, 41) 'AO
 .FormulaLocal = "=AK" & lngZei & "&AK" & lngZei + 1 & "&B" & lngZei + 1
 End With
Next lngZei
End Sub

Sub test()
Range("A50000") = "nix"
Range("A50000").ClearContents
MsgBox Cells(Rows.Count, 1).SpecialCells(xlLastCell).Row
MsgBox Cells(Rows.Count, 1).End(xlUp).Row
End Sub