Hallo,
ich möchte in meinem Dokument immer 2 Spalten vor dem Ende eine neue Spalte hinzufügen. Das klappt auch soweit wunderbar. Nun möchte ich aber über eine Inputbox den Wert der inputbox immer in die Zeile 2 der hinzugefügten Spalte schreiben. Dabei hakt es leider. Kann mir jemand helfen? Hier mein Code:
Function FindVorLetzte(mySH As Worksheet) As Range
Dim LRow As Long, LCol As Long
Dim a As Long
With mySH.UsedRange
On Error Resume Next
'Finde Zeile
LRow = .Find("*", , xlValues, xlWhole, xlByRows, xlPrevious, False, False).Row
LRow = Application.Max(LRow, .Find("*", , xlFormulas, xlWhole, xlByRows, xlPrevious).Row)
If LRow = 0 Then LRow = 1
'Finde Spalte
For a = .Columns(.Columns.Count).Column To .Columns(1).Column Step -1
LCol = mySH.Columns(a).Find("*", , xlValues, xlWhole, xlByRows, xlPrevious).Column
LCol = Application.Max(LCol, mySH.Columns(a).Find("*", , xlFormulas, xlWhole, xlByRows, xlPrevious).Column)
If LCol > 1 Then: LCol = a: Exit For
Next a
If LCol = 0 Then LCol = 1
End With
Set FindVorLetzte = mySH.Cells(LRow, LCol - 1)
End Function
Sub Spalte()
FindVorLetzte(ActiveSheet).EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
|