könnte sich jemand mal das folgende Makro anschauen...ich habe dazu 2 Fragen:
1. Wenn die neue Zeile eingefügt wird werden ja die Werte & Formate aus der oberen Zeile für die Spalten B:F und H:K übernommen. Das ist okay. In G wird ein Kontrollkästchen eingefügt. Problem da: Es zerhaut mir den Rahmen der Zelle, da diese nicht von oben übernommen wird....wie bekomme ich auch den Rahmen in G? Wenn ich die Spalten B:K übernehme, also inklusive G habe ich zwar den Rahmen aber er fügt mir dann immer mehr als ein Kontrollkästchen ein...
2. Ist es auch möglich ein Kontrollkästchen aus der Steuerelement-Toolbox einzufügen anstelle aus der Formularleiste? Wie würde dann der Code lauten?
Vielen Dank!
mfg
Mola
Sub Einfügenxyz()
'Einfügen xyz
Dim zeile As Long
Dim zl As Long
Dim rng As Range
Dim objCheckBox As Object
Application.ScreenUpdating = False
ActiveSheet.Select
'Eintrag mit "xyz" finden
zl = Range("D:D").Find(What:="xyz").Row
'von hier zum Ende der Liste springen
If Cells(zl + 1, 4) <> "" Then
zeile = Cells(zl, 4).End(xlDown).Row
Else
zeile = zl
End If
'neue Zeile einfügen
Rows(zeile + 1).Insert
'Spalten "B:F" von oben auffüllen
Set rng = Range(Cells(zeile, 2), Cells(zeile, 6))
rng.AutoFill Range(rng, rng.Offset(1, 0))
'Spalten "H:K" von oben auffüllen
Set rng = Range(Cells(zeile, 8), Cells(zeile, 11))
rng.AutoFill Range(rng, rng.Offset(1, 0))
'Spalten "F" löschen
Range("F" & zeile + 1).ClearContents
'CheckBox in Spalte "G" einfügen
With Range("G" & zeile + 1)
Set objCheckBox = ActiveSheet.CheckBoxes.Add( _
Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
End With
With objCheckBox
.LinkedCell = "G" & zeile + 1
.Characters.Text = "xx"
.Characters.Font.Name = "Arial"
.Characters.Font.Size = 8
End With
Application.ScreenUpdating = True
End Sub