Data una riga e colonna (As Long), come è possibile determinare la notazione foglio di calcolo utilizzando VBA in Excel (2007):Come passare dalla notazione Riga, Colonna a Excel A1?
esempio:
(R, C) = (1, 1) -> "A1"
(R, C) = (2, 1) -> "A2"
(R, C) = (2, 2) -> "B2"
Quindi se si ha una funzione:
Function CellRef(R As Long, C As Long) As String
che prevedeva che la funzionalità, si potrebbe fare qualcosa di simile:
Worksheet.Range(CellRef(R1, C1) + ":" + CellRef(R2, C2)).Copy
Un po 'di storia, nel caso in cui questo è l'approccio sbagliato da prendere: Lo scopo di questo è che ho un foglio maestro che descrive gli altri fogli di lavoro in una tabella:
WorksheetName, Range etc....
Questa scheda tecnica master controlla trasformazioni sul foglio , ma il valore Range è ovviamente in notazione Excel per un comodo utilizzo successivo nel riferimento all'intervallo. Tuttavia una routine per gestire questa tabella, segnalare le eccezioni e garantire che la coerenza ottenga le cose da altri fogli in righe e colonne, quindi ad esempio ottiene una riga e una colonna dove sa che qualcosa sta iniziando e terminando.
Ecco la funzione ho finito con:
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
con alcune modifiche, che ha funzionato bene, grazie. –
+1. Beh, postare un po 'di quel codice qui o almeno spiegando come è fatto sarebbe d'aiuto. (Il link potrebbe ruotare un giorno potrebbe lasciare questa risposta meno utile) :) –