2010-01-21 10 views
0

Dans Excel VBA, je redéfinissent l'adresse d'une plage nommée avec:Comment réaffecter l'adresse d'une plage nommée dans Open Office VBA?

Ranges("MyRange").Cells(1).CurrentRegion.Name = "MyRange" 

en cas Worksheet_Deactivate.

De cette façon, après la mise à jour de la feuille de calcul, MyDataRange fait toujours référence à l'ensemble des données. Ok avec Excel, mais lorsque j'ai essayé de migrer vers Open Office VBA (OpenOffice.org 3.1.1/ OOO310m19 Build: 9420) la propriété ".Name" de la plage n'est pas définie.

Puis, j'ai essayé avec:

ThisWorkbook.Names("MyDataRange").RefersTo = Range("MyDataRange").Cells(1).CurrentRegion 

sans chance ("la propriété est en lecture seule" erreur)

Encore une fois, j'ai essayé avec:

ThisWorkbook.Names.Add ("MyDataRange", Range("MyDataRange").Cells(1).CurrentRegion) 

Cela fonctionne, mais après que toutes les cellules avec des validations que les références à la plage nommée perd la référence d'origine et montre "# NAME #" dans le popup.

Est-il possible de réaffecter l'adresse d'une plage nommée sans perdre les références?

TIA,

Pablo

+0

Tout ce que vous comprendre, vous avez mes sympathies: http://stackoverflow.com/questions/1651901/what-do-i-nene-pas-do-in-order-pour-get-openoffice-org-calc -to-read-the-vba-code-in –

+1

Je ne suis pas très OO savy, mais je me demande si cette technique pourrait fonctionner? http://www.ozgrid.com/Excel/DynamicRanges.htm – Oorang

+0

@OOrang: cela fonctionne bien pour ce problème spécifique, merci – PabloG

Répondre

1

Je me demande si this technique fonctionnerait?

Questions connexes