Compte tenu d'une ligne et de colonne (As Long), comment pouvez-vous déterminer la notation de feuille de calcul en utilisant VBA dans Excel (2007):Comment accéder à la notation Row, Column to Excel A1?
par exemple:
(R, C) = (1, 1) -> "A1"
(R, C) = (2, 1) -> "A2"
(R, C) = (2, 2) -> "B2"
Ainsi, si vous aviez une fonction:
Function CellRef(R As Long, C As Long) As String
qui a fourni cette fonctionnalité, vous pouvez faire quelque chose comme:
Worksheet.Range(CellRef(R1, C1) + ":" + CellRef(R2, C2)).Copy
Un peu de fond, dans le cas où c'est la mauvaise approche à prendre: Le but de cela est que j'ai une feuille de maître qui décrit d'autres feuilles de calcul dans un tableau:
WorksheetName, Range etc....
Ce contrôle feuille maître des transformations sur la feuille , mais la valeur Range est évidemment en notation Excel pour une utilisation ultérieure pratique dans le référencement de la gamme. Cependant, une routine pour gérer cette table, rapporter les exceptions et assurer la cohérence obtient vraiment des choses d'autres feuilles en ligne et en colonne, ainsi par exemple elle obtient une ligne et une colonne où elle sait que quelque chose commence et se termine.
Voici la fonction que j'ai fini avec:
Private Function CellRef(R As Long, C As Long) As String
CellRef = vbNullString
On Error GoTo HandleError:
CellRef = Replace(Mid(Application.ConvertFormula("=R" & R & "C" & C, XlReferenceStyle.xlR1C1, XlReferenceStyle.xlA1), 2), "$", "")
Exit Function
HandleError:
End Function
Avec quelques modifications, qui a bien fonctionné, merci. –
+1. Eh bien, afficher une partie de ce code ici ou au moins expliquer comment cela est fait aiderait. (Link pourri un jour pourrait laisser cette réponse moins utile) :) –