Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

creazione macro excel compila campi con link

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

creazione macro excel compila campi con link

Postdi allll8184 » 16/10/15 07:37

Salve

questo è il mio primo post su questo forum, ho letto numerosi esempi che mi sono stati d'aiuto.
Devo chiedere il vostro aiuto riguardo alla creazione di una macro.

Allora io ho un file excel con diverse colonne riempite con dati, alla riga 1 di ogni colonna c'è il nome di ogni colonna e dalla riga 2 in poi ci sono i vari dati dei file che ho salvato in una cartella.

nella prima colonna ho "Nome File" e a seguire ci sono i nomi di tutte le foto che ho salvato, nella colonna 5 c'è "Collegamento" che è la colonna dove genero in automatico il collegamento hyperlink al file che ho nella cartella.

il mio problema è che dovendo aggiornare sempre il foglio excel e dovendo compilare anche le altre colonne come "descrizione file" con la macro che ho riesco a creare in automatico il collegamento hyperlink al file prendendo il nome della colonna A("Nome File") e inserendoli nella colonna 5("Collegamento")
purtroppo questa macro funziona a metà, cioè una volta lanciata la macro i collegamenti vengono creati ma sia i nomi che i collegamenti vengono scombinati nelle colonne di conseguenza il nome che stava nella riga 2 colonna 1 non combacierà con i dati salvati nelle altre colonne come "Descrizione"

questa è la macro che utilizzo:

Sub collegacelle()
Cart = "C:\Users\fab\Desktop\FOTO\" '<<<< Cartella contenente i files
Dim nomef, pathe As String
Dim fs, f
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.getfolder(Cart)
Set fails = f.Files
rig = 2
For Each pf1 In fails
nomef = pf1.Name
pathe = pf1.Path
Sheets(1).Cells(rig, 1).Select
Sheets(1).Cells(rig, 1) = nomef
Sheets(1).Cells(rig, 5) = pathe
Sheets(1).Cells(rig, 5).Select
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=pathe, TextToDisplay:=nomef
rig = rig + 1
Next
End Sub

avreste qualche consiglio su come migliorarla in modo da poter tenere le posizioni dei nomi e i collegamenti allineati come prima del lancio della macro?

Grazieee
allll8184
Newbie
 
Post: 3
Iscritto il: 15/10/15 10:09

Sponsor
 

Re: creazione macro excel compila campi con link

Postdi wallace&gromit » 16/10/15 07:57

ciao alll,
benvenuto nel forum.
Non ho ora la possibilità di trovarti una soluzione ma posso darti uno spunto utile:
è ovvio che ora c'è un problema, perché tu inserisci nel tuo file excel in colonna A i nomi dei file che trovi nella cartella, lasciando in B,C e D quello che c'è già (se i file non hanno lo stesso ordine dei testi in excel risulteranno sfasati).
Devi invece girare la cosa e fare scorrere la colonna A alla ricerca dei nomi dei file, che vanno identificati nella cartella.
Prova e pubblica i tuoi progressi.

P.S. per inserire il codice premi sull'icona "Code" durante la compilazione del post, così il tuo codice risulterà contenuto in un riquadro e si migliora la leggibilità.
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: creazione macro excel compila campi con link

Postdi allll8184 » 16/10/15 08:27

Grazie per la risposta tempestiva,
il fatto è che io non ho una conoscenza sufficiente vba e macro per poterlo fare da 0, quello che ho fatto è stato grazie a delle ricerche su internet anche se ho capito il processo che mi suggerisci e che ho cercato di fare ma non ho trovato sufficienti riferimenti
allll8184
Newbie
 
Post: 3
Iscritto il: 15/10/15 10:09

Re: creazione macro excel compila campi con link

Postdi wallace&gromit » 16/10/15 08:34

Io sto risolvendo qualcosa di simile con la musica, ma dovrai aspettare il weekend, a meno che si inserisce qualcun altro nella discussione.
stato 2014: Office2003/2013 su win7
Avatar utente
wallace&gromit
Utente Senior
 
Post: 1421
Iscritto il: 16/01/12 14:21

Re: creazione macro excel compila campi con link

Postdi allll8184 » 16/10/15 09:15

ok ho risolto :

Codice: Seleziona tutto
Sub collegacelle()
    Cart = "C:\\fab\Desktop\FOTO\" '<<<< Cartella contenente i files nel server
    Dim nomef, pathe As String
    Dim fs, f
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.getfolder(Cart)
    Set fails = f.Files
    rig = 2
    For Each pf1 In fails
        nomef = Cells(rig, 1)
        pathe = "C:\\fab\Desktop\FOTO\" & "\" & nomef
       Sheets(1).Cells(rig, 1).Select
       Sheets(1).Cells(rig, 5) = pathe
       Sheets(1).Cells(rig, 5).Select
       ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=pathe, TextToDisplay:=nomef
    rig = rig + 1
    Next
End Sub
allll8184
Newbie
 
Post: 3
Iscritto il: 15/10/15 10:09


Torna a Applicazioni Office Windows


Topic correlati a "creazione macro excel compila campi con link":


Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti