COPIA E INCOLLA VBA EXCEL

21 views
Skip to first unread message

Gianluigi Padovano

unread,
Sep 15, 2022, 10:35:22 AMSep 15
to
Buongiorno chi puoi aiutarmi ci sto perdendo la testa.
Ho fatto una piccola macro per copiare da un foglio e incollare su un altro foglio dello stesso file. Con l'incolla alla prima cella vuota, in modo da creare un progressivo di dati, uno sotto l'altro.
Premetto che il copia avviene in un range di 90 righe più o meno, con delle formule. Quando non calcola la formula restituisce vuoto (il famoso "").
Purtroppo la macro mi incolla 90 righe e non solo le piene, il problema è che al successivo incolla, non inizia a incollare dalla 21a ma dalla 91a riga. Quindi non considera quelle celle vuote anche se in realtà lo sono. (ho fatto la prova con la formula (val.vuoto e mi dice "vero").
Sotto il codice che ho creato.... PER FAVORE AIUTATEMI
Grazie mille

Sub CopiaIncolla()
'
' CopiaIncolla Macro
'

'
Range("K4:Z4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("NEW DB").Select
Range("A500000").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

End Sub

issdr

unread,
Sep 15, 2022, 11:32:24 AMSep 15
to
Gianluigi Padovano wrote:

> Sotto il codice che ho creato.... PER FAVORE AIUTATEMI

se ho interpretato bene cosa vuoi fare... (la prossima volta magari
condividi un file senza dati sensibili)

--8<---------------cut here---------------start------------->8---
Sub CopiaIncolla()
For Each c In Range("K4:K" & [K4].End(xlDown).Row)
If c.Value <> "" Then
With Sheets("NEW DB")
c.Resize(1, 16).Copy (.Range("A" & .Rows.Count).End(xlUp).Offset(1))
End With
End If
Next
End Sub
--8<---------------cut here---------------end--------------->8---

Gianluigi Padovano

unread,
Sep 15, 2022, 12:08:04 PMSep 15
to
Innanzitutto GRAZIE MILLE DAVVERO
Scusa non so come allegare qui il file scusa tanto.
sembra funzionare, unica cosa che mi copia le formule ma io dovrei copiare solo i valori dall'altra parte.

Posso chiederti cosa sbagliavo? giusto per capire... sono alle prime armi con il vba

Ancora grazie

issdr

unread,
Sep 15, 2022, 2:43:03 PMSep 15
to
Gianluigi Padovano wrote:

> Scusa non so come allegare qui il file scusa tanto.

lo carichi in qualche spazio pubblico e metti l'uri qui, questo non è un
newsgroup binario.

> sembra funzionare, unica cosa che mi copia le formule ma io dovrei
> copiare solo i valori dall'altra parte.

--8<---------------cut here---------------start------------->8---
Sub CopiaIncolla()
Application.ScreenUpdating = False
For Each c In Range("K4:K" & [K4].End(xlDown).Row)
If c.Value <> "" Then
With Sheets("Foglio2")
With .Range("A" & .Rows.Count).End(xlUp).Offset(1)
c.Resize(, 16).Copy
.Resize(, 16).PasteSpecial
.PasteSpecial xlPasteValues
End With
End With
End If
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
--8<---------------cut here---------------end--------------->8---

> Posso chiederti cosa sbagliavo? giusto per capire... sono alle prime armi con il vba

l'idea era buona, il tuo approccio forse più efficiente del mio.

potevi tentare la via di applicare un filtro per non avere righe vuote
nell'intervallo, copiare solo le celle visibili ed incollarle a
destinazione. dopo resetta e disattiva il filtro, dopo la macro
rimangono i criteri che avevi impostato.

segui la traccia qui sopra se vuoi provare a "registrare". selezioni le
sole celle visibili da copiare con la combinazione alt+; (scomoda con
tastiere IT, perché il puntevvirgola è in seconda battuta)

Gianluigi Padovano

unread,
Sep 15, 2022, 3:00:39 PMSep 15
to
ciao, funziona. ti ringrazio tantissimo.
Ho capito cosa intendi che potevo fare, raggiravo il problema e facevo semplice filtro. Gusto.
Però la tua traccia è top perchè risparmio il passaggio del filtro e fa tutto alla perfezione.
Non ho provato a registrare ho copiato direttamente la tua, perchè era abbastanza urgente e non ho tempo.

ad ogni modo GRAZIE GRAZIE GRAZIE sono davvero grato
Buona serata
Reply all
Reply to author
Forward
0 new messages