Condividi:        

Copia intera colonna

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

Copia intera colonna

Postdi bibbaste » 21/06/15 20:47

Buonasera a tutti. Ricorro ancora al vostro aiuto per una cosa che non riesco a fare sperando nelle vostre competenze.

Ho nel Foglio1 la colonna A che che contiene una scala oraria che può essere filtrata.
Dalla colonna B alla diciamo Z una serie di dati per un tot di righe (variabili in base al filtro orario che imposto). Per ciascuna di queste colonne (dalla B alla Z) ho un campo somma, che per comodità, è posto sopra la colonna stessa, quindi nella riga 1.

Quello che devo fare è copiare tutte le colonne (intere, cioè per la loro totalità delle righe) che riportano nel campo somma un valore positivo e copiarle nel Foglio2 a partire dalla colonna A.

Spero di essere stato abbastanza chiaro, altrimenti mi scuso e cercherò di formulare meglio la richiesta.


Un grazie a tutti.
bibbaste
Utente Junior
 
Post: 32
Iscritto il: 03/06/15 15:39

Sponsor
 

Re: Copia intera colonna

Postdi Anthony47 » 22/06/15 00:17

Probabilmente ti aiutera' una macro come questa:
Codice: Seleziona tutto
Sub rebibb()
Sheets("Foglio2").Cells.Clear         '<<< Vedi Testo
Sheets("Foglio1").Select
For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
    If Cells(1, i).Value > 0 Then
        cc = cc + 1
        Columns(i).Copy Destination:=Sheets("Foglio2").Cells(1, cc)
    End If
Next i
End Sub
L' istruzione marcata <<< serve per AZZERARE (senza preavviso) Foglio2 prima della copia delle colonne interessate; se da fastidio si puo' eliminare.

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

Re: Copia intera colonna

Postdi bibbaste » 22/06/15 08:05

Anthony.... che dire... perfetta!!

Ti posso solo chiedere una cortesia...? ovviamente quando hai tempo e voglia....
Potresti spiegarmi la linea guida di come si muove questa macro, vorrei capirla per imparare....

Intanto ancora una volta grazie! :) :)
bibbaste
Utente Junior
 
Post: 32
Iscritto il: 03/06/15 15:39

Re: Copia intera colonna

Postdi Anthony47 » 22/06/15 13:28

Ho aggiunto, in maiuscolo, qualche commento sul flusso della macro.
Codice: Seleziona tutto
Sub rebibb()
Sheets("Foglio2").Cells.Clear         '<<< Vedi Testo
Sheets("Foglio1").Select    'PARTI DA FOGLIO1
For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column    'IMPOSTA UN CICLO SULLE COLONNE USATE
    If Cells(1, i).Value > 0 Then                   'CONTROLLA SE IN TESTA C'E' 1
        cc = cc + 1                                 'SE SI INCREMENTA CONTATORE
        Columns(i).Copy Destination:=Sheets("Foglio2").Cells(1, cc)     'COPIA NELLA COLONNA DEL CONTATORE
    End If            'FINE IF
Next i             'RIPETI PER ALTRE COLONNE
End Sub       'FINE

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

Re: Copia intera colonna

Postdi bibbaste » 22/06/15 17:35

Anthony, grazie delle ulteriori info.

Purtroppo ho un problemino, non nell'esecuzione della macro che è perfetta.... ma nella memoria del pc.

Nel senso che mi dice "Impossibile completare questa attività con le risorse disponibili. Selezionare una quantità inferiore di dati oppure chiudere atre applicazioni".

Purtroppo non posso fare ne l'una ne l'altra cosa (anche perché non ho null'altro di aperto)

Il lavoro che svolge (o dovrebbe svolgere) questa macro si sviluppa su 512 colonne e mediamente dalle 6000 alle 10000 righe... dico dovrebbe perché arrivati circa alla metà mi segnala questo problema.....

Hai qualche suggerimento da darmi per risolvere?

ciao e grazie
bibbaste
Utente Junior
 
Post: 32
Iscritto il: 03/06/15 15:39

Re: Copia intera colonna

Postdi Anthony47 » 22/06/15 22:54

Prova con questa versione:
Codice: Seleziona tutto
Sub rebibba()
Sheets("Foglio2").Cells.Clear         '<<< Vedi Testo
Sheets("Foglio1").Select
For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
    If Cells(1, i).Value > 0 Then
        cc = cc + 1
        Application.Intersect(Columns(i), ActiveSheet.UsedRange).Copy Destination:=Sheets("Foglio2").Cells(1, cc)
        Application.CutCopyMode = False
    End If
Next i
End Sub

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

Re: Copia intera colonna

Postdi bibbaste » 23/06/15 10:19

Che dire... adesso viaggia che è una meraviglia!!

Grazie ancora!
bibbaste
Utente Junior
 
Post: 32
Iscritto il: 03/06/15 15:39


Torna a Applicazioni Office Windows


Topic correlati a "Copia intera colonna":


Chi c’è in linea

Visitano il forum: systemcrack e 63 ospiti