2010-12-15 9 views
1

Wie kann ich die A1-Referenz einer Excel-Arbeitsblattzelle in VBA abrufen? Ich verwende Access 2007 VBA.So rufen Sie die A1-Referenz einer Excel-Arbeitsblattzelle in VBA ab

Also wo zum Beispiel für die Zelle MyWorksheet.Range("A1").Offset(2, 3) der Wert "D3" zurückgegeben wird.

Es scheint so eine einfache Frage.

+0

Als Antwort auf Ihre Flagge finden Sie unter "Was bedeutet Löschung für einen Beitrag?" in [dieser FAQ] (http://meta.stackexchange.com/questions/5221/what-can-cause-a-post-to-be-deleted-and-what-does-that-actual-mean). –

+0

Okay, danke, jetzt ist es klar für mich – waanders

Antwort

1
MyWorksheet.Range("A1").Offset(2,3).Address(False,False) 

Die Argumente (alle optional) für die Adresse sind

RowAboslute - Falsche für keine Dollar unterzeichnet

ColumnAbsolute - Falsche ohne Dollarzeichen

ReferenceStyle - Standard ist XLA1 (der konstante Wert ist 1, wenn Sie zu spät dran sind)

ext ernal - Schließen Sie den Namen der Arbeitsmappe/des Arbeitsblatts ein

RelativeTo - Dies ist ein komplettes Mysterium für mich. Es funktioniert nie so wie ich es erwarte.

+0

Danke für Ihre Hilfe! – waanders

+0

Die einzige Möglichkeit, Relative zu verstehen, wenn man in VBA arbeitet, besteht darin, (mental) alles in den R1C1-Modus zu konvertieren, den Bezug relativ zum gegebenen Ankerpunkt zu berechnen und das Ergebnis dann wieder in den A1-Modus zu konvertieren. –

1

Verwenden Sie Folgendes, um die A1-Adresse in das Direktfenster zu drucken. Wenn Sie angeben, dass die Spalten oder Zeilen nicht absolut sein sollen, müssen Sie die Ersetzungsfunktion nicht verwenden.

Public Sub Test() 
    Debug.Print Range("A1").Offset(2, 3).Address(RowAbsolute:=False, ColumnAbsolute:=False) 
End Sub 
+0

Und auch danke – waanders

Verwandte Themen