title image


Smiley Re: VBA - Namen dynamisch definieren
Hallo!



Ich habe sowas ähnliches mal gebastelt für den Fall, dass man von Hand eine Liste, die auch den Namen Liste trägt erweitert oder verkleinert, und zwar sowohl hinsichtlich der Datensätze als auch der Datenfelder. Voraussetzung ist dabei allerdings jeweils, dass es sich um eine zusammenhängende Liste handelt. Mit einer Liste, in der die Datensätze jeweils durch eine Leerzeile getrennt sind, würde es nicht funktionieren.

Vielleicht kannst Du mit dem folgenden Codeauszug was anfangen. Der gehört in das Codefenster von "Diese Arbeitsmappe":



Dim lng_AnzDatensätzeBisher As Long



Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)

Dim n_Liste As Name

Dim r_Liste As Range

Dim lng_AnzDatensätzeNeu As Long



Set n_Liste = ActiveWorkbook.Names("Liste")

Set r_Liste = n_Liste.RefersToRange



Set r_Liste = r_Liste.Cells(1).CurrentRegion

lng_AnzDatensätzeNeu = r_Liste.Rows.Count



If lng_AnzDatensätzeBisher lng_AnzDatensätzeNeu Then

'wird die Namenszuweisung entsprechend angepasst

n_Liste.RefersTo = "=" & r_Liste.Address(external:=True)

MsgBox "Zellbereich für " & n_Liste.Name & vbCr & r_Liste.Address(external:=True)

End If



End Sub



Die Msgbox ist natürlich nur zur Erläuterung. Die kannst Du weglassen.



Gruß

Manes
Ob ich Spotlight gut finde? Also wenn ich ehrlich sein soll, müsste ich lügen!

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: