Copying range from selected workbook to open workbook

J

John

I am using the following to create worksheets but each month, I need to
carry forword the last dated information to the new month. The last
information will be a constant range on the last week of the month.
(.count -1 ). The copy to is a constant range on the first worksheet. I
have "highlighted" the area I need help on. Everythng else works. I can
select the file but it does not open. The file does not need to be opened
per say, just that range need to copied and pasted in to the current
Worksheet.

Thanks for the help!
John

Private Sub Copysheet_Click()
Dim iReply As Integer
iReply = MsgBox(Prompt:="Do you want to start a new week?", _
Buttons:=vbYesNoCancel, Title:="Copy Sheet")
If iReply = vbYes Then
Dim wSht As Worksheet
Dim shtName As String
Sheets("master").Range("AG1").Value = InputBox(("Enter the Start
Date: (mm/dd/yy)"), "Week starting date")
shtName = Sheets("master").Range("AH1")
For Each wSht In Worksheets
If wSht.Name = shtName Or shtName = "" Or IsNumeric(shtName)
Then
MsgBox "Sheet already exists or name is invalid",
vbInformation
Exit Sub
End If
Next
Dim CntSheets, CntSheetsPrev As Long
CntSheets = Application.Sheets.Count
CntSheetsPrev = Application.Sheets.Count - 1

If CntSheets = 1 Then
Sheets(1).Copy before:=Sheets(1)
Sheets(1).Name = shtName
Sheets(1).Range("B6").Select

'***************************************
Dim FName As Variant
FName = Application.GetOpenFilename("Excel Workbooks (*.xls),
*.xls")
Application.Range("B216:Y242").Select
Selection.Copy
Sheets(CntSheets).Select
Application.Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
'*******************************************
Else
Sheets("master").Copy After:=Sheets(CntSheetsPrev)
shtName = Sheets("master").Range("AH1")
Sheets(CntSheets).Name = shtName
Sheets(CntSheetsPrev).Select
Range("B216:Y242").Select
Selection.Copy
Sheets(CntSheets).Select
Application.Range("B6").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False

End If

ElseIf iReply = vbNo Then
MsgBox "Oh Bummer"
Else 'They cancelled (VbCancel)
Exit Sub
End If
Sheets(CntSheets).Select
End Sub
 
J

Joel

When you open the workbook the focus changes from the origianl workbook to
the open workbook. Your problem is you not referencing the old workbook.
Try this new code

'***************************************
Dim FName As Variant
oldworkbookname = thisworkbook.name
FName = Application.GetOpenFilename( _
"Excel Workbooks (*.xls), *.xls")
workbooks(oldworkbookname).worksheets(shtname). _
Range("B216:Y242").copy _
destination:=Sheets(CntSheets).Range("B6")

'*******************************************
 
J

John

Thanks Joel. That did it.

John
Joel said:
When you open the workbook the focus changes from the origianl workbook to
the open workbook. Your problem is you not referencing the old workbook.
Try this new code

'***************************************
Dim FName As Variant
oldworkbookname = thisworkbook.name
FName = Application.GetOpenFilename( _
"Excel Workbooks (*.xls), *.xls")
workbooks(oldworkbookname).worksheets(shtname). _
Range("B216:Y242").copy _
destination:=Sheets(CntSheets).Range("B6")

'*******************************************
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top