Saltar al contenido

Nuevo miembro - Ayuda con macros


Recommended Posts

publicado

Buenos dias, soy nuevo miembro y me da gusto formar parte de esta comunidad, espero pueden apoyarme con mi laborioso problema, lo detallo a continuación:

Tengo un archivo el cual contiene una lista de datos, lista de la cual se quiere lo siguiente:

 

1. Tomar de la hoja "Indice" un nombre de la casilla "Iniciativa" y crear una hoja con ese nombre

2. Tomar el formato de la hoja "Base" y pegarlo igual en esa nueva hoja

3. Que tome los datos de la hoja "Indice" de las casillas "iniciativa" y "encargado"  y los pegue en los campos correspondiente de la nueva hoja creada. (a fin de personalizar cada hoja nueva)

4. Establecer un vinculo que vaya de  "nueva hoja" en las casillas "H3" "H5" y "H6", hacia las casillas que correspondan con el dato en la hoja "indice" ejemplo: si cambio el dato de fecha de revision en la hoja de nombre "Donar", este cambio se refleje en la casilla de "fecha de revision" en la hoja "Indice". 

5. Por ultimo que se genere un hipervinculo en el campo "link" en la hoja "Indice" hacia la hoja correspondiente.

 

De todas la tareas, ya logre realizar 4 con distintas macros, pero no logre hacer que una hiciera todo, al tratar de hacerlo, me daba error, yo no escribir las macros, la recopile de diferentes medios, pero no logre hacer que funcionaran, las anexo por si acaso:

 

Generar carpetas con el nombre, pegar formato de base y cambiar un dato en cierta casilla

Sub Copia()    

Dim C As Range        

Application.ScreenUpdating = False        

For Each C In Range("A2", Range("A" & Rows.Count).End(xlUp))      

Sheets("Molde").Copy , Sheets(Sheets.Count)      

With ActiveSheet          

.Range("A5") = C: .Name = Left(C.Offset(, 1), 31)    

  End With  

 Next C        

Application.ScreenUpdating = True

End Sub

 

Generar hipervinculo

Sub crearIndice()

Dim hoja As Worksheet

On Error Resume Next

Set hoja = Worksheets("Indice")

On Error GoTo 0

 

If hoja Is Nothing Then

'La hoja Indice no existe - Crearla en primera posición

Worksheets.Add(Before:=Worksheets(1)).Name = "Indice"

Else

'La hoja Indice ya existe - Limpiarla

Worksheets("Indice").Cells.Clear

End If

'Insertar título a la hoja Indice

Worksheets("Indice").Range("A1").Value = "Indice"

End sub

 

 Espero poder contar con su ayuda, llevo dias detenido sin saber que o como hacerle :(

 

 

 

Programa Auditoria.xlsx

publicado
Ahora mismo, kuro.san dijo:

Buenos dias, soy nuevo miembro y me da gusto formar parte de esta comunidad, espero pueden apoyarme con mi laborioso problema, lo detallo a continuación:

Tengo un archivo el cual contiene una lista de datos, lista de la cual se quiere lo siguiente:

 

1. Tomar de la hoja "Indice" un nombre de la casilla "Iniciativa" y crear una hoja con ese nombre

2. Tomar el formato de la hoja "Base" y pegarlo igual en esa nueva hoja

3. Que tome los datos de la hoja "Indice" de las casillas "iniciativa" y "encargado"  y los pegue en los campos correspondiente de la nueva hoja creada. (a fin de personalizar cada hoja nueva)

4. Establecer un vinculo que vaya de  "nueva hoja" en las casillas "H3" "H5" y "H6", hacia las casillas que correspondan con el dato en la hoja "indice" ejemplo: si cambio el dato de fecha de revision en la hoja de nombre "Donar", este cambio se refleje en la casilla de "fecha de revision" en la hoja "Indice". 

5. Por ultimo que se genere un hipervinculo en el campo "link" en la hoja "Indice" hacia la hoja correspondiente.

 

De todas la tareas, ya logre realizar 4 con distintas macros, pero no logre hacer que una hiciera todo, al tratar de hacerlo, me daba error, yo no escribir las macros, la recopile de diferentes medios, pero no logre hacer que funcionaran, las anexo por si acaso:

 

Generar carpetas con el nombre, pegar formato de base y cambiar un dato en cierta casilla

Sub Copia()    

Dim C As Range        

Application.ScreenUpdating = False        

For Each C In Range("A2", Range("A" & Rows.Count).End(xlUp))      

Sheets("Molde").Copy , Sheets(Sheets.Count)      

With ActiveSheet          

.Range("A5") = ? .Name = Left(C.Offset(, 1), 31)    

  End With  

 Next C        

Application.ScreenUpdating = True

End Sub

 

Generar hipervinculo

Sub crearIndice()

Dim hoja As Worksheet

On Error Resume Next

Set hoja = Worksheets("Indice")

On Error GoTo 0

 

If hoja Is Nothing Then

'La hoja Indice no existe - Crearla en primera posición

Worksheets.Add(Before:=Worksheets(1)).Name = "Indice"

Else

'La hoja Indice ya existe - Limpiarla

Worksheets("Indice").Cells.Clear

End If

'Insertar título a la hoja Indice

Worksheets("Indice").Range("A1").Value = "Indice"

End sub

 

 Espero poder contar con su ayuda, llevo dias detenido sin saber que o como hacerle :(

 

 

 

Programa Auditoria.xlsx 21 kB · 0 downloads

Como dato extra, claramente al utilizar las macros antes listadas las trate de acoplar a mi archivo, las que pegue son las que encontre sin modificaciones.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.