Sono alle primissime armi con con visual basic: ho questa porzione di codice Range ("c6"); anzichè avere il riferimento alla cella C6 vorrei che il riferimento fosse indicato dal valore di un'altra cella (ad es. A1).
In VBA è molto semplice recuperarre il valore di una cella da Excel.
Si usa normalmente il codice
Variabile = Range ("A1")
e si sostituisce al posto di A1 il riferimento alla cella che interessa.
La parte di codice "A1" è una stringa e anch'essa può essere recuperata dal foglio di lavoro stesso.
Questa macro semplice recupera dalla cella A1 il nome della cella da cui recuperare il valore che interessa e poi recupera da questa cella il valore contenuto in essa. A questo punto lo stampa nella cella A2 per mostrarew che il dato è stato effettivamente recuperato correttamente:
Sub prova()
Dim cella As String
Dim valora As Variant
cella = Range("A1")
valore = Range(cella)
Range("A2") = valore
End Sub
Ad esempio se inserite nella cella A1 il valore C6 e nella cella C6 il valore 88, troverete alla fine del giro il valore 88 nella cella A2.
| Attachment | Size |
|---|---|
| indiretto_VBA.xls | 17 KB |
Scarica la Toolbar!
Non so se posso chiedere
Non so se posso chiedere ulteriori chiarimenti rispetto alla risposta già fornitami e di cui ringrazio:
io ho la seguente macro:
Sub inseriscifotototale()
'
' inseriscifoto Macro
' Macro registrata il 28/11/2008 da carmine
'
Dim Nome_file As String
Nome_file = [AI20] & [AI21]
Workbooks.Open Filename:=Nome_file
' ActiveWindow.Close
Range("c6").Select
Selection.Copy
Windows("calcetto 2008-09.xls").Activate
Range("ah28").Select
ActiveSheet.Paste
Workbooks("calcetto - foto luigi.xls").Close SaveChanges:=False
End Sub
Il Mio problema è con la riga seguente:
Range("c6").Select
Avrei bisogno di questo:
la selezione anzichè puntare sempre sulla cella c6 dovrebbe puntare su una cella (c6 oppure c7 oppure c8 .....e così vià) che è diversa di volta in volta e che viene determinata dal valore della cella A1 (cioè nella cella A1 posso trovare come valore c6 oppure c7 oppure c8 ..... e così via.
Ringrazio anticipatamente per l'ulteriore attenzione che vorrete riservare a questa ulteriore richiesta.
Saluti.
recuperare in una macro il dato presente in una cella
La procedura è molto semplice:
per prima cosa definiamo una variabile che chiamiamo Cella con l'istruzione
Dim Cella as String
insieme all'altra istruzione Dim. Queste devono sempre essere definite all'inizio della macro.
A questo punto carichiamo la variabile Cella con il valore contenuto nella cella A1.
Niente di più facile: è sufficiente scrivere
Cella = [A1]
e il gioco è fatto!
A questo punto si sostituisce l'istruzione
Range("c6").Select
con
Range(Cella).Select
.. ed ecco fatto!
Post new comment