Condividi:        

Copiare alcuni dati da altro 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

Copiare alcuni dati da altro file

Postdi BG66 » 08/06/24 19:31

Ciao Anthony e Marius,
mi dispiace essere sparito ma il lungo periodo dei casini non accenna a rallentare!!
Un aiuto...anzi due!!
Il primo: Il foglio di lavoro RIESUME presente nel file Formatore è compilabile direttamente con VBA?

Il secondo: Non essendo in grado, ho pensato di ovviare importando i dati del foglio Storico dal file FORMAZIONE al file FORMATORE e poi creare una tabella pivot o usando qualche formula ma ecco l'inghippo:::
Ho cercato di farlo ma non carico nulla. Cosa ho sbagliato nell'adattare una vecchia macro?

https://www.dropbox.com/scl/fi/opmzqjxixfbzn9i192pud/formatoreV3.5_forum.xlsm?rlkey=t9m059pet1ffj1stuaf1guujt&st=79srloz6&dl=0

https://www.dropbox.com/scl/fi/sz2izpat44ssvrkvnol3h/Formazione-VFL8-v8.1.0_forum.xlsm?rlkey=lwfj5bonn03qbw9ljktaf8nai&st=a6jy1wwd&dl=0

Grazie per l'aiuto.
Gene
BG66
Excel2010
Avatar utente
BG66
Utente Senior
 
Post: 323
Iscritto il: 20/08/16 07:44

Sponsor
 

Re: Copiare alcuni dati da altro file

Postdi Anthony47 » 08/06/24 21:28

Bentornato Gene
Si puo' fare? Probabilmente Sì
Il primo passo pero' e' sapere Che cosa bisogna fare.
Quindi spendi qualche minuto a descrivere quali sono i dati di partenza e quali sono quelli da calcolare con quali vincoli. Inoltre perche' chiedi di calcolare i risultati col vba (visto che excel e' prima di tutto un foglio di calcolo con formule)?
Avatar utente
Anthony47
Moderatore
 
Post: 19299
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copiare alcuni dati da altro file

Postdi BG66 » 09/06/24 06:05

Ciao Anthony,
hai ragione quindi ritorniamo sul motivo principale del thread.
Ti allego il nuovo file Formatore che ho continuato a sviluppare nella nottata. Sperando che sia chiaro cosa dovrei fare.
https://www.dropbox.com/scl/fi/opmzqjxixfbzn9i192pud/formatoreV3.5_forum.xlsm?rlkey=t9m059pet1ffj1stuaf1guujt&st=caoxxb4r&dl=0

E precisamente:
Importare lo storico dal file Formazione e compilare il modulo con data modificabile (foglio di lavoro DAD Docente) con questa formula:
Codice: Seleziona tutto
=MATR.SOMMA.PRODOTTO((ANNO(Storico!$E$2:$E$500)='DAD (Docente)'!$A$18)*(Storico!$D$2:$D$500='DAD (Docente)'!$C18)*(Storico!$F$2:$F$500))


E' questo funziona al 100% mentre sulla macro di importazione ho bisogno del tuo aiuto.
Quest'ultima dovrebbe "semplicemente" ricopiare tutte le righe presenti per alcuni campi ( nome, cognome, data di nascita, titolo,data attestato, durata, Nr ID).
Ero partito con una macro con range definito che funzionava per poi progressivamente arrivare a quella che trovi nel file che non lavora correttamente.
BG66
Excel2010
Avatar utente
BG66
Utente Senior
 
Post: 323
Iscritto il: 20/08/16 07:44

Re: Copiare alcuni dati da altro file

Postdi Anthony47 » 09/06/24 11:30

Forse sto sottovalutando quanto chiedi, ma la mia proposta per importazione da file Formazione a Formatore e' la seguente:
Codice: Seleziona tutto
Sub Importazzz()
Dim sFile As String, sWb As String
Dim sSh As Worksheet, dSh As Worksheet
Dim killCol As String
'
killCol = "C1,H1"               '<<< Le colonne da non importare
sFile = "D:\DDownloads\byBG66_C40608_Formazione VFL8 v8.1.0_forum.xlsm"   '<<< Percorso e nome del tuo file
'
sWb = Mid(sFile, InStrRev(sFile, "\") + 1)
'Apre il file Formazione":
On Error Resume Next
Workbooks.Open sFile, False, True       'read only
On Error GoTo 0
'Imposta il foglio "sorgente":
Set sSh = Workbooks(sWb).Sheets(1)
'Imposta il file "destinazzione"
Set dSh = ThisWorkbook.Sheets("Storico")
'Copia tutto da sorgente a destinazione
sSh.Range("A:I").Copy dSh.Range("A1")
'Rimuove le colonne indesiderate:
dSh.Range(killCol).EntireColumn.Delete
'Chiude il file Sorgente:
Workbooks(sWb).Close False
'
End Sub

Come vedi mi limito a importare tutte le colonne e poi cancello le 2 non desiderate
Non ho applicato il codice relativo a AutomationSecurity perche' penso che il file che vai ad aprire lo conosci e sai che non ci sono macro maliziose; volendo le puoi aggiungere

Se mi e' sfuggito qualcosa di clamoroso (o anche di piu' sottile) illuminami e vedremo come fare...
Avatar utente
Anthony47
Moderatore
 
Post: 19299
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Copiare alcuni dati da altro file

Postdi BG66 » 09/06/24 17:35

Ciao.
Dopo aver importato i dati con la macro, le formule nel foglio DAD (Docente) vanno a farsi benedire :?:
Immagine
BG66
Excel2010
Avatar utente
BG66
Utente Senior
 
Post: 323
Iscritto il: 20/08/16 07:44

Re: Copiare alcuni dati da altro file

Postdi Anthony47 » 09/06/24 19:15

Gia'... Allora partiamo da quelle che sono le colonne da importare:
Codice: Seleziona tutto
Sub Importazzzio()
Dim sFile As String, sWb As String
Dim sSh As Worksheet, dSh As Worksheet
Dim keepCol As String

keepCol = "A1:B1,D1:G1,I1"               '<<< Le colonne da importare
sFile = "D:\DDownloads\byBG66_C40608_Formazione VFL8 v8.1.0_forum.xlsm"   '<<< Percorso e nome del tuo file
'
sWb = Mid(sFile, InStrRev(sFile, "\") + 1)
'Apre il file Formazione":
On Error Resume Next
Workbooks.Open sFile, False, True       'read only
On Error GoTo 0
'Imposta il foglio "sorgente":
Set sSh = Workbooks(sWb).Sheets(1)
'Imposta il foglio "destinazione"
Set dSh = ThisWorkbook.Sheets("Storico")
'Copia da sorgente a destinazione
sSh.Range(keepCol).EntireColumn.Copy dSh.Range("A1")
'Chiude il file Sorgente:
Workbooks(sWb).Close False
'
End Sub
Avatar utente
Anthony47
Moderatore
 
Post: 19299
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "Copiare alcuni dati da altro file":


Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti