Range-String vs. RefersTo
04.08.2007 00:09:48
Ace_NoOne
mittels VBA möchte ich einen Namen für einen ausgewählten Datenbereich definieren.
Hierzu lese ich ein RefEdit-Steuerelement des entsprechenden UserForms aus und verwende diesen Wert im RefersTo-Teil der Names.Add-Anweisung:
Const dataRangeName As String = "DataRange"
Dim DataRange As String
dataRange = ref_dataRange.Value ' RefEdit-Steuerelement auslesen
dataRange = "=" & dataRange ' Range-String anpassen
ws.Names.Add _
Name:=dataRangeName, _
RefersTo:=dataRange ' Datenbereich festlegen
Allerdings führt dies zu zu Problemen bei der nachfolgenden ODBC-Abfrage (mittels QueryTables.Add).
Wenn ich den Datenbereich mittels der RefersToR1C1-Eigenschaft (nach Vorbild des Makro-Recorders) direkt im Code festlege, funktioniert es.
Daher bin ich mir ziemlich sicher, dass hier irgendwas mit meiner RefersTo- bzw. Range-Verarbeitung nicht stimmt.
Für etwas Hilfestellung wäre ich dankbar!