RSS Feed

Syndicate content

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).

Submitted by aterzaghi on Tue, 02/12/2008 - 23:41

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.

 

AttachmentSize
indiretto_VBA.xls17 KB

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!

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <style> <center> <p>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.

Custom Search