Condividi:        

Excel Determinare percorso corrente

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

Excel Determinare percorso corrente

Postdi saxas » 09/08/16 21:26

Salve

per determinare il percorso di un file attualmente in uso e il suo nome utilizzo

Percorsofile = Application.ActiveWorkbook.Path
NomeFile=Application.ActiveWorkbook.Name

c'è un modo per per trovare un file in una cartella superiore con un nome file specifico?
mi spiego meglio spero
dal file "01.08.2016.xlsm" devo realizzare una ricerca all'interno del file "Presenza.xlsm" e si trovano attualmente nei percorsi sotto elencati, ma siccome vorrei la possibilità di poter spostare tutto il blocco di cartelle in altri pc o chiavette senza per questo interrompere il collegamento quindi pensavo di affibbiare il percorso ad una variabile che in automatico si aggiorni

C:\Users\xxx\Desktop\ANNO 2016\08 - AGOSTO 2016\01.08.2016.xlsm
C:\Users\xxx\Desktop\ANNO 2016\Presenze.xlsm
Win10 - Office 2016 Ita
saxas
Utente Junior
 
Post: 55
Iscritto il: 14/11/13 16:58

Sponsor
 

Re: Excel Determinare percorso corrente

Postdi Anthony47 » 13/08/16 02:52

Non mi e' chiarissimo quello che vorresti fare; in linea di massima per andare "alla cartella superiore" puoi usare (su Windows) ChDir ".."
Ad esempio questa seguenza ti impostera' la directory su quella "superiore" al percorso in cui si trova il file che contiene la macro:
Codice: Seleziona tutto
ChDir ThisWorkbook.Path
ChDir ".."

In tal modo, se il file e' contenuto in
C:\Users\xxx\Desktop\ANNO 2016\08 - AGOSTO 2016\, le istruzioni ti porteranno su C:\Users\xxx\Desktop\ANNO 2016\

Se pero' hai intenzione di inserire il file su una chiavetta usb, e dalla chiavetta aprire il file ed eseguire la macro, allora sconsiglio questa operazione: la chiavetta e' un mezzo per muovere da un pc a un altro, non e' sufficientemente "solido" per aprire e modificare i file; prima o poi te li trovi illegibili.

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

Re: Excel Determinare percorso corrente

Postdi saxas » 13/08/16 07:55

il risultato delle istruzioni da te menzionate possono essere attribuite ad una variabile?

in definitiva il file di origine presente nella cartella "ANNO 2016\08 - AGOSTO 2016\01.08.2016.xlsm" (che normalmente risiede nel server) punta con la seguente formula il file "Presenze 2016.xlsm"
Codice: Seleziona tutto
=CERCA.VERT(H8;'\\server\Share\PRESENZE GIORNALIERE\ANNO 2016\[Presenze 2016.xlsm]Agosto'!$B$7:$AH$59;GIORNO($E$1)+2;FALSO)


se cambio posizione di tutto il blocco cartelle la formula continua a puntare nel server vorrei che questa sia flessibile ed aggiornare il percorso del file da cui preleva i dati
con l'istruzione vba seguente o simile, mi puoi consigliare come risolvere questo problema?
Codice: Seleziona tutto
sub aa()
EndRow_Col_Operai = Worksheets("GIORNALIERA Operai").Cells(Rows.Count, 8).End(xlUp).Row
Range("T8").Select

    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-12],''\\server\Share\PRESENZE GIORNALIERE\ANNO 2016\[Presenze 2016.xlsm]Agosto'!R7C2:R59C34,DAY(R1C5)+2,FALSE)"

        Selection.Copy
        Range("T9:T" & EndRow_Col_Operai).Select
        ActiveSheet.Paste

End Sub


spero di essere stato più chiaro
Win10 - Office 2016 Ita
saxas
Utente Junior
 
Post: 55
Iscritto il: 14/11/13 16:58

Re: Excel Determinare percorso corrente

Postdi saxas » 13/08/16 09:17

Tramite una serie di len() e la variabile
PercorsoRecuperato = Left(PercorsoPrincipale,xx)

sono riuscito a recuperare il percorso del file che mi interessava, ma la formula mi da errore quale potrebbe essere la formula corretta?

Codice: Seleziona tutto
            ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-12]," & PercorsoRecuperato & "[Presenze 2016.xlsm]" & MeseText & "'!R7C2:R59C34,DAY(R1C5)+2,FALSE)"
Win10 - Office 2016 Ita
saxas
Utente Junior
 
Post: 55
Iscritto il: 14/11/13 16:58

Re: Excel Determinare percorso corrente

Postdi Anthony47 » 17/08/16 15:10

Tramite "Left" la chiave e' il valore "xx"...
Io lo farei cosi':
Codice: Seleziona tutto
twbp = ThisWorkbook.Path
uPath = Left(twbp, InStrRev(twbp, "\"))


Per cui la formula diventerebbe:
Codice: Seleziona tutto
ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC[-12],'" & uPath & "[Presenze 2016.xlsm]" & MeseText & "'!R7C2:R59C34,DAY(R1C5)+2,FALSE)"


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

Re: Excel Determinare percorso corrente

Postdi saxas » 17/08/16 22:17

Perfetto, grazie mille.
Win10 - Office 2016 Ita
saxas
Utente Junior
 
Post: 55
Iscritto il: 14/11/13 16:58


Torna a Applicazioni Office Windows


Topic correlati a "Excel Determinare percorso corrente":


Chi c’è in linea

Visitano il forum: Gianca532011 e 57 ospiti