AW: Möglicherweise...
21.04.2020 09:19:11
Werner
Hallo,
stellt sich mir die Frage:
Ich habe dir einen Code geschickt, den benutzt du aber nicht. Wozu schicke ich dir dann einen Code?
Dass mein Code in dieser Codezeile:
loSpalte = .Cells(1, .Columns.Count).End(xlToLeft).Offset(, -1)
einen Fehler produziert, hättest du auch schreiben können. Dann wäre mir gleich aufgefallen, dass mir da beim Einstellen des Codes (warum auch immer) ein .Column verloren gegangen ist. Die Codezeile müsste richtig so:
loSpalte = .Cells(1, .Columns.Count).End(xlToLeft).Offset(, -1).Column
aussehen.
Und zu deinem "Formelproblem":
Einfach nach dem Einfügen der zusätzlichen Spalten die Formel per Code neu in den Zellbereich schreiben.
Private Sub CommandButton1_Click()
Dim loAnzahl As Long, loSpalte As Long, loLetzte As Long
Application.ScreenUpdating = False
If Me.TextBox1 "" Then
If IsNumeric(Me.TextBox1) Then
loAnzahl = Me.TextBox1
If loAnzahl > 0 Then
Worksheets("Vorlage").Columns("A").Copy
With Worksheets("Urlaub")
loSpalte = .Cells(1, .Columns.Count).End(xlToLeft).Offset(, -1).Column
.Columns(loSpalte).Resize(, loAnzahl).Insert
loLetzte = .Cells(.Rows.Count, 3).End(xlUp).Row
loSpalte = .Cells(1, .Columns.Count).End(xlToLeft).Offset(, -1).Column
.Range(.Cells(7, loSpalte), .Cells(loLetzte, loSpalte)).FormulaR1C1 = _
"=COUNTIF(RC7:RC[-1],""U"")+COUNTIF(RC7:RC[-1],""U1"")"
Application.CutCopyMode = False
Unload Me
End With
Else
MsgBox "Fehler: Du willst 0 Spalten einfügen?"
Me.TextBox1.SetFocus
Me.TextBox1.SelStart = 0
Me.TextBox1.SelLength = Len(Me.TextBox1)
End If
Else
MsgBox "Fehler: Bitte Ziffer eingeben."
Me.TextBox1.SetFocus
Me.TextBox1.SelStart = 0
Me.TextBox1.SelLength = Len(Me.TextBox1)
End If
Else
MsgBox "Fehler: Bitte Anzahl an Spalten eintragen."
Me.TextBox1.SetFocus
End If
Gruß Werner