Prueba con esto
Private Sub borraArbol(ByVal sDirectorio As String)
Dim sFichero As String
'//Borra subirectorios
sFichero = Dir(sDirectorio & "\", vbDirectory)
While sFichero <> ""
If sFichero <> "." And sFichero <> ".." Then
If (GetAttr(sDirectorio & "\" & sFichero) And vbDirectory) = vbDirectory Then
borraArbol sDirectorio & "\" & sFichero
sFichero = Dir(sDirectorio & "\", vbDirectory)
Else
sFichero = Dir
End If
Else
sFichero = Dir
End If
Wend
'borra ficheros
sFichero = Dir(sDirectorio & "\")
While sFichero <> ""
Kill sDirectorio & "\" & sFichero
sFichero = Dir
Wend
'y se borra a si mismo
RmDir sDirectorio
End Sub