Office - copiare dati

Asked By Schiappa on 15-Nov-11 05:10 PM
Ciao a tutti
un numero x di persone compila e salva nella stessa cartella un file
nominativo in excel con identica struttura ma con righe
quantitativamente variabili e questi dati vengono copiati tutti su un
altro file con il copia/incolla.
Esiste un sistema per automatizzare il tutto?

Grazie


Schiappa replied to Schiappa on 29-Nov-11 03:58 PM
Provo a riformulare la domanda:
ho un file excel composto da tre fogli e inserisco dei dati in A1(nome
e cognome) B1(categoria) C1(dato numerico 1o 2 o 3 ) D1(dato numerico
1o 2o 3) in E1ho una lista a tendina in cui scelgo l'attivit=E0 svolta
(lista ricavata dal terzo foglio) in F1 il dato viene in automatico in
base alla scelta in E1( sempre da una lista ricavata nel terzo foglio)
in G1inserisco l'ora d'inizio in H1 l'ora di fine I1 calcola le ore
impiegate in base a G1H1 e J1 calcola il totale ore in base a L1C1,il
secondo foglio si autoalimenta in base alla compilazione del primo
mentre il terzo funge da legenda -il numero di righe compilate =E8
variabile a seconda delle attivit=E0 svolte,posso compilare una due o
dieci righe.
Una vola compilato il file lo salvo in una cartella e lo nomino con il
mio nome e cognome
Un altro f=E0 la stessa cosa con un file identico e lo salva nella
cartella dove ho salvato precedentemente nominandolo con il suo noeme
e cognome e cos=EC via per un tot di persone
Ho la necessit=E0 di copiare le caselle compilate da ogni file salvato
ovvero: A1 B1 C1 D1 E1 G1 H1 e forse A2 B2 C2 E2 G2 H2   A3 B3 C3 E3
G3 H3 e cos=EC via se compilate, in un unico file uguale a quelli
compilati da ognuno.
Spero di essermi spiegato meglio

grazie
max replied to Schiappa on 30-Nov-11 10:52 AM
Provo a riformulare la domanda:
ho un file excel composto da tre fogli e inserisco dei dati in A1(nome
e cognome) B1(categoria) C1(dato numerico 1o 2 o 3 ) D1(dato numerico
1o 2o 3) in E1ho una lista a tendina in cui scelgo l'attività svolta
(lista ricavata dal terzo foglio) in F1 il dato viene in automatico in
base alla scelta in E1( sempre da una lista ricavata nel terzo foglio)
in G1inserisco l'ora d'inizio in H1 l'ora di fine I1 calcola le ore
impiegate in base a G1H1 e J1 calcola il totale ore in base a L1C1,il
secondo foglio si autoalimenta in base alla compilazione del primo
mentre il terzo funge da legenda -il numero di righe compilate è
variabile a seconda delle attività svolte,posso compilare una due o
dieci righe.
Una vola compilato il file lo salvo in una cartella e lo nomino con il
mio nome e cognome
Un altro fà la stessa cosa con un file identico e lo salva nella
cartella dove ho salvato precedentemente nominandolo con il suo noeme
e cognome e così via per un tot di persone
Ho la necessità di copiare le caselle compilate da ogni file salvato
ovvero: A1 B1 C1 D1 E1 G1 H1 e forse A2 B2 C2 E2 G2 H2   A3 B3 C3 E3
G3 H3 e così via se compilate, in un unico file uguale a quelli
compilati da ognuno.
Spero di essermi spiegato meglio

grazie

un collegamento a quelle celle in questo nuovo file "generale"?
ciao
max
Mauro Gamberini replied to Schiappa on 01-Dec-11 03:02 AM
Hai avuto la tua risposta qui:

http://answers.microsoft.com/thread/1e38f1d0-23a1-4ff2-af47-7f1cab423185



--
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
http://www.maurogsc.eu/
Schiappa replied to Mauro Gamberini on 15-Dec-11 02:41 PM
On 1 Dic, 09:02, "Mauro Gamberini"

allego di seguito la macro funzionante approntata da Mauro Gamberini
che ringrazio e che potrebbe tornare utile per casi simili

Questa macro che va messa nel file dove recuperi i dati, apre tutti i
files di Excel che sono nella cartella: tuaCartella, copia i dati del
Foglio1 di ciascun file da A1 a H(n), saltando le colonne F e J e le
incolla nel foglio DATA ENTRY del file dove hai la macro:



Public Sub m()

On Error GoTo RigaErrore

Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim wrk As Workbook
Dim sh As Worksheet
Dim shStorico As Worksheet
Dim wkStorico As Workbook
Dim lUltRiga As Long
Dim lRiga As Long
Dim sPath As String

With Application
.ScreenUpdating = False
.Calculation = xlManual
.StatusBar = "Sto eseguendo: Sub m()"
End With

sPath = "C:\tuaCartella\"
Set wkStorico = ThisWorkbook
Set shStorico = wkStorico.Worksheets("DATA ENTRY")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(sPath)

For Each objFile In objFolder.Files

If Right(objFile.Name, 3) = "xls" _
Or Right(objFile.Name, 4) = "xlsx" _
Or Right(objFile.Name, 4) = "xlsm" Then

Set wrk = Workbooks.Open(sPath & objFile.Name)
With wrk
Set sh = .Worksheets("Foglio1")
End With

With shStorico
lUltRiga = shStorico.Range("A"
& .Rows.Count).End(xlUp).Row + 1
End With

With sh
lRiga = .Range("A" & .Rows.Count).End(xlUp).Row
.Range("A1:E" & lRiga).Copy
shStorico.Range("A" & lUltRiga).PasteSpecial
xlPasteValues
.Range("G1:H" & lRiga).Copy
shStorico.Range("G" & lUltRiga).PasteSpecial
xlPasteValues
End With

wrk.Close

End If

Next

shStorico.Range("A1").Select

RigaChiusura:
Application.CutCopyMode = False
Set sh = Nothing
Set wrk = Nothing
Set shStorico = Nothing
Set wkStorico = Nothing
Set objFile = Nothing
Set objFolder = Nothing
Set objFSO = Nothing
With Application
.ScreenUpdating = True
.Calculation = xlAutomatic
.StatusBar = ""
End With
Exit Sub

RigaErrore:
MsgBox Err.Number & vbNewLine & Err.Description
Resume RigaChiusura

End Sub
Mauro Gamberini replied to Schiappa on 15-Dec-11 03:14 PM
Davvero gentile.
Grazie e buon lavoro.

--
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
http://www.maurogsc.eu/