Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi,
I am getting a "PasteSpecial method of Range class failed" message when I run the following code. Could it have something to do with the use of the code name? Thanks Louis ----- Sub timesheetGenerate() Dim LOldWb As Workbook Dim LNewWb As Workbook Dim x As Name Dim wks As Worksheet Dim CodeNameString As String 'Open existing timesheet :-) Set LOldWb = Workbooks.Open(Filename:=UserForm1.TextBox1.Value) 'Add new workbook Set LNewWb = Workbooks.Add '/// 'Copy sheet one of existing timesheet LOldWb.Activate For Each wks In LOldWb.Worksheets CodeNameString = LCase(wks.CodeName) If CodeNameString = "Sheet1" Then LOldWb.Sheets(CodeNameString).Visible = True LOldWb.Sheets(CodeNameString).Select Cells.Select '///replace formula with string Selection.Replace What:="=", Replacement:="$$$$$=", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False '///copy all Selection.Copy End If Next wks '/// 'Paste sheet one to new timesheet LNewWb.Activate For Each wks In LNewWb.Worksheets CodeNameString = wks.CodeName If CodeNameString = "Sheet1" Then LNewWb.Sheets(CodeNameString).Visible = True LNewWb.Sheets(CodeNameString).Select Cells.Select '///paste all (values) Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False '///replace string with formula Selection.Replace What:="$$$$$=", Replacement:="=", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End If Next wks '\\\\ ActiveWorkbook.SaveAs Filename:=UserForm1.TextBox2.Value '\\\\ ActiveWorkbook.Close '\\\\ LOldWb.Activate ActiveWorkbook.Close End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
hi,
just a guess but instead of cells.select before the paste, try cells(1,1).select not sure if it will work but that is all i can think of. is that the only line the compiler don't like? Regards FSt1 "ll" wrote: Hi, I am getting a "PasteSpecial method of Range class failed" message when I run the following code. Could it have something to do with the use of the code name? Thanks Louis ----- Sub timesheetGenerate() Dim LOldWb As Workbook Dim LNewWb As Workbook Dim x As Name Dim wks As Worksheet Dim CodeNameString As String 'Open existing timesheet :-) Set LOldWb = Workbooks.Open(Filename:=UserForm1.TextBox1.Value) 'Add new workbook Set LNewWb = Workbooks.Add '/// 'Copy sheet one of existing timesheet LOldWb.Activate For Each wks In LOldWb.Worksheets CodeNameString = LCase(wks.CodeName) If CodeNameString = "Sheet1" Then LOldWb.Sheets(CodeNameString).Visible = True LOldWb.Sheets(CodeNameString).Select Cells.Select '///replace formula with string Selection.Replace What:="=", Replacement:="$$$$$=", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False '///copy all Selection.Copy End If Next wks '/// 'Paste sheet one to new timesheet LNewWb.Activate For Each wks In LNewWb.Worksheets CodeNameString = wks.CodeName If CodeNameString = "Sheet1" Then LNewWb.Sheets(CodeNameString).Visible = True LNewWb.Sheets(CodeNameString).Select Cells.Select '///paste all (values) Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False '///replace string with formula Selection.Replace What:="$$$$$=", Replacement:="=", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End If Next wks '\\\\ ActiveWorkbook.SaveAs Filename:=UserForm1.TextBox2.Value '\\\\ ActiveWorkbook.Close '\\\\ LOldWb.Activate ActiveWorkbook.Close End Sub |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Your Cells.Select is selecting all the cells on your workbook. It is
impossible to paste to it. Select just one cell and do the paste. Bob Flanagan Macro Systems http://www.add-ins.com Productivity add-ins and downloadable books on VB macros for Excel "ll" wrote in message oups.com... Hi, I am getting a "PasteSpecial method of Range class failed" message when I run the following code. Could it have something to do with the use of the code name? Thanks Louis ----- Sub timesheetGenerate() Dim LOldWb As Workbook Dim LNewWb As Workbook Dim x As Name Dim wks As Worksheet Dim CodeNameString As String 'Open existing timesheet :-) Set LOldWb = Workbooks.Open(Filename:=UserForm1.TextBox1.Value) 'Add new workbook Set LNewWb = Workbooks.Add '/// 'Copy sheet one of existing timesheet LOldWb.Activate For Each wks In LOldWb.Worksheets CodeNameString = LCase(wks.CodeName) If CodeNameString = "Sheet1" Then LOldWb.Sheets(CodeNameString).Visible = True LOldWb.Sheets(CodeNameString).Select Cells.Select '///replace formula with string Selection.Replace What:="=", Replacement:="$$$$$=", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False '///copy all Selection.Copy End If Next wks '/// 'Paste sheet one to new timesheet LNewWb.Activate For Each wks In LNewWb.Worksheets CodeNameString = wks.CodeName If CodeNameString = "Sheet1" Then LNewWb.Sheets(CodeNameString).Visible = True LNewWb.Sheets(CodeNameString).Select Cells.Select '///paste all (values) Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False '///replace string with formula Selection.Replace What:="$$$$$=", Replacement:="=", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End If Next wks '\\\\ ActiveWorkbook.SaveAs Filename:=UserForm1.TextBox2.Value '\\\\ ActiveWorkbook.Close '\\\\ LOldWb.Activate ActiveWorkbook.Close End Sub |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks,
I've altered the cells.select to cells(1,1).select, and, while I can see that the desired selection and replacement occurs, the copy doesn't occur, for some reason: Sub timesheetGenerate() Dim fillamt As Long Dim origDate As Date Dim LOldWb As Workbook Dim LNewWb As Workbook Dim x As Name Dim wks As Worksheet Dim CodeNameString As String Const xlPasteAll = -4104 Const xlNone = -4142 Const xlByRows = &H1 'var xlPart = 0x2 'Open existing timesheet Set LOldWb = Workbooks.Open(Filename:=UserForm1.TextBox1.Value) LOldWb.Activate 'Add new workbook Set LNewWb = Workbooks.Add '/// 'Copy sheet one of existing timesheet LOldWb.Activate For Each wks In LOldWb.Worksheets CodeNameString = LCase(wks.CodeName) If CodeNameString = "sheet1" Then LOldWb.Sheets(CodeNameString).Visible = True LOldWb.Sheets(CodeNameString).Select Cells(1, 1).Select '///replace formula with string Selection.Replace What:="=", Replacement:="$$$$$=", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Selection.Copy End If Next wks '/// 'Paste sheet one to new timesheet LNewWb.Activate For Each wks In LNewWb.Worksheets CodeNameString = wks.CodeName If CodeNameString = "Sheet1" Then LNewWb.Sheets(CodeNameString).Visible = True LNewWb.Sheets(CodeNameString).Select Cells(1, 1).Select '///paste all (values) Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False '///replace string with formula Selection.Replace What:="$$$$$=", Replacement:="=", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False End If Next wks '\\\\Sheets("Sheet1").Select For Each wks In LNewWb.Worksheets CodeNameString = wks.CodeName If CodeNameString = "sheet1" Then LNewWb.Sheets(CodeNameString).Visible = True LNewWb.Sheets(CodeNameString).Select ' Loop through all of the defined names in the active ' workbook. For Each x In LOldWb.Names ' Add each defined name from the active workbook to ' the target workbook ("Book2.xls" or "Book2.xlsm"). ' "x.value" refers to the cell references the ' defined name points to. LNewWb.Names.Add Name:=x.Name, _ RefersTo:=x.Value Next x End If Next wks '\\\\ ActiveWorkbook.SaveAs Filename:=UserForm1.TextBox2.Value '\\\\ ActiveWorkbook.Close '\\\\ LOldWb.Activate ActiveWorkbook.Close End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Problems with copying and pasting dates from one worksheet to anot | Excel Discussion (Misc queries) | |||
Pasting problems | Excel Discussion (Misc queries) | |||
Pasting problems | Excel Programming | |||
Excel - Word: Problems copying/pasting shapes | Excel Programming | |||
Problems pasting images into Excel | Excel Discussion (Misc queries) |