Hallo
Ich habe diverse Tabellen die ich mehrmals im Jahr überarbeiten muss. Dabei ist es wichtig, dass gewisse Zellen jeweils eine bestimmte Bezeichnung haben. Ich habe nun einen Code erstellt der für eine Tabelle funktioniert. Möchte diesen nun aber so anpassen, dass ich ihn für jede Tabelle aufrufen kann (d.h. ich Exportiere dann das Modul und möchte die Bezugspunkte pro Tabelle selber eintragen).
Hier der Code der bereits funktioniert:
Option Explicit
Sub Umbenennen()
Dim strKey As String, i As Long
strKey = "KSTF"
With ActiveSheet
For i = 8 To .Cells(.Rows.Count, 9).End(xlUp).Row
.Cells(i, 9).Select
ActiveWorkbook.Names.Add Name:=strKey & .Cells(i, 1), RefersTo:= _
"=Umlage!" & .Cells(i, 9).Address
Next
End With
End Sub
Und hier meine gemachte Anpassung, bei der jedoch eine Fehlermeldung erscheint:
Option Explicit
Sub Umbenennen()
Dim strKey As String, strAWKey As String, strStart As String, strAWStart As String, strKST As String
Dim strAWKST As String, strUml As String, strAWUml As String, i As Long
strKey = "Bezeichnung des Kostenschlüssels"
strStart = "In welcher Zeile beginnen die Daten?"
strKST = "In welcher Spalte sind die Kostenstellen? (als Zahl)"
strUml = "In welcher Spalte sind die Umlageschlüssel? (als Zahl)"
strAWKey = InputBox(strKey)
strAWStart = InputBox(strStart)
strAWKST = InputBox(strKST)
strAWUml = InputBox(strUml)
With ActiveSheet
For i = strAWStart To .Cells(.Rows.Count, strAWUml).End(xlUp).Row
.Cells(i, strAWUml).Select
ActiveWorkbook.Names.Add Name:=strAWKey & .Cells(i, strAWKST), RefersTo:= _
"=Umlage!" & .Cells(i, strAWUml).Address
Next
End With
End Sub
Gibt es da eine möglichkeit, dass ich die Bezugspunkte via MsgBox einfügen kann, oder irgendein anderen sinnvollen Weg?
Cheers,
Dom
Ps. Der Fehler der angezeigt wird ist "1004: Anwendungs- oder Objektdefinierter Fehler".
Pps. Ich habe mir mein VBA-Wissen in den letzten Wochen autodidaktisch beigebracht. Also etwas Nachsicht, wenn ich offensichtliches übersehen :-)
|