HERBERS Excel-Forum - das Archiv

Thema: Makro funkt nicht

Makro funkt nicht
Heinz
Guten Morgen Liebe Excellenten,

ich versuche gerade mit Hilfe von Makros Formeln
aus den Zellen oberhalb der Tabelle
in die leeren Zellen meiner Tabelle in den Spalten
A und B einzufügen.

https://www.herber.de/bbs/user/168892.xlsm

Aber es funkt nicht ...
Könnte Ihr helfen?

Heinz
AW: Makro funkt nicht
hary
Moin
Der Code kann noch verbessert werden.
Z.B. mit Specialcells(Blanks).
Bin mir aber nicht sicher ob die Formel ueberhaupt passend ist.
Schleifenanfang bei 4 und FormulaR1C1 nehmen.
Aber erstmal zum testen:
Sub FormelnInStart_Ende_DatenKopieren()

'Fügt auf dem Tabellenblatt Daten die Formeln in der Zelle A2 in alle freien Zellen der Tabelle
'ein.
'macht das gleiche mit der Formeln in Zelle B2
Dim ws As Worksheet
Dim lastRowA As Long
Dim lastRowB As Long
Dim i As Long
' Aktuelles Arbeitsblatt
Set ws = ActiveSheet
' Tabellenblatt "Daten"
With Worksheets("Daten")
' Spalte A
lastRowA = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 4 To lastRowA
If .Cells(i, "A") = "" Then
.Cells(i, "A").FormulaR1C1 = ws.Range("A2").FormulaR1C1
End If
Next i
' Spalte B
lastRowB = .Cells(.Rows.Count, "B").End(xlUp).Row
For i = 4 To lastRowB
If .Cells(i, "B") = "" Then
.Cells(i, "B").FormulaR1C1 = ws.Range("B2").FormulaR1C1
End If
Next i
End With
End Sub

gruss hary
AW: Makro funkt nicht
Heinz
Hallo Harz

an dieser Stelle des Makros

With Worksheets("Daten")
' Spalte A
lastRowA = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 4 To lastRowA
If .Cells(i, "A") = "" Then
.Cells(i, "A").FormulaR1C1 = ws.Range("A2").FormulaR1C1
End If
Next i
' Spalte B

wird ein Laufzeitfehler 13 angezeigt. Typen unverträglich.
Hast Du eine Lösung dafür?

Heinz
AW: Makro funkt nicht
hary
Moin
Probier mal. Ist auch das Makro drin(ohne Schleife)
https://www.herber.de/bbs/user/168893.xlsm
gruss hary