Ich habe das ausgelagerte Tabellenblatt "XXX" jetzt kopiert und mit Inhalte einfügen Werte erstmal eingefügt, sodass danach keine Formeln mehr in den Zellen stehen.
Danach habe ich dein folgendes Makro dort im Anschluss eingefügt
Dim lngletzte As Long
Dim lngZeile As Long
Dim lngSpalte As Long
Dim lngAnfang As Long
Dim varInhalt As Variant
'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False
'Benachrichtigungen ausschalten
Application.DisplayAlerts = False
For lngSpalte = 1 To 15 'für Spalten A bis O
lngletzte = ActiveSheet.Cells(Rows.Count, lngSpalte).End(xlUp).Row + 1 'letzte Zeile in Spalte ermitteln und um 1 erhöhen
varInhalt = ActiveSheet.Cells(1, lngSpalte) 'Inhalt der ersten Zeile in Variable schreiben
lngAnfang = 1 'erste Zeilennummer in Variable schreiben
For lngZeile = 2 To lngletzte
If ActiveSheet.Cells(lngZeile, lngSpalte).Value <> varInhalt Then
If lngZeile - lngAnfang > 1 Then
With ActiveSheet.Range(Cells(lngAnfang, lngSpalte), Cells(lngZeile - 1, lngSpalte))
.MergeCells = True
.VerticalAlignment = xlCenter
End With
End If
varInhalt = ActiveSheet.Cells(lngZeile, lngSpalte).Value
lngAnfang = lngZeile
End If
Next lngZeile
Next lngSpalte
Wenn ich nun das Makro laufen lassen, bekomme ich wieder den Laufzeitfehler 13, Typen unverträglich an Stelle
If ActiveSheet.Cells(lngZeile, lngSpalte).Value <> varInhalt Then