Ich habe unter Code, der funktioniert, aber wenn ich die Datei schließe, habe ich einen Fehlercode. Problem ist in der Logik, wo ich die nächste leere Zelle in der Spalte "C" nach C24 suchen möchte.Fehler beim Schließen der Datei
Private Sub ComboBox21_Change()
Dim NextFree As String
Dim Comboindex As Integer
Dim Combovalue As String
Comboindex = Sheet1.ComboBox21.ListIndex + 1
Combovalue = Sheet1.ComboBox21.Value
'NextFree = Range("C24:C" & Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
Dim ws As Worksheet
Set ws = ActiveSheet
For Each cell In ws.Range("C24:C100")
If IsEmpty(cell) = True Then
NextFree = cell.Row
Exit For
End If
Next cell
If NextFree > 25 Then
Set ws1 = ThisWorkbook.Sheets("Feuil1")
With ws1
Set Rng = .Rows(NextFree - 1)
Rng.Copy
Rng.Offset(1).Insert Shift:=xlDown
Application.CutCopyMode = False
.Range("C" & NextFree & ":H" & NextFree).ClearContents
End With
End If
Worksheets("Feuil1").Cells(NextFree, 3).Value = Worksheets("Feuil2").Cells(Comboindex, 1).Value
Worksheets("Feuil1").Cells(NextFree, 5).Value = Worksheets("Feuil2").Cells(Comboindex, 2).Value
Worksheets("Feuil1").Cells(NextFree, 6).Value = Worksheets("Feuil2").Cells(Comboindex, 3).Value
Worksheets("Feuil1").Cells(NextFree, 8).Value = "=+F" & NextFree & "-(G" & NextFree & "*F" & NextFree & ")"
TotalHTF = "=SUM(H25:H" & NextFree & ")"
Worksheets("Feuil1").Cells(NextFree + 1, 8).Value = TotalHTF
TotalHT = Worksheets("Feuil1").Cells(NextFree + 1, 8).Value
TVAF = "=H" & NextFree + 1 & "*0.2"
Worksheets("Feuil1").Cells(NextFree + 2, 8).Value = TVAF
TVA = Worksheets("Feuil1").Cells(NextFree + 2, 8).Value
NetF = "=H" & NextFree + 1 & "+H" & NextFree + 2
Worksheets("Feuil1").Cells(NextFree + 3, 8).Value = NetF
Net = Worksheets("Feuil1").Cells(NextFree + 3, 8).Value
End Sub
Was nun Fehler beim Schließen der Datei ist: „Objektvariable oder With-Blockvariable nicht gesetzt“
In Zeile:
For Each cell In ws.Range("C24:C100")
Wie Sie sehen können, habe ich versucht, auch vor der Verwendung der Option:
'NextFree = Range("C24:C" & Rows.Count).Cells.SpecialCells(xlCellTypeBlanks).Row
Dies funktioniert auch, aber hatte unter Fehler beim Schließen der Datei: "Kann die SpecialCells-Eigenschaft der Range-Klasse nicht erhalten"
Irgendwelche Ideen, wie es geht?
Grüße,
Brian
welche Datei schließen Sie? – user3598756
die für jede Schleife funktioniert gut. Sie müssen 'sheet1' und' sheet2' durch Arbeitsblätter ("Sheet1") und Arbeitsblätter ("Sheet2") ersetzen oder am Anfang definieren. –
Fehler ist, wenn ich Excel-Datei schließen, die diesen Code hat. Jetzt habe ich den Code von Blatt1 zu Arbeitsblatt ("Sheet1") geändert, aber ich habe immer noch denselben Fehler, wenn das Dokument geschlossen ist. Anfangscode aktualisiert Fehler: "Objektvariable oder mit Blockvariable nicht gesetzt" – Brian