Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

EXCEL Copiare range in base a valore 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 Copiare range in base a valore cella

Postdi Francesco53 » 03/04/12 11:20

Buongiorno a tutto il forum, ho la seguente necessità:
Nella cella A1 ottengo un risultato numerico, Es. 34, 36, 38 e così via.
Nella cella B1 tramite formula: = "SD"&A1, ottengo SD34 oppure SD36 etc.
Queste sigle, SD34 etc, corrispondono a dei range o nomi già predisposti.
Ora la mia difficoltà non è quella di creare una macro che copia ed incolla il range,
quanto quello di fargli valutare il valore per poi copiare il range, non riesco a selezionare
il range, inserisco esempio di macro non funzionante:

Codice: Seleziona tutto
Sub SistemDati()
    Worksheets("Dati").Select
    'Range("B1").Select
    Range("B1").Value.Select
        Selection.Copy
            Range("N10").Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
            Application.CutCopyMode = False
End Sub

Grazie a chi può darmi le indicazioni utili.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Sponsor
 

Re: EXCEL Copiare range in base a valore cella

Postdi wallace&gromit » 03/04/12 12:29

Ciao Francesco,
se ho capito bene potrebbe funzionare qualcosa così:
Codice: Seleziona tutto
Sub SistemDati()
dove = Range("B1").Value
Sheets("Dati").Range("N10").Value = Sheets("Dati").Range(dove).Value
End Sub
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: EXCEL Copiare range in base a valore cella

Postdi Anthony47 » 03/04/12 13:35

Warning: le istruzioni di W&G copieranno solo una celle dell' intervallo; se si tratta di un intervallo multicella allora userai il PasteSpecial:
Codice: Seleziona tutto
Sub SistemDatiBB()
dove = Range("B1").Value
Sheets("Dati").Range(dove).Copy
Sheets("Dati").Range("N10").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
Application.CutCopyMode = False
End Sub
(oppure farai un resize dell' area target per renderla pari all' area dell' intervallo)

Ciao a tutti.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13899
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: EXCEL Copiare range in base a valore cella

Postdi Francesco53 » 03/04/12 13:49

Ciao a tutti,
un grazie ad entrambi per la risposta, avevo visto prima la risposta di w&g e ho modificato in quanto
copiava solo la prima cella e non il range, mentre rispondevo è pervenuta la risposta di Anthony che
confermava la mia modifica ed il risultato è perfetto.
Codice: Seleziona tutto
Sub SistemDati()
    dove = Range("B1").Value
    Sheets("Dati").Range(dove).Select
    Selection.Copy
            Range("N10").Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
            Application.CutCopyMode = False
    End Sub

Grazie ad entrambi per l'input e per la conferma alla variaqzione che avevo fatto.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL Copiare range in base a valore cella":


Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti