Ayuda para activar y cerrar libros abiertos
Quisiera saber si alguien me podría ayudar. Yo tengo un código que me permite abrir desde una macro otro libro excel (como al abrir un documento con windows), pero luego de abrir el documento quiero ordenar unos valores copiarlos y luego pegarlos en el libro donde esta la macro. La parte que no puedo hacer es al abrir el segundo documento no se como cambiar de un libro a otro. Uso la función activate pero no me funciona. Debo decir que las rutas de cada archivo puede cambiar cada vez. Alguien me podría ayudar con eso gracias. Este es el código que hasta ahora tengo:
Sub HORIZONTALSODA()
Dim Filter As String, Title As String
Dim FilterIndex As Integer
Dim Filename As Variant
'ActiveWorkbook.SaveAs Filename:=WB1, FileFormat:=xlsmWorkbookNormal
' Set Dialog Caption
Title = "Select a File to Open"
' Select Start Drive & Path
ChDrive ("I")
ChDir ("I:\")
With Application
' Set File Name to selected File
Filename = .GetOpenFilename(Filter, FilterIndex, Title)
' Reset Start Drive/Path
ChDrive (Left(.DefaultFilePath, 1))
ChDir (.DefaultFilePath)
End With
' Exit on Cancel
If Filename = False Then
MsgBox "No file was selected."
Exit Sub
End If
' Open File
Workbooks.Open Filename
'
' Ordera_Copy_Data MacroHOR
'
'
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Range("A20").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
<span style="white-space: pre;"> </span>AQUI: quisiera activar de nuevo el primer libro excel (ya tengo otra macro para hacer lo que quiero con estos datos). Luego de copiarlos quisiera cerrar el libro2 de donde copie los datos y luego volver al libro original (donde esta la macro) y seguir trabajando
.......
Range("E12").Select
ActiveSheet. Paste
Sub HORIZONTALSODA()
Dim Filter As String, Title As String
Dim FilterIndex As Integer
Dim Filename As Variant
'ActiveWorkbook.SaveAs Filename:=WB1, FileFormat:=xlsmWorkbookNormal
' Set Dialog Caption
Title = "Select a File to Open"
' Select Start Drive & Path
ChDrive ("I")
ChDir ("I:\")
With Application
' Set File Name to selected File
Filename = .GetOpenFilename(Filter, FilterIndex, Title)
' Reset Start Drive/Path
ChDrive (Left(.DefaultFilePath, 1))
ChDir (.DefaultFilePath)
End With
' Exit on Cancel
If Filename = False Then
MsgBox "No file was selected."
Exit Sub
End If
' Open File
Workbooks.Open Filename
'
' Ordera_Copy_Data MacroHOR
'
'
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Range("A20").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
<span style="white-space: pre;"> </span>AQUI: quisiera activar de nuevo el primer libro excel (ya tengo otra macro para hacer lo que quiero con estos datos). Luego de copiarlos quisiera cerrar el libro2 de donde copie los datos y luego volver al libro original (donde esta la macro) y seguir trabajando
.......
Range("E12").Select
ActiveSheet. Paste
1 respuesta
Respuesta de caranbis
2