Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Copiare colonna di valori da un foglio all'altro

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

Re: Copiare colonna di valori da un foglio all'altro

Postdi Marco75CT » 16/10/12 17:55

Scusami ma non riesco a spiegarmi.
Se tolgo il commento alle due righe evidenziate, mi copia il contenuto del foglio Competitors Report nel foglio Calcolo Tariffa; invece ciò che deve fare è l'esatto opposto.
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Sponsor
 

Re: Copiare colonna di valori da un foglio all'altro

Postdi Flash30005 » 16/10/12 21:01

ma se Il foglio Calcolo Tariffa non ha dati e nemmeno formule cosa dovrebbe copiare la macro?
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Copiare colonna di valori da un foglio all'altro

Postdi Marco75CT » 17/10/12 06:03

Il foglio calcolo tariffa ha delle formule che popolano le celle.
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Re: Copiare colonna di valori da un foglio all'altro

Postdi Flash30005 » 17/10/12 07:30

Ok
allora inverti l'ordine dei codici all'interno delle due righe (commentate) ottenendo questo
Codice: Seleziona tutto
        If DataB = DataR Then    '<<<<<<<<<<<<<<<< esistente
            Ws3.Cells(RR3, Col3).Value = Ws2.Range("Q" & RR2).Value    '<<<<<<<<<<<<<<<< esistente
            Ws2.Range("R" & RR2).Value = Ws3.Cells(RR3, Col3 + 3).Value    '<<<<<<<<<<<<<<<< esistente da modificare così
            Ws2.Range("S" & RR2).Value = Ws3.Cells(RR3, Col3 + 4).Value    '<<<<<<<<<<<<<<<< esistente da modificare così
            Exit For    '<<<<<<<<<<<<<<<< esistente
        End If       '<<<<<<<<<<<<<<<< esistente


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Copiare colonna di valori da un foglio all'altro

Postdi Marco75CT » 17/10/12 07:48

Fatto! Ma non mi copia nulla nel foglio Competitors Report.
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Re: Copiare colonna di valori da un foglio all'altro

Postdi Marco75CT » 17/10/12 10:35

Please, non mi abbandonare ora.
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Re: Copiare colonna di valori da un foglio all'altro

Postdi Marco75CT » 17/10/12 14:28

Mi sono accorto che se avvio due volte la macro, al secondo tentativo, le colonne R e S del foglio Competitors Report si popolano correttamente.
Quindi è possibile che il problema stia nel fatto che il comando di copia e incolla preceda il calcolo delle formule, il che di fatto fa incollare delle celle vuote.
Come faccio a spostare dopo il calcolo delle formule i comandi
Codice: Seleziona tutto
Ws2.Range("R" & RR2).Value = Ws3.Cells(RR3, Col3 + 3).Value
Ws2.Range("S" & RR2).Value = Ws3.Cells(RR3, Col3 + 4).Value

:?:
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Re: Copiare colonna di valori da un foglio all'altro

Postdi Flash30005 » 17/10/12 14:53

Se hai delle formule è normale che non vengano calcolate perché per accelerare il processo i calcoli sono bloccati
per sbloccarli dopo aver inserito il valore della prima colonna (di ogni data) bisogna inserire una riga codice (che evidenzio) ma preferisco inviare di nuovo la macro integrale con la modifica
Codice: Seleziona tutto
Sub copiaDati()
Set Ws1 = Worksheets("Pianificazione")
Set Ws2 = Worksheets("Competitors Report")
Set Ws3 = Worksheets("Calcolo Tariffa")
UR2 = Ws2.Range("N" & Rows.Count).End(xlUp).Row
Ws2.Range("P3:Q" & UR2).ClearContents
Application.ScreenUpdating = False
Application.Calculation = xlManual
DataO = Date
UR1 = Ws1.Range("A" & Rows.Count).End(xlUp).Row
For RR2 = 3 To UR2
    DataB = Ws2.Range("N" & RR2).Value
    If DataB >= DataO Then
        RigaIni = RR2
        GoTo saltaRR2
    End If
Next RR2
GoTo esci
saltaRR2:

For RR2 = RigaIni To UR2
    DataB = Ws2.Range("N" & RR2).Value
    For RR1 = 1 To UR1
        DataA = DateSerial(Year(Ws2.Range("N" & RR2).Value), Mid(Ws1.Range("A" & RR1).Value, 4, 2), Left(Ws1.Range("A" & RR1).Value, 2))
        If DataA = DataB Then
            Ws2.Range("P" & RR2).Value = Ws1.Range("C" & RR1).Value
            Ws2.Range("Q" & RR2).Value = Ws1.Range("D" & RR1).Value
            Exit For
        End If
    Next RR1
Next RR2

DataI = Ws2.Range("N" & RigaIni).Value
UR3 = Ws3.Range("B" & Rows.Count).End(xlUp).Row
UC3 = Ws3.Cells(4, Columns.Count).End(xlToLeft).Column
For CC3 = 3 To UC3 Step 5
    DataC = DateSerial(Year(Ws3.Cells(1, CC3)), Month(Ws3.Cells(1, CC3)), Day(Ws3.Cells(1, CC3)))
    If DataC = DataI Then
        Col3 = CC3
        Exit For
    End If
Next CC3
AggD = 0
For RR2 = RigaIni To UR2
    DataB = Ws2.Range("N" & RR2).Value + AggD
    For RR3 = 5 To UR3
        DataR = Ws3.Range("B" & RR3).Value
        If DataB = DataR Then
            Ws3.Cells(RR3, Col3).Value = Ws2.Range("Q" & RR2).Value
            Calculate     '<<<<< <<<<<<<<<<<    <<<<<<<<<<<<<<<<<<<<<riga da aggiungere qui
            Ws2.Range("R" & RR2).Value = Ws3.Cells(RR3, Col3 + 3).Value
            Ws2.Range("S" & RR2).Value = Ws3.Cells(RR3, Col3 + 4).Value
            Exit For
        End If
    Next RR3
Next RR2
esci:
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub




Ciao


EDIT ore 16:00 - Attenzione macro postata di nuovo per errata copiatura (era solo una parte)
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Copiare colonna di valori da un foglio all'altro

Postdi Marco75CT » 17/10/12 15:04

Funziona! Grazie, grazie, grazie.
Scusami ancora per tutto il casino che ho combinato.
Ciao
Marco75CT
Utente Senior
 
Post: 143
Iscritto il: 05/08/11 11:54

Re: Copiare colonna di valori da un foglio all'altro

Postdi Flash30005 » 17/10/12 15:27

Figurati!
A volte le persone non si capiscono verbalmente
attraverso dei messaggi scritti è sicuramente più difficile.

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Precedente

Torna a Applicazioni Office Windows


Topic correlati a "Copiare colonna di valori da un foglio all'altro":


Chi c’è in linea

Visitano il forum: alfrimpa e 5 ospiti