Hi all i have the below code copies one sheet to anther sheet my problem is that when it copies it to the other sheet it loses the original table formatting from where its coming form any help is greatly appreciated
thanks
thanks
VBA Code:
Sub CopySheetFromClosedWorkbook()
Application.ScreenUpdating = False
Dim sourceBook As Workbook
Dim fname As String, SheetName As String, s As String
Dim ExistFile As Boolean, ExistSheet As Boolean
SheetName = "abcd"
fname = "C:\Users\jack\Documents\test\test123.xlsx"
ExistFile = (Dir$(fname) <> "")
If Not ExistFile Then
MsgBox "File '" & fname & "'" & vbCr & "not found", vbInformation
Exit Sub
End If
Set sourceBook = Workbooks.Open(fname)
With sourceBook
On Error Resume Next
s = .Sheets(SheetName).Name
ExistSheet = (s = SheetName)
On Error GoTo 0
If Not ExistSheet Then
MsgBox "Sheet '" & SheetName & "'" & vbCr & "not found", vbInformation
Exit Sub
End If
Application.ScreenUpdating = False
Call SelectWorkbook1234
.Sheets(SheetName).Copy After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
.Close False
End With
End Sub
VBA Code:
Sub SelectWorkbook1234()
Application.ScreenUpdating = False
Dim wb As Workbook
For Each wb In Workbooks
If Left(UCase(wb.Name), InStrRev(wb.Name, ".")) Like "[A-Z][A-Z]###-######." Then
wb.Activate
ElseIf Left(UCase(wb.Name), InStrRev(wb.Name, ".")) Like "[A-Z][A-Z]###-[A-Z]#####." Then
wb.Activate
ElseIf Left(UCase(wb.Name), InStrRev(wb.Name, ".")) Like "[A-Z][A-Z][A-Z][A-Z]#-######." Then
wb.Activate
Exit For
End If
Next wb
End Sub