Originariamente inviato da kenny_it_it
No vabbè non mi sono spiegato bene, explorer.exe non è in vba quindi devi passare il percorso direttamente, non puoi mettere una variabile come parametro perchè il file explorer.exe non lo prevede,
Sei proprio sicuro?
Io invece dico che accetta anche le variabili, dato che il primo parametro della funzione Shell (pathname) è una stringa, per cui puoi metterci tutto quello che vuoi, purchè abbia un senso.
Il tuo errore semmai è usare le parentesi tonde senza includere la parola chiave Call , che infatti in questi casi diventa obbligatoria.
Per cui o le usi insieme a Call, oppure non le usi:
codice:
Shell "explorer.exe " & Chr(34) & Text1.Text & Chr(34), vbNormalFocus
Call Shell("explorer.exe " & Chr(34) & Text1.Text & Chr(34), vbNormalFocus)
Riguardo ai delimitatori Chr(34) è necessario metterli sempre perchè se il Path indicato contiene degli spazi la funzione Shell interpreta le stringhe successive come parametri, cosa che ovviamente non è.

EDIT:
Mi sorge il dubbio se VBA abbia la parola chiave Call, verifica caso mai!