Benvenuto Ospite Cerca | Topic Attivi | Utenti | | Log In | Registra

estrarre file da un elenco excel Opzioni
landogiu
Inviato: Tuesday, October 19, 2004 7:16:23 AM
Rank: Member

Iscritto dal : 10/21/2002
Posts: 15
Mi trovo nella condizione di dover estrarre tanti file quante sono le righe di un elenco excel.Mi spiego meglio, ho un elenco di nominativi e mi servirebbe estrarre tanti file quante sono le righe che contengono i nominativi.Ad es. 17 cognomi in elenco e 17 files per ogni singolo cognome.C'è qualche soluzione?Un saluto
Sponsor
Inviato: Tuesday, October 19, 2004 7:16:23 AM

 
dead
Inviato: Tuesday, October 19, 2004 12:21:26 PM

Rank: AiutAmico

Iscritto dal : 9/20/2004
Posts: 1,597
Direi che l'unica è utilizzare il VBA che è messo a disposizione da Excel, ma presuppone un po' di basi di programmazione.
Inoltre manca un informazione: che tipo di files vuoi produrre? nuovi files excel? files di testo?
Non ti basterebbe in alternativa creare tanti fogli di lavoro diversi quanti sono i nominativi nello stesso file?
Oppure se hai a disposizione Access, puoi importare la tabella excel in access e costruire una scheda informativa per ogni nominativo


Sono cosi avanti che quando guardo indietro vedo il futuro.
a10n11
Inviato: Tuesday, October 19, 2004 12:46:47 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
Spiega meglio che cosa intendi per estrarre? che devono solo aprirsi tutti i file con il nome rappresentato dalle singole righe? o generare tanti file per quanti nomi hai nelle righe?
se ci chiarisci è più facile dare una mano.
andrea

Edited by - a10n11 on 10/19/2004 12:48:04

landogiu
Inviato: Tuesday, October 19, 2004 9:44:30 PM
Rank: Member

Iscritto dal : 10/21/2002
Posts: 15
Sì devono aprirsi tanti file quanti sono i nominativi inseriti nelle righe, riportando i dati inseriti nelle varie celle riferite a quel nominativo. Che siano excel o word poco importa.
Un saluto
dead
Inviato: Wednesday, October 20, 2004 1:14:46 AM

Rank: AiutAmico

Iscritto dal : 9/20/2004
Posts: 1,597
1-Apri il file excel
2-Scegli Strumenti > Macro > Macro...
3-nella casella sotto nome macro: scrivi FilesDaCelle
4-Clicca su crea
5-ti si aprirà una finestra con:
Sub FilesDaCelle()

End Sub
6-Tra Sub FilesDaCelle() e End Sub
incolla <b>esattamente</b> il codice compreso tra le due righe (senza le righe)
7-chiudi la finestra (tramite la x in alto)
8-Scegli di nuovo Strumenti > Macro > Macro... nel riquadro più grande troverai il nome della macro FilesDaCelle
9-Selezionala e clicca Opzioni...
10-Scegli un tasto di scelta rapida da usare assieme al control (p.es. "P")
11-chiudi la finestra macro e torna al documento excel
seleziona i nomi che vuoi trasformare in files
12-schiaccia CTRL+P (o il tasto che hai scelto.

ciao.



Percorso = InputBox("Specifica la cartella dove vuoi salvare i files. P.Es. C:\Documenti", "Immissione informazioni")
For Each c In ActiveWindow.Selection.Cells
NomeFile = c.Value
z = Creafile(NomeFile, Percorso)
Next
pippo = MsgBox("Creazione effettuata!", vbExclamation, "Attenzione!")
End Sub
Function Creafile(Nome, Perc)
If Nome = "" Then
pippo = MsgBox("Non puoi usare una casella vuota come nome di un file", vbExclamation, "Attenzione!")
Exit Function
End If
If IsDate(Nome) Then
pippo = MsgBox("Non puoi usare una data come nome di un file", vbExclamation, "Attenzione!")
Exit Function
End If
If IsNumeric(Nome) Then
Nome = Trim(Str(Nome))
End If
Set fs = CreateObject("Scripting.FileSystemObject")
MyPath = Perc + "\" + Nome + ".txt"
Set a = fs.CreateTextFile(MyPath, True)
a.Close
--------


Sono cosi avanti che quando guardo indietro vedo il futuro.
dead
Inviato: Wednesday, October 20, 2004 9:39:15 AM

Rank: AiutAmico

Iscritto dal : 9/20/2004
Posts: 1,597
<BLOCKQUOTE id=quote><font size=1 face="Sans Serif, Arial, Helvetica" id=quote>quote:<hr height=1 noshade id=quote>
Sì devono aprirsi tanti file quanti sono i nominativi inseriti nelle righe, riportando i dati inseriti nelle varie celle riferite a quel nominativo. Che siano excel o word poco importa.
Un saluto
<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Sans Serif, Arial, Helvetica" size=2 id=quote>

P.S. ieri non avevo visto questa tua risposta.
La macro che ti ho fatto io crea solo dei files vuoti.
Se vuoi che contengano i dati, bisogna che mi fai un esempio dettagliato di come sono strutturati i dati (mandami per e-mail av250866-chiocciola-tin.it un file excel come esempio).
Comunque ribadisco che per un lavoro di schede informative come quello che mi sembra hai intenzione di fare, è 1000 volte più comodo Access.


Sono cosi avanti che quando guardo indietro vedo il futuro.
a10n11
Inviato: Wednesday, October 20, 2004 11:10:21 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
Sub Apri()
For Each Cl In Range("a1:a20")
Workbooks.Open Filename:="c:\windows\desktop\" & Cl & ".xls", ReadOnly:=False
Next
End Sub
Supponendo che i file siano della directory Desktop che varierari secondo il tuo caso e che i dati relativi ai nomi dei files siano sulla colonna A da riga 1 a 20 (da personalizzare)
andrea

Edited by - a10n11 on 10/20/2004 23:10:43

Edited by - a10n11 on 10/20/2004 23:11:13

dead
Inviato: Wednesday, October 20, 2004 11:39:49 PM

Rank: AiutAmico

Iscritto dal : 9/20/2004
Posts: 1,597
Non credo che funzioni...il problema è che l'istruzione Open funziona solo con files già esistenti, e poi anche se si aprissero sarebbero privi dei dati richiesti da Landogiu


Sono cosi avanti che quando guardo indietro vedo il futuro.
a10n11
Inviato: Thursday, October 21, 2004 12:22:16 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
non funziona di sicuro se la richiesta di Lando invece che aprire intenda generare un nuovo file. In quel caso è evidente che la routine non è quella che serve. Appena ho un attimo la modifico.
Andrea

a10n11
Inviato: Thursday, October 21, 2004 3:00:12 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
questo dovrebbe risolvere quanto richiesto.
in parole povere, la routine utilizza le righe da A1 ad A20 come nome da assegnare ai file, mentre le celle di competenza da copiare nel nuovo file generato sono comprese in un range definito da un nome che è lo stesso che si trova nelle celle di colonna A
Sub crea()
Application.ScreenUpdating = False
Sheets("foglio1").Select
For Each cl In Range("a1:a20")
Application.Goto Reference:=cl.Value
Selection.Copy
Workbooks.Add
Range("a1").Select
ActiveSheet.Paste
Range("a1").Select
Application.CutCopyMode = False
ActiveWorkbook.SaveAs Filename:="C:\WINDOWS\Desktop\" & cl, FileFormat _
:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
False, CreateBackup:=False
ActiveWorkbook.Close
Range("a1").Select
Next
End Sub
andrea

landogiu
Inviato: Friday, October 22, 2004 4:58:10 AM
Rank: Member

Iscritto dal : 10/21/2002
Posts: 15
Ciao a10n11 la mcro non mi funziona credo perchè il file generato dovrebbe contenere almeno i dati inseriti nella celle tra a e aj della riga 1
a10n11
Inviato: Friday, October 22, 2004 10:36:55 AM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
Il concetto della macro è questo:
Se nel foglio alla cella A1 è indicato il nome LANDO e i records di sua pertinenza sono
rappresentati dalle celle A1:AJ1 dovrai atribuire il nome LANDO al range A1:Aj1
e di seguito per tutti i nomi presenti nella colonna A . spero di essere statao chiaro
andrea

landogiu
Inviato: Saturday, October 30, 2004 5:03:40 PM
Rank: Member

Iscritto dal : 10/21/2002
Posts: 15
Ragzzi come avrete capito sono completamente a digiuno di macro. Volevo porvi un altro quesito, Come mai in un file salvato sul desktop la macro funziona e lo stesso file salvato in un'altra cartella non funziona. Praticamente mi vedo costretto a copiare i record dal secondo file al primo e la macro del file salvato sul desktop fa il suo dovere. Dove sbaglio?
a10n11
Inviato: Saturday, October 30, 2004 6:20:19 PM

Rank: AiutAmico

Iscritto dal : 5/29/2003
Posts: 1,694
che significa non funziona? che tipo di errore ti da. Controlla il percorso del file indicato nelle istruzioni macro.
L'errore non può essere che li.
saluti
andrea

dead
Inviato: Sunday, October 31, 2004 12:33:37 AM

Rank: AiutAmico

Iscritto dal : 9/20/2004
Posts: 1,597
Se parli della macro che ti ho passato io, o di un'altra macro che hai costruito tu in un documento specifico, probabilmente non ti funziona perchè non è disponibile per quel documento.
Mi spiego meglio:
Una macro "appartiene" al documento in cui è salvata ed a tutti i documenti che discendono da esso. Per esempio, la mia macro è nata in "provafile.xls" quindi sarà disponibile in quel documento e in quelli che crei a partire da quello facendo "Salva con nome"
oppure salvi il documento con la macto in formato .xlt ottenendo un modello che puoi utilizzare come base di partenza.



Sono cosi avanti che quando guardo indietro vedo il futuro.
landogiu
Inviato: Tuesday, November 02, 2004 9:06:46 PM
Rank: Member

Iscritto dal : 10/21/2002
Posts: 15
Il messaggio di errore mi dice che c'è un file con lo stesso nome già aperto. Cmq ora ho provato a chiamarlo in un altro modo e pare che funzioni. Facccio altre prove e Vi faccio sapere.Grazie davvero per l'aiuto che mi avete dato. Un saluto
danx
Inviato: Tuesday, November 02, 2004 10:05:09 PM
Rank: Member

Iscritto dal : 10/26/2004
Posts: 15
saleve ragazzi..ho un problema con un pc windows 95..qualcuno potrebbe aiutarmi?
danx
Inviato: Tuesday, November 02, 2004 10:05:17 PM
Rank: Member

Iscritto dal : 10/26/2004
Posts: 15
saleve ragazzi..ho un problema con un pc windows 95..qualcuno potrebbe aiutarmi?
danx
Inviato: Tuesday, November 02, 2004 10:05:45 PM
Rank: Member

Iscritto dal : 10/26/2004
Posts: 15
saleve ragazzi..ho un problema con un pc windows 95..qualcuno potrebbe aiutarmi?
Utenti presenti in questo topic
Guest


Salta al Forum
Aggiunta nuovi Topic disabilitata in questo forum.
Risposte disabilitate in questo forum.
Eliminazione tuoi Post disabilitata in questo forum.
Modifica dei tuoi post disabilitata in questo forum.
Creazione Sondaggi disabilitata in questo forum.
Voto ai sondaggi disabilitato in questo forum.

Main Forum RSS : RSS

Aiutamici Theme
Powered by Yet Another Forum.net versione 1.9.1.8 (NET v2.0) - 3/29/2008
Copyright © 2003-2008 Yet Another Forum.net. All rights reserved.