+ Reply to Thread
Results 1 to 4 of 4

VBA to copy from one sheet to another

Hybrid View

LKERN VBA to copy from one sheet to... 01-29-2021, 05:06 PM
Fluff13 Re: VBA to copy from one... 01-30-2021, 09:44 AM
LKERN Re: VBA to copy from one... 01-30-2021, 07:33 PM
Fluff13 Re: VBA to copy from one... 01-31-2021, 09:45 AM
  1. #1
    Forum Contributor
    Join Date
    11-08-2017
    Location
    Murfreesboro, TN
    MS-Off Ver
    MS 365
    Posts
    168

    VBA to copy from one sheet to another

    Hi.

    I am trying to piece a macro together from 2 different macros and only half of it is working.

    The first half works, but when it gets to the part where I want it to copy from the "Preferences" sheet, it doesn't do anything.

    What do I need to change to get that part to work?

    Sub LoadBackupFile_Prior()
    '   Loads file from V2-0-4-0 or before to V2-0-5-0
    '  
        
        Dim wkbTarget As Workbook, wkbSource As Workbook, rngSource As Range, c As Range, ws As Worksheet
        Set wkbTarget = ActiveWorkbook
             
        Application.ScreenUpdating = False
        
        With Application.FileDialog(msoFileDialogFilePicker)
            .Filters.Clear
            .Filters.Add "Excel Files", "*.xlsx"
            'Target
            .Title = "Choose: BACK-UP FILE you want to RESTORE"
            .InitialFileName = PathToFile("") & ("Backups") & "\"
            .Show
         If .SelectedItems.Count = 0 Then
            MsgBox "Restore Canceled."
            Exit Sub  'user canceled
        Else
        Dim x As VbMsgBoxResult
        x = MsgBox("Are you sure you want to Restore from saved file?" & vbCrLf & "" & vbCrLf & "This cannot be undone!" & vbCrLf & "" & vbCrLf & "All custom data will be replaced", vbYesNo + vbExclamation)
            If x = vbNo Then
            Exit Sub
        End If
        
            Set wkbSource = Workbooks.Open(.SelectedItems(1))
        
    'Allows code to continue if item can't be pasted because of a locked cell, etc.
        On Error Resume Next
        
    'Copy/Paste User Data from Source to Target
        For Each ws In wkbTarget.Sheets(Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6", "Sheet7"))
            Set rngSource = UsedRangeUnlocked(wkbSource.Sheets(ws.Name))
            If Not rngSource Is Nothing Then
               For Each c In rngSource.Areas
                    ws.Range(c.Address).Value = c.Value
               Next c
            End If
        Next ws
    'Turns error handling back on
        On Error GoTo 0
        
    'Copy-Paste Preferences Sheet
        wkbSource.Sheets("Preferences").Range("D20:E20").Value = wkbTarget.Sheets("Preferences").Range("D21:E21").Value
        wkbSource.Sheets("Preferences").Range("D21:E23").Value = wkbTarget.Sheets("Preferences").Range("D24:E26").Value
        wkbSource.Sheets("Preferences").Range("H21:H23").Value = wkbTarget.Sheets("Preferences").Range("H24:H26").Value
        wkbSource.Sheets("Preferences").Range("F27:F29").Value = wkbTarget.Sheets("Preferences").Range("F30:F32").Value
        wkbSource.Sheets("Preferences").Range("D30:E31").Value = wkbTarget.Sheets("Preferences").Range("D33:E34").Value
        wkbSource.Sheets("Preferences").Range("F32").Value = wkbTarget.Sheets("Preferences").Range("F35").Value
        wkbSource.Sheets("Preferences").Range("D33:E33").Value = wkbTarget.Sheets("Preferences").Range("D36:E36").Value
        wkbSource.Sheets("Preferences").Range("F36:F44").Value = wkbTarget.Sheets("Preferences").Range("F39:F47").Value
        wkbSource.Sheets("Preferences").Range("C36:C44").Value = wkbTarget.Sheets("Preferences").Range("C39:C47").Value
       
    
    'Clear Clipboard
        Application.CutCopyMode = False
        
        wkbSource.Close SaveChanges:=False
        
        ActiveWorkbook.Sheets("Home").Select
        Range("A1").Select
        
        ActiveWorkbook.Save
            
        MsgBox "Restore Successful." 
        
        End If
        End With
        
    End Sub

  2. #2
    Forum Guru
    Join Date
    09-10-2017
    Location
    Chippenham, England
    MS-Off Ver
    365
    Posts
    15,739

    Re: VBA to copy from one sheet to another

    I suspect that you have those lines the wrong way round, this
    wkbSource.Sheets("Preferences").Range("D20:E20").Value = wkbTarget.Sheets("Preferences").Range("D21:E21").Value
    is copying from the active workbook to the workbook the code opened, should it be
    wkbTarget.Sheets("Preferences").Range("D21:E21").Value = wkbSource.Sheets("Preferences").Range("D20:E20").Value

  3. #3
    Forum Contributor
    Join Date
    11-08-2017
    Location
    Murfreesboro, TN
    MS-Off Ver
    MS 365
    Posts
    168

    Re: VBA to copy from one sheet to another

    Quote Originally Posted by Fluff13 View Post
    I suspect that you have those lines the wrong way round, this
    wkbSource.Sheets("Preferences").Range("D20:E20").Value = wkbTarget.Sheets("Preferences").Range("D21:E21").Value
    is copying from the active workbook to the workbook the code opened, should it be
    wkbTarget.Sheets("Preferences").Range("D21:E21").Value = wkbSource.Sheets("Preferences").Range("D20:E20").Value
    LOL! I feel stupid. Yes, that worked. Thanks for your help

  4. #4
    Forum Guru
    Join Date
    09-10-2017
    Location
    Chippenham, England
    MS-Off Ver
    365
    Posts
    15,739

    Re: VBA to copy from one sheet to another

    You're welcome & thanks for the feedback.

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. VBA to copy all rows in any sheet with 1 in column A and copy entire row to specific sheet
    By Lazarus Rises in forum Excel Programming / VBA / Macros
    Replies: 10
    Last Post: 07-21-2020, 02:17 AM
  2. Replies: 19
    Last Post: 08-02-2018, 10:54 PM
  3. VBA code - copy info from sheet 1 to sheet 2 but NOT COPY BLANK CELLS
    By Yossarian1980 in forum Excel Programming / VBA / Macros
    Replies: 3
    Last Post: 05-14-2017, 06:09 PM
  4. Replies: 1
    Last Post: 02-09-2017, 05:36 AM
  5. Replies: 1
    Last Post: 02-09-2017, 05:30 AM
  6. Replies: 1
    Last Post: 01-07-2013, 12:23 AM
  7. Replies: 11
    Last Post: 10-14-2012, 01:03 PM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1