Selecteren van huidige listobject in excel 2007

Status
Niet open voor verdere reacties.

JPSchoenmaker

Gebruiker
Lid geworden
4 jul 2008
Berichten
11
Excel 2007 werkt veel meer met tabelnamen.

Ik heb een grote draaitabel en dubbel klik op het gewenste data onderdeel.
Excel 2007 maakt dan zelf een tabel aan en geeft zelf een naam aan dat tabel, maar die naam is als je het vaker doet steeds weer anders. Ik wil met die data speciale bewerkingen maken die ik samenvat in een macro. Hoe selecteer ik de huidige tabel waar ik me in begeef zonder de naam te kennen.

Ik ben ers=achter gekomen dat excell het ziet als een listobject en dat het wijzigen als je de naam wel kent niet zo moeilijk is:

ActiveSheet.Listobjects("Oude Naam").Name = "Nieuwe Naam"

Maar hoe als je dus de naam niet kent?

Ik heb het voorlopig opgelost door elke keer voor de macro zelf de naam te veranderen in "test" en dan vervolgens de macro te starten, maar er moet toch ook en manier zonder zijn.
 
Hoi

Kan je eens een klein fictief representatief voorbeeldje bijhangen aub? Maakt het wat gemakkelijker voor helpers.
 
Hieronder is het begin van de macro.

Hiervoor heeft Excell 2007 een tabel gemaakt van de achterliggende data van een draaitabel die ik heb geslecteerd (dubbel klikken op data). Nadat ik de huidige sheet een andere naam heb gegeven ("Bridge Data"), verander ik de naam van de tabel, maar ik moet op deze manier een naam invullen, in dit geval "test". Om deze macro te starten moet ik dus eerst handmatig de tabel de naam test meegeven, dat heb ik nu gedaan om het tijdelijk op te lossen, maar het is niet ideaal. Beter is als hij de tabel kan kiezen onafhankelijk van de naam zoals je dat ook bij sheet kunt doen. Je hebt die tabelnaam nodig weer voor formules. Ik voeg namelijk en kollom toe en voeg een berekening in over de hele kolom.



Sub Revenue_Bridge_Barneveld()
'
' Revenue_Bridge_Barneveld Macro
'

ActiveSheet.Name = "Bridge Data"
ActiveSheet.ListObjects("test").Name = "Bridge"


Columns("K:K").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("Bridge[[#Headers],[CRSG07]]").Select
ActiveCell.FormulaR1C1 = "IBU"
Range("K2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(Bridge[[#This Row],[CRSG06]],'[PERSONAL.XLS]Item Classes'!R2C1:R473C7,7,0)"

End Sub
 
Zoiets

Code:
Sub Revenue_Bridge_Barneveld()
'
' Revenue_Bridge_Barneveld Macro
'

ActiveSheet.Name = "Bridge Data"
Range("A1").CurrentRegion.Name = "Bridge"

Columns("K:K").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("Bridge[[#Headers],[CRSG07]]").Value = "IBU"
Range("K2").Formula = "=VLOOKUP(Bridge[[#This Row],[CRSG06]],'[PERSONAL.XLS]Item Classes'!R2C1:R473C7,7,0)"

End Sub

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan