Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Namensmanager per VBA mit variablen Namen versorgen

Namensmanager per VBA mit variablen Namen versorgen
23.01.2020 12:13:24
Thomas
Hallo,
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!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Namensmanager per VBA mit variablen Namen versorgen
23.01.2020 12:21:26
Rudi
Hallo,
Zellen kannst du Namen einfach zuweisen.
Sub Namen_vergeben()
Dim lf_This_Zeile As Integer
Dim lf_This_Spalte As Integer
Dim lf_Name As String
With Sheets("OE")
For lf_This_Zeile = 3 To 10
For lf_This_Spalte = 5 To 8
' Ermittle Name aus Zeilenbezeichnung und Spaltenbezeichnung
lf_Name = .Cells(lf_This_Zeile, 4).Value & "_" & .Cells(2, lf_This_Spalte).Value
.Cells(lf_This_Zeile, lf_This_Spalte).Name = lf_Name
Next lf_This_Spalte
Next lf_This_Zeile
End With
End Sub

Gruß
Rudi
AW: Namensmanager per VBA mit variablen Namen versorgen
23.01.2020 12:40:16
Thomas
Hallo Rudi,
danke für die prompte Antwort. Es funktioniert!
Gruß Thomas
Anzeige

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige