Condividi:        

Copia/incolla solo valore

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/incolla solo valore

Postdi Alea » 12/01/12 10:25

Buon giorno a tutti
ho difficoltà nell'impostare questa macro per incollare nel Range di destinazione solo il valore delle celle copiate senza i bordi.
Potete darmi un'occhiata per favore? Per il momento il Range da copiare è solo 1 ma dovrò crearne una ventina

Grazie
Codice: Seleziona tutto
Sub CompOFF1()

'dichiaro le variabili
    Dim sh1 As Worksheet
    Dim sh2 As Worksheet
    Dim sh3 As Worksheet

With ThisWorkbook
    Set sh1 = .Worksheets("Riepilogo")
    Set sh2 = .Worksheets("QGL10.03b")
    Set sh3 = .Worksheets("OFFERTA")
End With

'skrolling del monitor
    Application.ScreenUpdating = False


With sh1
    .Range("K2:K6").Copy _
        Destination:=sh3.Range("F3:F7")
End With
   

'ripristino l'aggiornamento del monitor
    Application.ScreenUpdating = True

'Set a Nothing delle variabili oggetto
    Set sh1 = Nothing
    Set sh2 = Nothing
    Set sh3 = Nothing

End Sub
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Sponsor
 

Re: Copia/incolla solo valore

Postdi Flash30005 » 12/01/12 13:15

Sostituisci questo codice
Codice: Seleziona tutto
With sh1
    .Range("K2:K6").Copy _
        Destination:=sh3.Range("F3:F7")
End With

Con questo
Codice: Seleziona tutto
For RR = 3 to 7
sh1.Range("F" & RR).value = sh1.Range("K" & RR-1).value
Next RR


In pratica la/le celle in F (riga RR che va da 3 a 7) prendono solo il valore delle celle K (RR-1)

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Copia/incolla solo valore

Postdi Alea » 12/01/12 13:42

Ho provato la macro però non funziona in maniera corretta.
Praticamente nelle celle sh3.Range("F" & RR) vengono copiate solo 4 righe e non tutte e 5 (For RR = 3 To 7)

Codice: Seleziona tutto
For RR = 3 To 7
sh3.Range("F" & RR).Value = sh1.Range("K" & RR - 1).Value
Next RR


Come si può correggere?

E un'altra cosa. Visto che di celle ne devo copiare parecchie devo creare dei "For Next" per ogni range?
E se devo copiare solo 1 cella? tipo:

sh1.("C1") in sh3.("C18")

Grazie
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Copia/incolla solo valore

Postdi Anthony47 » 12/01/12 15:03

Ma non dimenticiamo che excel dispone del Copia / Incolla speciale - Valori;
quindi non
With sh1
.Range("K2:K6").Copy _
Destination:=sh3.Range("F3:F7")
End With


MA
Codice: Seleziona tutto
sh1.Range("K2:K6").Copy
sh3.Range("F3").PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Ho tolto anche il With, visto che avendo 1 sola istruzione da eseguire non ha senso aggiungerne due.

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

Re: Copia/incolla solo valore

Postdi Alea » 12/01/12 15:57

Grazie Anthony e grazie Flash

ho provato anche questa soluzione:

Codice: Seleziona tutto
With sh1
         .Range("K3:K7").Copy
         sh3.Range("F3:F7").PasteSpecial xlPasteValues
        .Range("G1").Copy
        sh3.Range("C18").PasteSpecial xlPasteValues
End With


e a me sembra che funzioni correttamente visto che devo aggiungere altri range e altre celle da copiare.

Mi consigliate qualcosa di diverso oppure può andare bene la macro impostata in questo modo?
Alea
Utente Senior
 
Post: 145
Iscritto il: 24/07/06 14:12

Re: Copia/incolla solo valore

Postdi Flash30005 » 12/01/12 17:59

Molto strano che con un ciclo for .. next da 3 a 7 (e da 2 a 6 di K) ti copi solo 4 righe perché in effetti sono 5, ricontrolla,

Purtroppo excel non copia selezioni multiple e non credo tu abbia altre possibilità se non creare delle routine

Che in caso di gruppi di 5 righe con un ciclo For...next puoi adattare la riga da copiare con quella da incollare
es.:

se hai da L8 a L12 (copia)
e Z da 4 a 8 (incolla)
e sapendo che RR si avvia con 3 fino a 7
Codice: Seleziona tutto
For RR = 3 to 7
sh1.Range("F" & RR).value = sh1.Range("K" & RR-1).value  'range originale
Sh3.Range("Z" & RR+1).value = Sh1.Range("L" & RR+5).value '<<<< altro range
Next RR

Rimanendo sempre nell'ambito di quel ciclo
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-


Torna a Applicazioni Office Windows


Topic correlati a "Copia/incolla solo valore":

BTp Valore
Autore: MarioLombardi
Forum: Forum off-topic
Risposte: 2

Chi c’è in linea

Visitano il forum: Ricky0185 e 38 ospiti