Condividi:        

[EXCEL] MACRO VBA - COPIA DA FILE A FILE

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

[EXCEL] MACRO VBA - COPIA DA FILE A FILE

Postdi Valerio93 » 17/11/17 15:30

Salve a tutti,
Ho sbirciato nei vari topic del forum ma non ho trovato nulla di facilmente adattabile,
mi spiego in breve:

Quello di cui avrei necessità è una Macro che al lancio copi dei valori da determinate celle di un foglio, al momento aperto e attivo (es: A10,B10,C10) e vada ad incollarli nella prima riga disponibile di una colonna che si trova in un foglio di un altro file, che è chiuso al momento dell'operazione, indicando come target la colonna di destinazione (es: A, B, C).
Se può aiutare saperlo, il file di destinazione si trova in un disco condiviso in rete, mentre il file nativo in locale.

Vi ringrazio in anticipo perchè so che sarete brillanti come sempre nel trovare una soluzione!

Buon lavoro :D
Valerio93,
Valerio93
Utente Junior
 
Post: 13
Iscritto il: 07/09/15 09:16
Località: Roma

Sponsor
 

Re: [EXCEL] MACRO VBA - COPIA DA FILE A FILE

Postdi Anthony47 » 18/11/17 01:40

Tutto quello che dici e' fattibile ma devi essere piu' chiaro; in particolare "quali celle vanno copiate" e quale e' il meccanismo con cui si determina dove vanno incollate.
Quindi al momento devi lavorare ancora tu...

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

Re: [EXCEL] MACRO VBA - COPIA DA FILE A FILE

Postdi Valerio93 » 20/11/17 10:34

Ciao Anthony,

Intanto grazie per la risposta.

Dunque cerco di essere più chiaro:
La macro dovrebbe essere fatta in modo tale da poter specificare quali celle del foglio copiare. Nel nostro esempio potremmo dire che dal "FileA" (aperto e attivo) vanno copiati i valori del "Foglio1" nelle Celle: "A10,B10,C10". Il mecchanismo che determina dove vanno incollate è fisso. La cella A10 va nella prima riga disponibile della colonna "A" del "fileB" (chiuso al momento del lancio della macro) del "FoglioArchivio". E così a seguire per le altre. Il tutto si avvia attivando la macro attraverso un Pulsante presente nel "Folgio1" del "FileA".

Grazie :D
Valerio93,
Valerio93
Utente Junior
 
Post: 13
Iscritto il: 07/09/15 09:16
Località: Roma

Re: [EXCEL] MACRO VBA - COPIA DA FILE A FILE

Postdi Anthony47 » 20/11/17 20:19

Purtroppo la descrizione e' ancora carente; in particolare non riesco a dedurre che cosa si nasconda dietro quel "E così a seguire per le altre" (visto che la serie da cui dovrei dedurlo comprende un solo elemento).

Insomma devi spiegare con "maggiore dettagli" dove le celle vanno incollate.

Dai che ce la facciamo!
Avatar utente
Anthony47
Moderatore
 
Post: 19196
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [EXCEL] MACRO VBA - COPIA DA FILE A FILE

Postdi Valerio93 » 21/11/17 09:48

Anthony,
Banaliziamo il tutto, non preoccuparti poi provvederò io ad adattarmi la macro.
Il valore è uno soltanto.

Valore="TEST9999"

FileA, Foglio1, A10 -> Cella contenente il valore da copiare.

FileB, FoglioArchivio, Colonna A, Riga=La prima disponibile -> Cella dove incollare il valore.

FileA=file aperto sul quale il dato viene inserito e da cui tramite tasto si lancia la macro.

FileB=file chiuso al momento dell'operazione sul quale vanno archiviati i dati che si trova su disco locale.

Sono fiducioso! :D
Valerio93
Utente Junior
 
Post: 13
Iscritto il: 07/09/15 09:16
Località: Roma

Re: [EXCEL] MACRO VBA - COPIA DA FILE A FILE

Postdi Anthony47 » 21/11/17 20:51

Ad esempio:
Codice: Seleziona tutto
Sub DemoVal()
Dim Sorg As Range, Dest As String, ceLL As Range
Dim SorSh As Worksheet
'
Dest = "C:\Users\Percorso\NomeFile.xlsm"                 '<<< Il file destinazione
On Error Resume Next
    Set Sorg = Application.InputBox("Seleziona gli intervalli da copiare", "Seleziona...", , , , , , 8)
On Error GoTo 0
If Not Sorg Is Nothing Then
    Set SorSh = ActiveSheet
    Application.EnableEvents = False        'Nota***
    Workbooks.Open Dest
    Sheets(1).Select                        '<<< Il foglio di destinazione
    For Each ceLL In Sorg
        SorSh.Range(ceLL.Address).Copy Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)
        ' "e cosi' via"
'        Exit For                '--- Solo per debug (ESCE dopo la prima copia)
    Next ceLL
    ActiveWorkbook.Close savechanges:=True
    Application.EnableEvents = True         'Nota***
End If
'
End Sub

Mettila in un Modulo standard del vba; le righe marcate <<< sono da personalizzare come da commenti.
Le istruzioni marcate "Nota***" impediscono l'esecuzione di eventuali macro "di evento" sul file di destinazione (tipo WorkbookOpen, WorkbookBeforeSave, WorksheetChange e tutti i potenziali "eventi" a livello di workbook o worksheet); se questo non e' compatibile col tuo file elimina tali istruzioni.

Quando mandi in esecuzione la macro:
-viene chiesto all'operatore di indicare le aree da copiare; puoi scrivere gli intervalli usando le convenzioni Excel, oppure puoi selezionarle sempre usando le convenzioni Excel.
-premendo Ok le celle vengono copiate e incollate una per una in colonna A sotto le celle gia' presenti.
Per realizzare la tua logica dovrai modificare il le istruzioni all'interno del ciclo For Each ceLL In Sorg / Next ceLL.

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

Re: [EXCEL] MACRO VBA - COPIA DA FILE A FILE

Postdi Valerio93 » 24/11/17 15:04

Ciao Anthony!

Grazie mille, nonostante la mia confusa spiegazione siamo arrivati in buca.

Mitico come sempre :D
Valerio93,
Valerio93
Utente Junior
 
Post: 13
Iscritto il: 07/09/15 09:16
Località: Roma


Torna a Applicazioni Office Windows


Topic correlati a "[EXCEL] MACRO VBA - COPIA DA FILE A FILE":


Chi c’è in linea

Visitano il forum: Nessuno e 91 ospiti