2010-12-15 101 views
1

Comment puis-je récupérer la référence de style A1 d'une cellule de feuille de calcul Excel dans VBA? J'utilise Access 2007 VBA.Comment faire pour récupérer la référence de style A1 d'une cellule de feuille de calcul Excel dans VBA

Ainsi, lorsque par exemple pour la cellule MyWorksheet.Range("A1").Offset(2, 3) la valeur "D3" est retournée.

Cela semble une question si simple.

+0

En réponse à votre drapeau, s'il vous plaît voir "Qu'est-ce que la suppression signifie pour un poste?" dans [cette FAQ] (http://meta.stackexchange.com/questions/5221/what-can-cause-a-post-to-be-deleted-and-what-does-that-actually-mean). –

+0

Ok, merci, maintenant il est clair pour moi – waanders

Répondre

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

Les arguments (tous en option) pour l'adresse sont

RowAboslute - Faux pour aucun dollars signe

ColumnAbsolute - faux signes sans dollar

ReferenceStyle - par défaut est xlA1 (la valeur constante est 1 si votre reliure est en retard)

Ext ernal - inclure le classeur/nom de la feuille de calcul

RelativeTo - Celui-ci est un mystère complet pour moi. Ça ne marche jamais comme je m'y attends.

+0

Merci pour votre aide! – waanders

+0

La seule façon de comprendre Logiquement quand on travaille dans VBA est de (mentalement) tout convertir en mode R1C1, de calculer la référence par rapport au point d'ancrage donné, puis de convertir le résultat en mode A1. –

1

Pour imprimer l'adresse de style A1 dans la fenêtre Exécution, utilisez ce qui suit. En spécifiant que vous ne voulez pas que les colonnes ou les lignes soient absolues, vous n'avez pas besoin d'utiliser la fonction de remplacement.

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

Et aussi merci – waanders