Condividi:        

copia singole righe dati in corrispondenti 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

copia singole righe dati in corrispondenti file

Postdi salatony » 23/01/14 21:02

ciao
il mio problema è:
ho un FILE excel (principale) con più dati (per ogni riga ho la data,nr bolla,data materiale,q.tà, CODICE, ecc.).
Ogni riga deve essere copiata nel corrispettivo file (questi file sono nominati dal CODICE corrispondente, una serie di 12 cifre, situati in una cartella).
Quindi, ogni volta apro il FILE (principale) vado sulla riga da copiare, crt+c , apro la CARTELLA contenente i CODICI, scrivo il CODICE nella casella in alto (per una ricerca più veloce), apro il file corrispondente, e incollo l'intera riga (contenente i dati), nella prima cella libera sotto la riga 10 (perchè in alto c'è l'intestazione e ci sono i precedenti dati) della colonna C .
ti chiedo, posso fare tutto in automatico, magari cliccando più volte sulla riga di ogni CODICE nel FILE excel (principale).
penso che sia un vero problema, ma con un comando potrei accorciare di molto il mio lavoro
grazie
ciao
salatony
Utente Junior
 
Post: 68
Iscritto il: 08/11/13 21:16

Sponsor
 

Re: copia singole righe dati in corrispondenti file

Postdi Dylan666 » 24/01/14 23:48

Ma poi di questi file cosa devi fare? Stamparli? Archiviarli?
Avatar utente
Dylan666
Moderatore
 
Post: 39993
Iscritto il: 18/11/03 16:46

Re: copia singole righe dati in corrispondenti file

Postdi Anthony47 » 24/01/14 23:54

In aggiunta alla domanda di Dylan (vedi sopra): l' operazione descritta la vuoi fare su un codice che scegli tu nell' elenco, o la devi fare su tutti i codici presenti nel tuo foglio di partenza.
Mi sembra inoltre che i dati vanno "accodati" a quanto gia' presente sul file Codice.
Vorrei anche sapere su quale "foglio" del file Codice l' info va registrata, quale e' il layout (contenuto delle colonne) sia del file/foglio Codice che del file/foglio di partenza.

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

Re: copia singole righe dati in corrispondenti file

Postdi salatony » 28/01/14 21:06

ciao

-i file vengono archiviati
-operazione la devo fare per tutti i CODICI presenti (nel FILE principale)
-esatto i dati vanno accodati sul Foglio 1 (di tutti i file CODICE: 1111 222 33333,, 1111 222 44444 ecc.),
-i layout sono identici, sia del file di provenienza (che contiene tutti i dati da copiare, FILE principale), sia per i file CODICE 1111 222 33333,, 1111 222 44444 ecc. dove si andranno a inserire i dati da copiare (le intestazioni sono composte da celle contenenti i titoli delle colonne es. data,nr bolla,data materiale,q.tà, più il CODICE es.1111 222 33333,, 1111 222 44444 ecc.di 12 cifre della scheda (che si trova in una colonna più a destra dalla colonna C.
ES. file principale composto da 20 righe di materiali (parte dalla riga 10 colonna C), ogni riga contiene data,nr bolla,data materiale,q.tà, più il CODICE 12 cifre es.1111 222 33333,, 1111 222 44444 ecc.
devo aprire il corrispondente file 1111 222 33333 da una cartella, e copiare la riga del file principale sotto il primo spazio libero dalla riga 10 colonna. C.
ti chiedo, per semplificare potrei tenere apei tutti i 20 file sul desktop, e cliccando sulle celle 1111 222 33333 ecc. presenti nel FILE PRINCIPALE mi cerca il file corrispondente al 1111 222 33333 già nel desktop, e mi copia la riga
ciao
salatony
Utente Junior
 
Post: 68
Iscritto il: 08/11/13 21:16

Re: copia singole righe dati in corrispondenti file

Postdi Anthony47 » 30/01/14 00:32

Allora, visto tu non dici dove e', immaginiamo che il CODICE sia in colonna M e che gli altri dati siano da C a Q, partendo da riga 10 in avanti.
Inoltre, visto che non l'hai detto, immaginiamo che le informazioni vadano sul foglio con indice 1 del file Codice.
Prova con questa macro:
Codice: Seleziona tutto
Sub ppp()
Dim LastM As Long, I As Long, myFile As String, myCols As String, myPath As String, NextM As Long
'
myCols = "C:Q"      '<< Le colonne da copiare
myPath = "C:\Users\Utente1\Documents\"   '<< il Path dove sono i file Codice (con \ finale)
'
LastM = Cells(Rows.Count, "M").End(xlUp).Row    '<< Colonna Codice
mySh = ActiveSheet.Name
For I = 10 To LastM
    myFile = myPath & Cells(I, "M").Value & ".xlsx"      '<< XLSX?? + Colonna
    Workbooks.Open Filename:=myFile
    NextM = Sheets(1).Cells(Rows.Count, "M").End(xlUp).Row + 1    '<< Colonna Codice
    Sheets(1).Range("C" & NextM).Resize(1, Range(myCols).Columns.Count).Value = _
    ThisWorkbook.Sheets(mySh).Range("C" & I).Resize(1, Range(myCols).Columns.Count).Value
    ActiveWorkbook.Close savechanges:=True
Next I
End Sub

Personalizza le istruzioni marcate << e poi manda in esecuzione.

Ciao, fai sapere.
Avatar utente
Anthony47
Moderatore
 
Post: 19215
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "copia singole righe dati in corrispondenti file":


Chi c’è in linea

Visitano il forum: Anthony47 e 51 ospiti