View Full Version : Per ULTRAESPERTI di Excel...Riferimenti esterni!
pasqua80
04-10-2002, 17:11
Devo creare un foglio di lavoro che, data una directory, vada a fare la somma delle celle "J 19" di tutti i file presenti in tale cartella... COME FACCIO???
CIAO
boh, la prima cosa che mi viene in mente è di usare la formula
= (J19 del foglioX+j19 del foglioYecc ecc.) basta evidenziare tali celle battere + e invio naturalmente ad ogni apertura del datashhet master ti chiederà se vuoi aggiornare i riferimenti esterni.naturalmente se i figli di riferimento sono tanti la procedura è un pò lunga.forse c'e un modo + semplice ma al momento non mi sovviene
bye
pasqua80
06-10-2002, 14:31
Il problema è che ce ne sono parecchi file con la stessa tabella "base", e cercavo un modo che funzioni anche se aggiungo dei file...
mmmmm mi sa che non esiste, ogni volta che aggiungi un file dovrai aggiornare anche la formula
sentiamo se c'è qualcuno + esperto nel forum...
intanto ciao:)
pasqua80
07-10-2002, 22:05
La cosa è fattibile anche su machintosh presumo...
sul Mac ? in che senso ?
ciao
pasqua80
09-10-2002, 18:18
che una volta trovata la soluzione deve funzionare anche su excel per mac
pasqua80
10-10-2002, 21:33
Ci sono riuscito... ho fatto una macro che ti cerca i file xls nella cartella specificata... il tutto funziona sul mio pc, ma sul machintosh (con microsoft excel98 x mac) dà errore...
Ecco la macro
Sub Macro1()
'
' Macro1 Macro
' Macro registrata il 09/10/2002 da Stefano
'
-> Application.FileSearch.NewSearch
Application.FileSearch.LookIn = Range("B1").Value
Application.FileSearch.SearchSubFolders = False
Application.FileSearch.Filename = "*.xls"
Application.FileSearch.MatchAllWordForms = False
Application.FileSearch.FileType = msoFileTypeAllFiles
trovato = 0
Riga = 8
Files = ""
If Application.FileSearch.Execute() > 0 Then
Range("A" & Riga, "B600").Value = "" 'Cancellazione della tabella
Set file = CreateObject("Scripting.FileSystemObject")
For i = 1 To Application.FileSearch.FoundFiles.Count
If file.getbasename(Application.FileSearch.FoundFiles(i)) = "_RIEPILOGO" Or file.getbasename(Application.FileSearch.FoundFiles(i)) = "_MODELLO BASE" Then
trovato = trovato + 1
Else
'Range("A" & Riga).Value = file.getfilename(Application.FileSearch.FoundFiles(i))
Range("A" & Riga).Value = "='" & file.GetParentFolderName(Application.FileSearch.FoundFiles(i)) & "\[" & file.getfilename(Application.FileSearch.FoundFiles(i)) & "]Foglio1'!$E$2"
Range("B" & Riga).Value = "='" & file.GetParentFolderName(Application.FileSearch.FoundFiles(i)) & "\[" & file.getfilename(Application.FileSearch.FoundFiles(i)) & "]Foglio1'!$J$19"
Riga = Riga + 1
Files = Files & ", " & file.getfilename(Application.FileSearch.FoundFiles(i))
End If
Next i
MsgBox "Elaborazione " & Application.FileSearch.FoundFiles.Count - trovato & " schede terminata" & Files
Else
MsgBox "Nessun Cliente Trovato."
End If
End Sub
Si blocca dove ho messo la freccetta... qualcuno mi sa dire se su mac la funzione deve essere scritta in modo diverso?
chiaramente la sintassi della directory di partenza (lookup) l'ho sostituita mettendola in formato mac
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.