1k Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.3k Punkte)
Hallo,

ich habe einen Code, der nach Einzelschritten (f8) einwandfrei laüft. Wenn ich diesen Code jedoch über eine eingefügte Schaltfläche komplett laufen lasse, kommt es zu Fehlern. Wie kann das denn sein??
Gruß

3 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
nur wenige sehen Deinen Code, Datei.

Gruß Hajo
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo,

hier noch der Code für den Fall dass jemand gleich einen offensichtlichen Fehler für das Nichtfunktionieren des CommandButton erkennt:

Sub Rechnung()

Sheets("Abrechnung").Range("A3:L" & Cells(Rows.Count, 5).End(xlUp).Row).Clear
Sheets("Jobliste").Select
Dim rngZelle As Range
Dim KostProd As Double
Dim preis As Double, betrag As Double

j = 3 ' Zeilenindex Abrechnung
lngLetzte = Cells(Rows.Count, 3).End(xlUp).Row
For n = 6 To lngLetzte

KostProd = Cells(n, 7)
Sheets("Abrechnung").Cells(j, 11) = KostProd
Range(Cells(n, 3), Cells(n, 6)).Copy Destination:=Sheets("Abrechnung").Cells(j, 1)
j = j + 1

If Cells(n, 8) <> "" Then
zEnde = Cells(n, 256).End(xlToLeft).Column
With Sheets("Preisliste").Range("A2:A" & Sheets("Preisliste").Cells(Rows.Count, 1).End(xlUp).Row)
For k = 8 To zEnde - 1 Step 2

anz = Cells(n, k + 1)

Set Rng = .Find(Cells(n, k), LookIn:=xlValues)
If Not Rng Is Nothing Then
iRow = Rng.Row

preis = Sheets("Preisliste").Cells(iRow, 4)
Sheets("Preisliste").Range(Sheets("Preisliste").Cells(iRow, 1), Sheets("PreisListe").Cells(iRow, 3)).Copy
With Sheets("Abrechnung").Range("E" & j)
.PasteSpecial Paste:=xlPasteValues
End With
Sheets("Abrechnung").Cells(j, 8) = anz
Sheets("Abrechnung").Cells(j, 9) = anz * preis

Sheets("Abrechnung").Cells(j, 12) = Sheets("Abrechnung").Cells(j, 9) + Sheets("Abrechnung").Cells(j, 10) + Sheets("Abrechnung").Cells(j, 11)
betrag = betrag + Sheets("Abrechnung").Cells(j, 12)
i = i + 1 ' Zählindex für Anz Gewerke
j = j + 1
End If


Next
End With
Sheets("Abrechnung").Cells(j - 1 - i, 12) = betrag + KostProd



End If
betrag = 0
i = 0


Next
Sheets("Abrechnung").Select
For k = 4 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(k, 1) <> "" Then
Range(Cells(k - 1, 1), Cells(k - 1, 12)).Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End If
Next

End Sub

Danke und Gruss.
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo,

das Problem hat sich geklärt. es fehlte noch ein
Sheets("Jobliste").select am Ende...
Danke und Gruß
...