Hola
La lógica es la siguiente
Tienes un control llamado 'drive1', otro llamado 'dir1' y otro llamado 'file1'
Cuando cambias de unidad debe cambiar dir1 (y ponerse en la carpeta raíz) y cuando cambias de carpeta debe cambiar file1 (y mostrarte lo que allí hay)
sub drive1_change()
dir1.path=drive1.drive 'poner el path de dir1 la unidad elegida
end sub
sub dir1_change()
file1.path=dir1.path 'poner el path de file1 la carpeta elegida
end sub
¡Ya ves que simple!
Un saludo