dynamischer Namensbereich in vba
14.02.2018 07:48:39
Thomas
ich habe folgendes Problem und komme nicht weiter.
Ich vergebe Bereichsnamen in einer intelligenten Tabelle mittels VBA.
Teilweise möchte ich aber nicht den ganzen Bereich der Tabelle umbenennen, sondern nur wenn in [Jahr] eine 10 steht. Bevor der Bereichsname vergeben wird sortiere ich das ganze aufsteigend.
Ich habe euch ein kleine Excel gebaut. Bei dem Beispiel sollte ein Namesbereich für Spalte B vergeben werden, wenn in Spalte A 10 steht. Hier also von B16:B31
https://www.herber.de/bbs/user/119782.xlsm
gibt es da Möglichkeiten
Beste Grüße Thomas
Sub Bereichsname_neu()
Dim i As String
Dim lngZeileMax As Long
lngZeileMax = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
With Tabelle1
lngZeileMax = .Cells(.Rows.Count, 1).End(xlUp).Row
Set LO = .ListObjects.Add(SourceType:=xlSrcRange, _
Source:=Range("A1:C" & lngZeileMax), xlListObjecthasheaders:=xlYes)
LO.Name = "tab_Simulation"
End With
Set LO = Worksheets("Tabelle1").ListObjects("tab_Simulation")
LO.Sort.SortFields.Clear
LO.Sort.SortFields.Add _
Range("tab_Simulation[[#All], [Jahr]]"), _
SortOn:=xlSortOnValues, Order:=xlAscending
With LO.Sort
.Header = xlYes
.Orientation = xlTopToBottom
.Apply
End With
i = Worksheets("Tabelle1").Range("e1").Value
Worksheets("Tabelle1").Range("tab_Simulation[[#All], [Jahr]]").Name = i
End Sub