
Proyecto en Visual Basic 5
Publicado por Carlos (9 intervenciones) el 24/03/2017 16:59:25
Buenos días
Necesito crear una aplicación donde pueda juntar las hojas de varios libros en un archivo nuevo.
Tenía una macro que hacía ese proceso.
Copíe las líneas de código de esa macro a un proyecto en Visual Basic 5 para que se ejecute presionando un botón.
Lamentablemente me sale un error:
Error 1004. Fallo en el método "ThisWorkbook" del objeto "_Global"
La línea de código que tiene el problema es:
Directorio = ThisWorkbook.Path
Las líneas de código del programa son:
Por favor, les agradecería encarecidamente puedan ayudarme. Es un asunto de suma urgencia.
Les adjunto los archivos correspondientes: La Macro y el Proyecto en Visual Basic.
Gracias
Necesito crear una aplicación donde pueda juntar las hojas de varios libros en un archivo nuevo.
Tenía una macro que hacía ese proceso.
Copíe las líneas de código de esa macro a un proyecto en Visual Basic 5 para que se ejecute presionando un botón.
Lamentablemente me sale un error:
Error 1004. Fallo en el método "ThisWorkbook" del objeto "_Global"
La línea de código que tiene el problema es:
Directorio = ThisWorkbook.Path
Las líneas de código del programa 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
' Dim Directorio, NombreLibro As String
Dim Directorio As String
Dim ContadorFicheros As String
Dim Unidos As Workbook
Dim K, NumHojas As Integer
Dim Libro As Workbook
Private Sub Command1_Click()
Directorio = ThisWorkbook.Path
ContadorFicheros = Dir$(Directorio + "\*.*")
'Crea el libro que contendrá a todos los demás
Application.SheetsInNewWorkbook = 1
Set Unidos = Application.Workbooks.Add
Do While ContadorFicheros <> "" And UCase(ContadorFicheros) <> "UNIR.XLS"
Workbooks.Open filename:=Directorio & "\" & ContadorFicheros
Set Libro = Workbooks(ContadorFicheros)
NumHojas = Libro.Worksheets.Count
For K = 1 To NumHojas
Libro.Worksheets(K).Copy after:=Unidos.Worksheets(Unidos.Worksheets.Count)
' NombreLibro = Replace(Libro.Name, ".xls", "")
' Unidos.Worksheets(Unidos.Worksheets.Count).Name = NombreLibro & "_" & Libro.Worksheets(K).Name
Unidos.Worksheets(Unidos.Worksheets.Count).Name = Libro.Worksheets(K).Name
Next K
Workbooks(ContadorFicheros).Close
ContadorFicheros = Dir$
Loop
Unidos.Worksheets(2).Select
With Unidos
.SaveAs filename:=Directorio & "\" & "unidos.xls"
.Close
End With
End Sub
Por favor, les agradecería encarecidamente puedan ayudarme. Es un asunto de suma urgencia.
Les adjunto los archivos correspondientes: La Macro y el Proyecto en Visual Basic.
Gracias
- UNIR_Macro-Excel.rar(18,8 KB)
- UNIR-_Visual-Basic.rar(13,6 KB)
Valora esta pregunta


0