Hi All,
Below is the macro that will close existing open excel files and then copy paste values
Public Sub Macro1()
' Call another macro
Call test2
Windows("Book1.xlsm").Activate
Range("B1:B4").Select
Selection.Copy
Workbooks.Open Filename:="C:\Documents and Settings\S*****\My Documents\Macro\Book2.xlsx"
lMaxRows = Cells(Rows.Count, "A").End(xlUp).Row
Range("A" & lMaxRows + 1).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=True
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
Public Sub test2()
Dim path As Variant
Dim excelfile As Variant
Dim WkbkName As Object
path = "C:\Documents and Settings\S*****\My Documents\Macro\"
excelfile = Dir("*.xlsx")
Do While excelfile <> ""
Application.ScreenUpdating = False
For Each WkbkName In Application.Workbooks()
'Do not close the existing workbook and the one with the name "Book1.xlsm" but close every other excel file
If WkbkName.Name <> ThisWorkbook.Name And WkbkName.Name <> "Book1.xlsm" Then WkbkName.Close
Next
' If everything runs all right, exit the sub.
Exit Sub
Loop
End Sub
Below is the macro that will close existing open excel files and then copy paste values
Public Sub Macro1()
' Call another macro
Call test2
Windows("Book1.xlsm").Activate
Range("B1:B4").Select
Selection.Copy
Workbooks.Open Filename:="C:\Documents and Settings\S*****\My Documents\Macro\Book2.xlsx"
lMaxRows = Cells(Rows.Count, "A").End(xlUp).Row
Range("A" & lMaxRows + 1).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=True
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
Public Sub test2()
Dim path As Variant
Dim excelfile As Variant
Dim WkbkName As Object
path = "C:\Documents and Settings\S*****\My Documents\Macro\"
excelfile = Dir("*.xlsx")
Do While excelfile <> ""
Application.ScreenUpdating = False
For Each WkbkName In Application.Workbooks()
'Do not close the existing workbook and the one with the name "Book1.xlsm" but close every other excel file
If WkbkName.Name <> ThisWorkbook.Name And WkbkName.Name <> "Book1.xlsm" Then WkbkName.Close
Next
' If everything runs all right, exit the sub.
Exit Sub
Loop
End Sub