Condividi:        

EXCEL - Macro copia dati in base al valore della cella

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

EXCEL - Macro copia dati in base al valore della cella

Postdi W EXCEL » 20/09/11 15:35

Salve a tutti, cercando nel forum ho trovato molte discussoni simili al mio problema ma non mi hanno risolto niente, per spiegarmi ho bisogno di una macro che mi copi il valore della cella A1 del foglio 1 del file chiamato DATI in un altro file excel chiamato RISULTATI all'interno della cella e del foglio indicati come risultato di una formula del file DATI

Spero di essere stato chiaro, grazie!
W EXCEL
Newbie
 
Post: 2
Iscritto il: 20/09/11 15:17

Sponsor
 

Re: EXCEL - Macro copia dati in base al valore della cella

Postdi Anthony47 » 20/09/11 21:07

Ciao wexcel, benvenuto nel forum.
Spero di essere stato chiaro, grazie!
Eccome!!
Avrai bisogno di inserire nel file dati.xls una macro che contenga queste righe:
Codice: Seleziona tutto
Thisworkbook. Sheets("Foglio1").Range("A1").Copy _
  Destination:=workbook("Risultati.xls").Sheets(NomeFoglio).Range(Indirizzo)

Se con questo spunto non risolvi allora dovresti provare a essere ancora piu' chiaro e preciso :D

Ciao.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - Macro copia dati in base al valore della cella

Postdi W EXCEL » 20/09/11 22:18

Grazie della risposta ma o io non ho capito come utilizzare la macro che hai scritto o mi sono spiegato male perchè non risolve il problema, cerco di essere più preciso, ho il foglio dati con una cella (es. B2 del Foglio2), in cui ci sarà una formula che per esempio restituierà come risultato Foglio1 A5, o Foglio2 C7, e la macro l'ndirizzo della cella di destinazione dove deve copiare i dati deve "estrarlo" automaticamente dalla cella, perciò una volta copierà i dati nella cella A5 del foglio1, la seconda volta copierà i dati nella cella C7 del foglio2, cambiando perciò cella di destinazione ogni volta che cambia il risultato nella cella, le righe che mi hai scritto, se non ho capito male copiano sempre i dati nella cella che gli scrivo io, o ho capito male come utilizzarle?
Grazie
W EXCEL
Newbie
 
Post: 2
Iscritto il: 20/09/11 15:17

Re: EXCEL - Macro copia dati in base al valore della cella

Postdi Anthony47 » 21/09/11 02:21

Beh, in effetti in questo secondo messaggio hai detto come sono rappresentati il foglio e l' indirizzo target (su cui copiare), anche se non hai ancora detto dove (in quale cella) quel risultato si trova.
Sulla base di queste nuove informazioni la macro puo' essere del tipo
Codice: Seleziona tutto
Sub Exmacro()
Dim Var1
LaCella="H1"    '<<< L' indirizzo della cella con Foglio+Cella
'
'Var1 = Split(WorksheetFunction.Trim(Sheets("Foglio1").Range(LaCella)), " ")
Thisworkbook. Sheets("Foglio1").Range("A1").Copy _
  Destination:=workbook("Risultati.xls").Sheets(Var1(0)).Range(Var1(1))
End Sub

Da excel, Alt-F11; ti si apre l' editor delle macro; Menu /Inserisci /Modulo; copi il ccodice e lo incolli nel frame di destra; compili l' istruzione marcata <<< con l' indirizzo da cui prelevare Foglio e cella di destinazione.
Torni su excel, eventualmente associ la macro a un pulsante in modo da poterla lanciare piu' facilmente; infine collaudi se la macro fa quello che ti aspetti.
Se No, allora spiega cosa produce la macro e che cosa invece vorresti ottenere, se hai dei messaggi di errore, di che tipo e su quale istruzione.

Ciao, fai sapere.
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL - Macro copia dati in base al valore della cella

Postdi Anthony47 » 21/09/11 09:18

Devo correggere un paio di errori nella macro nati a causa dei diversi nomi che avevo usato nelle mie prove:
Codice: Seleziona tutto
Sub Exmacro()
    Dim Var1
    LaCella = "H1"  '<<< L' indirizzo della cella con Foglio+Cella
    '
    Var1 = Split(WorksheetFunction.Trim(Sheets("Foglio1").Range(LaCella)), " ")
    ThisWorkbook.Sheets("Foglio1").Range("A1").Copy _
      Destination:=Workbooks("Risultati.xls").Sheets(Var1(0)).Range(Var1(1))
End Sub

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL - Macro copia dati in base al valore della cella":


Chi c’è in linea

Visitano il forum: Nessuno e 31 ospiti