Buongiorno a tutti.
Sono Lorenzo e sono freschissimo del Forum…
La mia conoscenza di Excel è molto limitata ed autodidatta.
Il tutto inizia che un file che utilizzo come elenco per le pratiche che un mio conoscente ha sviluppato ma che ora non può aiutarmi.
Vi chiedo la gentilezza di farlo Voi….
Il file si compone di due Fogli. Scheda ed Archivio.
Il Foglio scheda è composto di una sola riga nel quale inserisco dei dati che poi, schiacciando un pulsante e grazie ad una specifica macro, vengono inseriti nel Foglio Archivio. Con lastessa macro viene anche creata una cartella (non nel senso di excel) all’interno del mio server locale all’indirizzo \\Ls420dbb7\studio\ARCHIVIOPRATICHE\ dentro la quale inserisco manualmente dei file. La Cartella creata prende il nome delle prime tre celle della riga. Grazie all'aiuto di altro Forum sono riuscito nel mio iniziale intento di creare in automatico, mediante estensione della macro, un collegamento su una delle celle del Foglio Archivio alla cartella creata sul server in modo che cliccandoci sopra mi si apra la cartella
Nel seguito la macro completa:
Sub CreaCartella()
Dim Cartella As String
Dim FileSystemObj
Set FileSystemObj = CreateObject("Scripting.FileSystemObject")
Cartella = "\\Ls420dbb7\studio\ARCHIVIO PRATICHE\" & Range("Scheda!C7") & " " & Range("Scheda!D7") & " " & Range("Scheda!E7")
If Not FileSystemObj.folderExists(Cartella) Then
FileSystemObj.CreateFolder Cartella
MsgBox "Attenzione: E' stata creata la nuova Cartella " & Range("F1") & " nella Directory \\Ls420dbb7\studio\ARCHIVIO PRATICHE", vbInformation, "Avviso"
Else
MsgBox "Attenzione: La Cartella " & Range("F1") & " esiste già!", vbInformation, "Avviso"
End If
'----------- MODIFICHE ALE/FLO --140916--------------------
' posiziona nella cella da inserire collegamento
Sheets("Archivio").Select
ultimariga = Cells(Rows.Count, "C").End(xlUp).Row
Cells(ultimariga, "B").Select
'Range("B1").Select
'Do
'ActiveCell.Offset(1).Select
'Loop Until ActiveCell.Value = ""
'ActiveCell.Offset(-1).Select
' collegamento
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="\\Ls420dbb7\studio\ARCHIVIO PRATICHE\" & Range("Scheda!C7") & " " & Range("Scheda!D7") & " " & Range("Scheda!E7")
'----------- MODIFICHE LORENZO --101017--------------------
' posiziona nella cella da inserire collegamentoSheets("Archivio").Select 'seleziona il foglio
Range("B2").Select 'seleziona la cella B2
Do Until ActiveCell = "" 'inizia il ciclo che continua fino a (UNTIL) la cella attiva e' vuota
'aggiunge il collegamento ipertestuale con l'uso di Activecell e Offset che indica lo scarto rispetto la cella attiva
'funzione OFFSET=il primo valore indica su (valore negativo) e giu' (valore positivo), il secondo destra (valore negativo) e sinistra (valore positivo)
ActiveSheet.Hyperlinks.Add _
Anchor:=Selection, _
Address:="\\Ls420dbb7\studio\ARCHIVIO PRATICHE\" & ActiveCell.Offset(, -1) & " " & ActiveCell & " " & ActiveCell.Offset(, 1)
ActiveCell.Offset(1).Select 'seleziona la cella successiva in basso
Loop 'prosegue il ciclo
End Sub
La macro funziona ossia crea la cartella ed il collegamento MA SOLO SE CI LAVORO IO !!!!!
Se lo condivido con Condividi cartella in Revisioni (cosa per me indispensabile) mi crea solo la cartella ma non il collegamento, dandomi il seguente errore:
Errore di run-time 1004
Errore definito dall'applicazione o dall'oggetto
qualcuno di voi può aiutarmi ?
Vi allego anche i file con un solo record date le dimensioni e privo dei dati sensibili
Grazie mille
Lorenzo
[Modificato da LORENZO-ExcelForum 11/10/2017 13:17]