Cómo funciona JustAnswer:
  • Preguntar a un Experto
    Los expertos tienen muchos conocimientos valiosos y están dispuestos a ayudar en cualquier pregunta. Credenciales confirmadas por una empresa de verificación perteneciente a Fortune 500.
  • Obtener una respuesta profesional
    Por correo electrónico, mensaje de texto o notificación mientras espera en su sitio. Haga preguntas de seguimiento si lo necesita.
  • Garantía de satisfacción plena
    Garantizamos tu satisfacción.
Formule su propia pregunta a Jose Mari
Jose Mari
Jose Mari, Grado Superior
Categoría: Informática
Clientes satisfechos: 526
Experiencia:  Técnico informático y Programador.
57600787
Escriba su pregunta sobre Informática aquí...
Jose Mari está en línea ahora

como puedo titular o crear una carpeta dandole nombre desde

Pregunta del cliente

como puedo titular o crear una carpeta dandole nombre desde una hoja de calculos (columna)
Enviada: hace 5 año.
Categoría: Informática
Experto:  Rubén Díaz escribió hace 5 año.

Bienvenido al servicio de asistencia informática de Just answer.

 

Hola, buenas tardes,

 

 

Imaginemos que tenemos estos datos en nuestra hoja de cálculo:



Si queremos crear tantas carpetas como nombres hayamos incluido en nuestra hoja de excel, tan solo tendremos que ejecutar este macro:

Sub Crear_carpetas()
'Ocultamos el procedimiento
Application.ScreenUpdating = False
'llamamos al objeto FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
'pasamos a una variable, la ruta donde se encuentra el
'fichero de excel donde se está ejecutando este código
ruta = ActiveWorkbook.Path
'seleccionamos la primera celda que contiene
'los nombres de las carpetas (suponemos que es A4)
Range("A4").Select
'recorremos toda la columna, hasta que encuentre una fila vacía, y
'por cada fila con texto, crearemos una carpeta con el nombre
'de ese mismo texto
Do While Not IsEmpty(ActiveCell)
'si el fichero no existe, entonces lo creamos
If Not fso.FolderExists(ruta & "\" & ActiveCell.Value) Then
fso.CreateFolder (ruta & "\" & ActiveCell.Value)
End If
'pasamos a la fila siguiente, y volvemos a recorrer el bucle
ActiveCell.Offset(1, 0).Select
Loop
'limpiamos el objeto
Set fso = Nothing
'Mostramos el procedimiento
Application.ScreenUpdating = True
End Sub


Ejecutando el macro del ejemplo, se nos habrán creado 3 directorios en la misma carpeta donde tengamos guardado el fichero con el macro, y esos directorios se llamarán: pepe, luis, y antonio.

Las limitaciones son dos:

1.- Los nombres que tengamos en la hoja de excel (en nuestro ejemplo tenemos 3 nombres de personas), deben estar de forma continua, es decir, sin filas en blanco entre ellos.

2.- Las carpetas se crean en el mismo directorio donde se encuentre el fichero donde vas a ejecutar el macro, por lo que deberás tenerlo previamente guardado en tu ordenador, ya sea en tu carpeta de Mis Documentos, o donde desees. Será en ese directorio donde se creen esas nuevas carpetas.

 

Un saludo.

Cliente: escribió hace 5 año.
conlleva muchas codificaciones y no soy un experto pero podrias indicarlo con un demo o tutorial
Experto:  Jose Mari escribió hace 5 año.
Buenos días,

Para hoy por la tarde le indico un enlace donde poder descargarse un ejemplo totalmente gratuito.

Para cualquier tipo de aclaración o duda, por favor, póngase en contacto conmigo. Si usted cree que la respuesta aportada es válida, por favor, marque la respuesta como correcta.

Quedando a la espera de recibir noticias suyas, reciba un saludo,
Jose Mari, Grado Superior
Categoría: Informática
Clientes satisfechos: 526
Experiencia: Técnico informático y Programador.
Jose Mari y otros otros especialistas en Informática están preparados para ayudarle
Experto:  Jose Mari escribió hace 5 año.
Buenos días,

Este es el enlace donde se puede descargar un ejemplo:
http://www.megaupload.com/?d=FWTZYVWW

Para cualquier tipo de aclaración o duda, por favor, póngase en contacto conmigo. Si usted cree que la respuesta aportada es válida, por favor, marque la respuesta como correcta.

Quedando a la espera de recibir noticias suyas, reciba un saludo,