Condividi tramite

VBA Paste Link

Anonimo
2022-09-17T11:35:27+00:00

Ciao a tutti,

sto lavorando su una routine che copia dei dati da un foglio all'altro con la variante link, per far sì che se aggiorno i dati sul foglio principale, i dati si aggiornano su tutti i fogli. Saltuariamente però, non sono riuscito a trovare una logica, il comando di paste non viene eseguito e compare l'errore 1004 "Nessun collegamento da incollare". Inoltre se eseguo la stessa routine in debug, funziona sempre.

Se può essere d'aiuto riporto sotto il codice:

RCD.Activate

DOC.Cells(R, 10).Copy

RCD.Cells(Riniz, 2).Select

ActiveSheet.Paste Link:=True

DOC e RCD sono due worksheet, rispettivamente il foglio principale e quello su cui voglio incollare

R è una variabile globale che contiene la riga del foglio principale

Riniz è una variabile della routine che contiene la riga del foglio dove voglio incollare

Grazie in anticipo a tutti,

Leonardo

Microsoft 365 e Office | Excel | Per il lavoro | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2022-09-17T12:20:16+00:00

Ciao Leonardo,

A proposito, credo che il tuo codice possa essere sostituito con la seguente versione che, oltre ad essere più conciso, evita la selezione poco efficiente degli oggetti Worksheet o Range.

'========>>

Option Explicit

Public Const R As Long = 5

'-------->>

Public Sub Tesater()

Const Riniz As Long = 6

ThisWorkbook.Sheets("RCD").Cells(Riniz, 2).FormulaR1C1 = "=DOC!R" & R & "C10" 

End Sub

'<<========

===

Regards,

Norman

Immagine

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2022-09-18T00:22:08+00:00

    Ciao Leonardo,

    Suggerimento mio:

    ThisWorkbook.Sheets("RCD").Cells(Riniz, 2).FormulaR1C1 = "=DOC!R" & R & "C10"

    Grazie Norman,

    questa soluzione è quella più efficace!

    Ti ringrazio per il cortese riscontro. e sono molto contento che abbia scelto questo tipo di approccio e, così facendo, abbia risolto il problema!

    Alla prossima!

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2022-09-17T14:28:09+00:00

    ThisWorkbook.Sheets("RCD").Cells(Riniz, 2).FormulaR1C1 = "=DOC!R" & R & "C10"

    Immagine

    Grazie Norman,

    questa soluzione è quella più efficace!

    Leonardo

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2022-09-17T12:05:00+00:00

    Ciao Leonardo,

    Ciao a tutti,

    sto lavorando su una routine che copia dei dati da un foglio all'altro con la variante link, per far sì che se aggiorno i dati sul foglio principale, i dati si aggiornano su tutti i fogli. Saltuariamente però, non sono riuscito a trovare una logica, il comando di paste non viene eseguito e compare l'errore 1004 "Nessun collegamento da incollare".

    Se può essere d'aiuto riporto sotto il codice:

    RCD.Activate

    DOC.Cells(R, 10).Copy

    RCD.Cells(Riniz, 2).Select

    ActiveSheet.Paste Link:=True

    DOC e RCD sono due worksheet, rispettivamente il foglio principale e quello su cui voglio incollare

    R è una variabile globale che contiene la riga del foglio principale

    Riniz è una variabile della routine che contiene la riga del foglio dove voglio incollare

    Grazie in anticipo a tutti,

    Leonardo

    Non riesco a replicare il tuo problema. Per le mie prove ho eseguito il seguente codice:

    '========>>

    Option Explicit

    Public Const R As Long = 5

    '-------->>

    Public Sub Tesater()

    Const Riniz As Long = 6

    With ThisWorkbook 
    
        .Sheets("RCD").Activate 
    
        .Sheets("DOC").Cells(R, 10).Copy 
    
        .Sheets("RCD").Cells(Riniz, 2).Select 
    
        ActiveSheet.Paste Link:=True 
    
    End With 
    

    End Sub

    '<<========

    Pertanto, al fine di approfondire ulteriormente il problema, ti chiedo gentilmente di caricare un file di esempio, privo di dati sensibili.

    Per caricare il file su Microsoft OneDrive, vedi:

       Condividere file e cartelle di OneDrive

    Per caricare il file su DropBox, vedi:

    Come faccio a condividere file e cartelle in Dropbox?

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento