Excel - como unir estas dos macros

 
Vista:
sin imagen de perfil
Val: 44
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

como unir estas dos macros

Publicado por santi (24 intervenciones) el 07/11/2018 10:52:51
Hola,

Tengo estas dos macros que me funcionan, y las quiero unir en una sola que las ejecute seguidas. Las macros son:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Sub COPIAHOJA()
 
 
Dim Ruta As String, Nomb As String, Nomb2 As String, Exte As String, Hoja As String, YoSoy As String, Hoja2 As String, Hoja3 As String, Hoja4 As String
 
Ruta = "P:\BaseTecnico\1-DOCUMENTOS REFERENCIA\"
Nomb = "Master XXXX-M-XXX CLIENTE-OBRA"
Nomb2 = "Master XXXX-M-XXX CLIENTE-OBRA1"
Exte = ".xltm"
Hoja = "COM_EQUIPO"
Hoja2 = "COM_EQUIPOS"
Hoja3 = "COM_ADMIN"
Hoja4 = "COM ADMIN"
 
YoSoy = ActiveWorkbook.Name
 
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Workbooks.Add Template:=Ruta + Nomb + Exte
Windows(YoSoy).Activate
Sheets(Hoja).Select
Sheets(Hoja).Copy Before:=Workbooks(Nomb2).Sheets(3)
Range("A2:F419").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, _
SkipBlanks:=False, _
Transpose:=False
Sheets(Hoja2).Select
ActiveWindow.SelectedSheets.Delete
 
Windows(YoSoy).Activate
Sheets(Hoja4).Activate
Range("C10:D135").Select
Selection.Copy
Windows("Master XXXX-M-XXX CLIENTE-OBRA1").Activate
Sheets(Hoja3).Activate
Range("C10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
 
 
Application.ScreenUpdating = True
End Sub



Y la otra es:

1
2
3
4
5
6
7
8
9
Sub crearcarpeta2()
'Por.DAM
Ruta = "C:\Users\SantiQuirante\Desktop"
arch = Range("C3")
If Dir(Ruta & "\" & arch, vbDirectory) = "" Then
MkDir Ruta & "\" & arch
ActiveWorkbook.SaveAs Filename:=Range("C4")
End If
End Sub



Me facilitaría mucho el trabajo que se ejecutasen seguidas, en el orden en que las he escrito antes.

Por otro lado, la segunda macro, me crea la carpeta y el archivo en el escritorio y lo que necesitaría es que el archivo lo guardara dentro de la carpeta.



Gracias por la ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

como unir estas dos macros

Publicado por Andres Leonardo (1583 intervenciones) el 07/11/2018 14:54:41
crea un sub y llamalo a este en vez de copiar hoja...


1
2
3
4
5
sub unirmacros ()
  COPIAHOJA
  crearcarpeta2
 
end sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 44
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

como unir estas dos macros

Publicado por santi (24 intervenciones) el 07/11/2018 15:33:23
Gracias por la respuesta. Funciona bien.

Me puedes ayudar con la segunda parte de la pregunta. En la segunda macro, crea la carpeta y crea el documento, pero necesito que lo guarde dentro de la carpeta que acabamos de crear.



Gracias por la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

como unir estas dos macros

Publicado por Andres Leonardo (1583 intervenciones) el 08/11/2018 00:10:03
Intenta cambiando esto

1
ActiveWorkbook.SaveAs Filename:=Range("C4")

por esto


1
ActiveWorkbook.SaveAs Filename:= Ruta & "\" & arch & "\" Range("C4")  ' donde c4 se supone esta el nombre.xlsx del archivo

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 44
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

como unir estas dos macros

Publicado por santi (24 intervenciones) el 08/11/2018 11:39:24
Muchas gracias, funciona muy bien.

Solo una cosa más. En esta carpeta que acabamos de crear y donde hemos guardado el archivo excel tengo que pegar unas carpetas que están en una carpeta en el servidor. Como podría hacerlo.

Muchas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

como unir estas dos macros

Publicado por Andres Leonardo (1583 intervenciones) el 08/11/2018 15:00:40
vas copiar solo el contenido de las carpetas o vas a Copiar las Carpetas y su contenido.

Saludos


dos opciones .. podrias usar un Shell de DOS con el comando copy ... o en su defecto podrias utilizar los objetos FSO propios de VB para copia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 44
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

como unir estas dos macros

Publicado por santi (24 intervenciones) el 08/11/2018 15:05:49
Voy a copiar la carpeta y sus contenidos.

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar