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
Bookmarks