ich habe in einer Matrix (E3:H10) Werte stehen, für die ich per VBA einen Namen erzeugen will. _ Die Matrix hat in Spalte D eine Zeilenbezeichnung und in Zeile 2 eine Spaltenbezeichnung. Der gewünschte Name der Zelle (x,y) soll sich aus der zusammengesetzten Zeilen- und Spaltenbezeichnung ergeben. Dafür habe ich folgendes Coding erstellt:
Sub Namen_vergeben()
Dim oname As Object
Dim lf_This_Zeile As Integer
Dim lf_This_Spalte As Integer
Dim lf_Letzte_Zeile As Integer
Dim lf_Letzte_Spalte As Integer
Dim lf_Name As String
Dim lf_result As String
Sheets("OE").Select
For lf_This_Zeile = 3 To 10
For lf_This_Spalte = 5_OE 8
' Ermittle Name aus Zeilenbezeichnung und Spaltenbezeichnung
lf_Name = Cells(lf_This_Zeile, 4).Value & "_" & Cells(2, lf_This_Spalte).Value
' falls es den Namen bereits gibt, löschen
For Each oname In ActiveWorkbook.Names
If oname.Name = lf_Name Then
ActiveWorkbook.Names(oname.Name).Delete
Exit For
End If
Next oname
' Zellbezug
lf_result = "='OE'!$" & Chr(64 + lf_This_Spalte) & "$" & lf_This_Zeile
' Namen vergeben
ActiveWorkbook.Names.Add Name:=lf_Name, RefersTo:=lf_result
ActiveWorkbook.Names(lf_Name).Comment = ""
Next lf_This_Spalte
Next lf_This_Zeile
End Sub
Nach Ausführen des Makros werden leere Zeilen in dem Feld zum Aufruf der Namen angezeigt. Im Namensmanager finden sich die korrekten Namen, allerdings mit seltsamen Werten und Bezügen. Die Beispieldatei kann hier abgerufen werden:
https://www.herber.de/bbs/user/134638.xlsm
Danke für jeden Tipp!