Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

copiare dati in base al contenuto di celle

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

copiare dati in base al contenuto di celle

Postdi accio1965 » 09/09/14 18:53

buonasera
la mia macro dovrebbe effettuare questo:
in base al valore della celle B1 B2 B3 B4 B5 dovrebbe copiare i valori presenti nell'intervallo di celleE1 fino alla cella H5
nelle colonne L,M,N,O rispetto a quanto presente nella colonna I
in sintesi se nella colonna B ci saranno i valori 21, 22 23, 24, 25 il contenuto di E1:H5 andra copiato nell'intervallo L6:O10
e cosi via in base alla variazione della colonna B
grazie dell'aiuto

Immagine
AMD Athlon 64x2 dual core P 4600+ 2,40 GHz
windows vista hd sp2
office 2007
accio1965
Utente Junior
 
Post: 52
Iscritto il: 21/08/07 08:39

Sponsor
 

Re: copiare dati in base al contenuto di celle

Postdi ricky53 » 09/09/14 22:40

Ciao,
in "L1" scrivi
Codice: Seleziona tutto
=SE(VAL.NON.DISP(CERCA.VERT($I1; $B$1:$H$5; RIF.COLONNA(L$1)-8; 0)); "-"; CERCA.VERT($I1; $B$1:$H$5; RIF.COLONNA(L$1)-8; 0)))

Poi copia nelle altre celle L1, M1, N1, O1 e poi copia in basso fino a necessità.

I dati nell'intervallo L1:O5 devono restare al cambiare dei valori in B1:B5 ?
Stessa domanda per L6:O10, ecc.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: copiare dati in base al contenuto di celle

Postdi accio1965 » 10/09/14 13:22

ricky53 ha scritto:Ciao,
in "L1" scrivi
Codice: Seleziona tutto
=SE(VAL.NON.DISP(CERCA.VERT($I1; $B$1:$H$5; RIF.COLONNA(L$1)-8; 0)); "-"; CERCA.VERT($I1; $B$1:$H$5; RIF.COLONNA(L$1)-8; 0)))

Poi copia nelle altre celle L1, M1, N1, O1 e poi copia in basso fino a necessità.

I dati nell'intervallo L1:O5 devono restare al cambiare dei valori in B1:B5 ?
Stessa domanda per L6:O10, ecc.


SI confermo, i dati negli intervalli delle colonne L1:05 poi L6:010 e cosi avanti
DEVONO restare presenti all'interno delle celle
quindi i dati vanno di volta in volata copiati in base ai riferimenti impostati nell'intervallo di colonna B
AMD Athlon 64x2 dual core P 4600+ 2,40 GHz
windows vista hd sp2
office 2007
accio1965
Utente Junior
 
Post: 52
Iscritto il: 21/08/07 08:39

Re: copiare dati in base al contenuto di celle

Postdi ricky53 » 10/09/14 13:47

Ciao,
il mio suggerimento va trasformato in una macro perchè con le formule i dati cambierebbero di volta in volta.

Ci risentiamo al più presto.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: copiare dati in base al contenuto di celle

Postdi accio1965 » 10/09/14 23:33

ricky53 ha scritto:Ciao,
il mio suggerimento va trasformato in una macro perchè con le formule i dati cambierebbero di volta in volta.
Ci risentiamo al più presto.

Esatto ho bisogno di lasciare i dati bene celle dopo essere stati copiati, e mi serve una macro
accio1965
Utente Junior
 
Post: 52
Iscritto il: 21/08/07 08:39

Re: copiare dati in base al contenuto di celle

Postdi ricky53 » 11/09/14 09:16

Ciao,
prova questo esempio.
Codice: Seleziona tutto
Option Explicit

Sub Copia_Dati()
    Dim X As Integer, UR As Integer, Copiato As String
   
    Sheets("Foglio1").Select ' <<===== Cambia, se occorre, il nome del foglio !!!
    UR = Range("I" & Rows.Count).End(xlUp).Row
    Copiato = "NO"
    For X = 1 To UR
        If Cells(X, "I") = Range("B1") Then
            Range("L" & X & ":O" & X + 4).Value = Range("E1:H5").Value
            Copiato = "SI"
            Exit For
        End If
    Next X
    If Copiato = "SI" Then
        MsgBox "E' stata effettuata la copia dei dati.", vbInformation
    Else
        MsgBox "ATTENZIONE: non sono stati trovati dati da copiare !!!", vbCritical
    End If
End Sub



Ho ipotizzato che i dati siano nel "Foglio1" ... in caso cambia il nome nel codice
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "copiare dati in base al contenuto di celle":


Chi c’è in linea

Visitano il forum: eliorimnap e 15 ospiti