Condividi tramite

Macro Copia Incolla Cartelle di Lavoro diverse

Anonimo
2016-09-05T14:56:11+00:00

Ciao a tutti,

sto cercando una macro che mi permetta di copiare e incollare un foglio da una cartella di lavoro ad un altra.

Dato che il nome della cartella di lavoro da cui attingere il foglio (che ha sempre lo stesso nome) cambia giornalmente avevo pensato ad una finestra che mi permetta di selezionare il file dentro la quale c'è il foglio che devo copiare ed incollare nella prima riga libera in un altro foglio nella cartella di lavoro da cui parte la macro.

Help me !!

Troppo complicato per me

Grazie a tutti

Microsoft 365 e Office | Excel | Per la casa | 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
2016-09-05T15:28:38+00:00

Questa macro, che va copia/incollata in un modulo standard del file dove verranno incollati i dati, fa questa cosa.

  • Apre il file che le indicherai
  • Copia i dati dal Foglio1
  • Li incolla nel Foglio1 del file dove hai la macro
  • Chiude il file dal quale hai copiato

Public Sub m()

On Error GoTo RigaErrore

Dim sPathNome As String

    Dim wkMe As Workbook

    Dim wk As Workbook

    Dim sh As Worksheet

    Dim shMe As Worksheet

    Dim rng As Range

    Dim lRiga As Long

sPathNome = Application.GetOpenFilename( _

        "Excel Files (*.xls; *.xlsx; *.xlsm),*.xls; *xlsx; *.xlsm", _

        , "Selezionare il file")

Application.ScreenUpdating = False

Set wkMe = ThisWorkbook

    Set shMe = wkMe.Worksheets("Foglio1")

    Set wk = Workbooks.Open(sPathNome)

    Set sh = wk.Worksheets("Foglio1")

    Set rng = sh.Range("A1").CurrentRegion

    rng.Copy

    With shMe

        lRiga = .Range("A" & .Rows.Count).End(xlUp).Row + 1

        .Range("A" & lRiga).PasteSpecial

        Application.CutCopyMode = False

    End With

        wk.Close

    Application.ScreenUpdating = True

RigaChiusura:

    Set wkMe = Nothing

    Set shMe = Nothing

    Set wk = Nothing

    Set sh = Nothing

    Set rng = Nothing

    Exit Sub

RigaErrore:

    If Err.Number <> 1004 Then

        MsgBox Err.Number & vbNewLine & Err.Description

    End If

    Resume RigaChiusura

End Sub

Modifica le parti in grassetto con i tuoi riferimenti.

La risposta è stata utile?

0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2016-09-09T15:41:09+00:00

    Ciao a tutti.

    il file è qui https://1drv.ms/x/s!Ar9AkSlHp-ikklZ6dfF8iCZV\_Px9

    è una cartella di lavoro creata tempo fa da te per un altro utente.

    Alla tua cartella di lavoro ho fatto queste modifiche

    Nel foglio Macro1 ho creato il pulsante carica foglio a cui ho associato la macro Modulo2

    Ho creato il Foglio1 dove verranno incollati i dati.

    Quando provo ad attivare la macro e  caricare il foglio da un'altra cartella di lavoro mi da un errore.

    Grazie

    La risposta è stata utile?

    0 commenti Nessun commento