VBA - Paste Formats and Values

CC268

Active Member
Joined
Mar 7, 2016
Messages
328
EDIT: Nevermind - I figured it out. Used xlPasteAllUsingSourceTheme.


Hello,

I'm trying to paste a sheet from one workbook to another (in the exact same formatting). The code works really well, but I'm having difficulty getting it to paste in the exact formatting.

I tried xlPasteAll (gets me close but doesn't have the borders), xlPasteValues (not formatting).

Code:
Option Explicit

Sub Insert_Process_List()


Dim wb As Workbook, CopyFromWbk As Workbook, CopyToWbk As Workbook
Dim ShToCopy As Worksheet, targetSheet As Worksheet, sht As Worksheet
Dim Answer As VbMsgBoxResult


Set CopyToWbk = ActiveWorkbook


Answer = MsgBox("            Open Program Processes List", vbOKCancel, "Open")
If Answer = vbCancel Then End
Set wb = FileDialog_Open()
If wb Is Nothing Then End
    
Call Sheet_Selector
    
Set CopyFromWbk = wb
Set ShToCopy = CopyFromWbk.ActiveSheet
ShToCopy.Cells.Copy
Set targetSheet = CopyToWbk.Sheets.Add(After:=CopyToWbk.Sheets(CopyToWbk.Sheets.Count))
targetSheet.Range("A1").PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
targetSheet.Name = "PROCESSES"
CopyFromWbk.Close False


End Sub
 
Last edited by a moderator:

Excel Facts

Who is Mr Spreadsheet?
Author John Walkenbach was Mr Spreadsheet until his retirement in June 2019.
Try this.
Copy the sheet from one book to the other.

Code:
Sub Insert_Process_List()
    Dim wb As Workbook, CopyFromWbk As Workbook, CopyToWbk As Workbook
    Dim ShToCopy As Worksheet, targetSheet As Worksheet, sht As Worksheet
    Dim Answer As VbMsgBoxResult
    
    Set CopyToWbk = ActiveWorkbook
    Answer = MsgBox("            Open Program Processes List", vbOKCancel, "Open")
    If Answer = vbCancel Then End
    
    Set wb = FileDialog_Open()
    If wb Is Nothing Then End
    Call Sheet_Selector
        
    Set CopyFromWbk = wb
    Set ShToCopy = CopyFromWbk.ActiveSheet
    ShToCopy.Copy after:=CopyToWbk.Sheets(CopyToWbk.Sheets.Count)
    CopyToWbk.Sheets(CopyToWbk.Sheets.Count).Name = "PROCESSES"
    CopyFromWbk.Close False
End Sub
 
Upvote 0

Forum statistics

Threads
1,214,641
Messages
6,120,695
Members
448,979
Latest member
DET4492

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top