ich muss Zahlen aus einer DB in einen Text umwandeln, da ich führende Nullen benötige die immer 7 Stellen haben Nun habe ich mir ein Makro gebastelt, welches auch tut was es soll. Allerdings NUR solange die Werte ab A2 stehen. Meine Frage wäre, kann man per Inputbox einen Spalte angeben in der die Zahlen stehen (A oder D) und dann das Makro so weiter laufen lassen mit Range aus der Inputbox?
Problem ist einfach, das die Tabellen nicht immer die Zahlen in A haben und dann ist man ständig am kopieren.
Beispielmappe anbei,
https://www.herber.de/bbs/user/109793.xlsx
vielen Dank
Peter
'hier mal das bisherige Makro'
Sub LANR()
' Zahl Makro
'Füge neben der Spalte A eine neue Spalte ein
Columns("B:B").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("B1").Select
'Gebe der Spalte eine Überschrift
ActiveCell.FormulaR1C1 = "Zahl"
Range("B2").Select
'Formatiere die Zelle als Text mit 7 mal 0 von links
ActiveCell.FormulaR1C1 = "=TEXT(RC[-1],""0000000"")"
Dim lngLast As Long
lngLast = Cells(Rows.Count, 1).End(xlUp).Row
'Kopiere die Formel bis zur letzen befüllten Zelle
Range("B2").AutoFill Destination:=Range("B2:B" & lngLast)
'Kopieren und einfügen, damit nur die Werte aber nicht die Formeln stehen bleiben
Columns("B:B").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
' lösche die Hilfsspalte wieder
Columns("A:A").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
ActiveWorkbook.Save
End Sub