VBA - Paste Method Of Range Class Failed
Dec 29, 2011
I try to copy some cells from one workbook to another but keep getting the error message "paste method o range class failed."
I tried different ways to paste, such as
range("D157").PasteSpecial Paste:=xlPasteValues
or
range("D157","D330).PasteSpecial Paste:=xlPasteValues
and got the same result.
-----------------------------------------------------------
If Dir(sourcePath & Format(voucherDate - 1, "dd/mm/yyyy") & ".xlsm") "" Then
Workbooks.Open Filename:=sourcePath & Format(voucherDate-1, "dd/mm/yyyy") & ".xlsm"
Range("H157", "H330").Copy
ActiveWorkbook.Close
Cells(157, 4).PasteSpecial Paste:=xlPasteValues
View 7 Replies
ADVERTISEMENT
Jan 29, 2014
This script is resulting in:
Run-time error '1004'
PasteSpecial method of Range class failed.
[Code] .....
It highlights
[Select Code] .....
when I hit debug.
View 2 Replies
View Related
Aug 21, 2014
I have an application I just built last week that seemed to be working fine. It's purpose is simple. It allows the user to select multiple .rtf files from a network drive, and then it loops through them, opens them up one at a time, copies the entire contents into a "temp" sheet in the excel workbook, then copies certain data from the temp tab to the next two columns in the main "data" tab of the worksheet, deletes the temp sheet, and then repeats the process for each selected .rtf file. Finally , it does some formatting of the "data" tab. All in all, it works quite well. Or at least, it DID.
VB:
Sub CopyRTFDocToTemp()
Dim WordApp As Object
Set WordApp = CreateObject("Word.Application")
With WordApp
[Code] .....
As of last night, we started getting various errors.
"Run-time error '1004': Paste Method of Worksheet class failed" error messages occasionally. The frequency seems to have increased.
We were also getting an error message that reads "Microsoft Excel is waiting for another application to complete an OLE action" error messages.
Then when I stepped through the code, I was getting an error message that read [filename I'm trying to open] "is locked for editing by" [me]. "Do you want to Open a Read Only copy, Create a local copy and merge your changes later, or Receive notification when the original copy is available"
I suspected two issues
1. The macro is not successfully opening the source file before it tries to copy it, so there is nothing to paste into Excel
2. The word file was not closed the LAST time I ran the app, so the file is getting stuck open, and I have no way to manually close it.
Finally, I rebooted the PC, and added code (activedocument.close) to close the word app after copying the contents of the rtf file
VB:
Sub CopyRTFDocToTemp()
Dim WordApp As Object
Set WordApp = CreateObject("Word.Application")
With WordApp
[Code] ....
I'm considering adding a wait loop to ensure that the app has actually opened a copy of the rtf file, so it has something to copy, but I'm unsure what variable to check with that loop.
View 2 Replies
View Related
Jan 29, 2009
My spreadsheet has a grouped graphic that I need to repeat in a variable number of rows. I wrote a macro that copies the grouped graphic from above and pastes and positions it in the newly inserted row.
It works great when I use F8 to step thru, but if I try to actually run the macro, I get an "Paste Method of worksheet class failed." error.
Sub InsertEmployees()
Range("B18").Select
Selection.EntireRow.Copy
Selection.EntireRow.Insert Shift:=xlDown
ActiveSheet.Shapes("Group 129").Copy
Application.CutCopyMode = False
ActiveSheet.Paste
End Sub
View 9 Replies
View Related
Sep 30, 2006
I am working on a file which is a log of all the requests we send out to our vendors. We regularly need to re-send these requests to remind them they haven't responded yet, so I am working on a macro which takes the info from the log and re-populates the request form so everything doesn't have to be re-typed every time. I've added a MsgBox as a double-check to force people to confirm they want to re-send the request.
My problem is that if you hit "No" on the MsgBox, then try to run the code again, it gives me a Run-time Error 1004 saying "Paste method of Worksheet class failed". Can someone look at my code and see if you can tell me why it works the first time but not the second?
Sub RegenerateRequest()
If ActiveCell.Column = 1 And ActiveCell.Row > 7 Then
Application.Run "LogUnprotect"
ActiveCell.EntireRow.Copy
Sheets("Regenerate Request").Activate
Application.Run "RegenFormUnprotect"
Range("A40").Select
ActiveSheet.Paste 'this is the line the debugger highlights.............
View 3 Replies
View Related
Jul 31, 2007
I am trying to filter and copy from masterlist to wholesalecertified. The data is actually pasted to WholesaleCertified, however, I got error 1004.
Sub Refresh()
With Application
.ScreenUpdating = False
.DisplayAlerts = False
Sheets("WholesaleCertified").Select
Cells.Select
Selection.ClearContents
Sheets("MasterList").Select................
View 9 Replies
View Related
Jun 6, 2005
Very new to VBA and having trouble with a simple macro running in 2003 that copies and pasts to another worksheet. Code as follows:
Private Sub CopyResults_Click()
'Select the filtered data and copy it
Range("A23").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Range("F19").Select
' Open the template and copy in the data
Workbooks.Open Filename:="C:Athens Verification DataTemplatesVerification Template.xls"
Workbooks("Verification Template.xls").Activate
ActiveSheet.Range("A1").Select
ActiveSheet.Paste
ActiveSheet.Range("A1").Select
Application.CutCopyMode = False
End Sub
When I run CopyResults, the sheet is opened and the data copied correctly, but I get a runtime error 1004 past method of worksheet class failed, with the line 'ActiveSheet.Paste' highlighted. Don't get this when I run the same macro in 2000.
View 14 Replies
View Related
Apr 29, 2009
I have the following macro who now return a runtime error 1004, paste method of worksheet class failed.
I don't know how to change it to make it work.
Sub Paste_TOP()..
View 9 Replies
View Related
Aug 29, 2002
i just figured out that when you change sheets too often in VBA and get an "Activate Method Of Range Class Failed" or a "Select Method Of Range Class Failed" etc, simply retype the sheets command before it
for example :
Sheets("Work1").Select
Range("A1:D50").Select
OR
Sheets(Work1").Range("A1:D50").Select
this code in VBA, if used too often or the mentioned sheet is not the currently selected sheet in a Sub, will cause errors, and to correct this, simply type
Sheets("Work1").Select
Sheets("Work1").Range("A1:D50").Select
this makes sure that the sheet is selected before running any other range/sheet type commands.
View 2 Replies
View Related
Oct 31, 2007
I have created a spreadsheet that is 38mb and needed to size it down. I recorded the following macro to do this. This essentialy jut copies the top line of the relevant columns on each page and then copies the formulas down, calculates, and then pastes just the values of these calculations, thereby reducing the sheet to a third of its size. The macro works if I run it from the macro option on the toolbar, but when I assign it to a command button I keep getting ' select method
View 13 Replies
View Related
Mar 7, 2014
So below is the VBA ....
Sub quicker_Option()
Dim toDel(), i As Long
Dim RNG As Range, Cell As Long
Set RNG = Range("d2:d2500")
For Cell = 1 To RNG.Cells.Count
If Application.CountIf(RNG, RNG(Cell)) > 1 Then
[Code] .......
This is the line to debug it says
Range(toDel(i)).EntireRow.Copy ("Sheet2")
View 2 Replies
View Related
Apr 2, 2014
Code is attempting to autofilter any rows where text does not contain "0200" as indicated below, and delete all those rows. When reaching the line of code below the macro bombs and I get a "AutoFilter method of Range class failed" error message. Why that line is not being recognized.
Const strTOFIND As String = "0200"
Dim lngLastRow As Long
Dim rngToCheck As Range
'Application.ScreenUpdating = False
With Sheets("Platform")
[Code] ........
View 2 Replies
View Related
Jan 20, 2009
Set rngData = wksData.UsedRange
With rngData
' clear existing filter
.AutoFilter
' filter on Owner col F
.AutoFilter field:=6, Criteria1:=varOwner
' check for count > 1 since heading row should always be visible
If .Columns(1).SpecialCells(xlCellTypeVisible).count > 1 Then
.SpecialCells(xlCellTypeVisible).Copy rngOutput
End If
'clear filter
.AutoFilter
End With
Set rngOutput = wksSell.Range("A1")
It fails on the line highlighted in red, and from searches on this forum and google I think I need to specify more exactly which sheet it is. something like wksdata.SpecialCells.... but this doesn't work.
View 9 Replies
View Related
Oct 7, 2003
When the public routine ChangeColours is called from a Command button called ButtonX on SheetX it works fine. But a command button called ButtonY on SheetY cannot run it. When ButtonY is clicked, the error is at the line :
Sheets("SheetX").Cells(4,5).Select
Where it says that "Select Method of Range class failed"
Private Sub ButtonX_Click()
Call ChangeColours(0)
End Sub
Private Sub ButtonY_Click()
Call ChangeColours(0)
End Sub...............
View 9 Replies
View Related
Oct 3, 2007
I have written some code to move data from one sheet to another. Since the from sheet has formulas, I use the PasteSpecial command. I have used code like this for years, and all the sudden, this starts breaking. And, here is the fun part, I run the code and it works sometimes. I never know when it will fail. It is so random. This is killing me. I have tried to create objRange object and assign them and it works sometime and fails others. Also, I tried adding the line Worksheets("Daily Dashboard"). Range ("C72").Select before the first PasteSpecial as to select the cell first before pasting. Then I get the "Select method of range class failed".
Lastly, I tried copying the code from behind a worksheet into a new module. The code is triggered by a button on the first worksheet. Still fails.
Private Sub cmdGetData_Click()
[Result1].Value = ""
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Worksheets("Calculation Sheet").Range("A39:A62").Copy
Worksheets("Daily Dashboard").Range("C72").PasteSpecial xlPasteValues
Worksheets("Calculation Sheet").Range("C39:C62").Copy
Worksheets("Daily Dashboard").Range("E72").PasteSpecial xlPasteValues
[Result1].Value = "Complete"
Application.Calculation = xlCalculationAutomatic
Sheets("Control Panel").Select
Application.ScreenUpdating = True
End Sub
View 7 Replies
View Related
Mar 10, 2007
I'm getting "1004 select method of range class failed" on the Range statement below. This code is preceded by a number of range selection and formula-setting statements, nothing unusual.
Worksheets("summary").Select
Range("B5").Select
View 13 Replies
View Related
Oct 22, 2008
I have a macro that opens a specified woorkbook that changes every month. There are formulas which are pasted to range I1 of the new workbook to calculate the totals on this sheet. Everytime i run the code though, I get an error that says "Select method of range class failed" and Range("I1").Select is apparently the error.
View 7 Replies
View Related
May 22, 2009
I m trying to use some simple macro recording for a command button click. I keep getting the "Select method of range class failed" error from the following code.
From reading the forum it seems to be a common mistake by newbies, couldnt work it out for myself though...my command button is located on a different sheet to where the select function must work...from the code you can see that there are around 20 sheets that need to be used from the one command button...
Private Sub CommandButton1_Click()
Sheets("Treviso").Activate
Range("G21:T21").Select
Selection.ClearContents
Range("G39:T39").Select
Selection.ClearContents
Range("G61:T61").Select
Selection.ClearContents
Range("G77:T77").Select
Selection.ClearContents.....
View 3 Replies
View Related
Jan 27, 2013
Why I'm getting the above error when I try to copy and sort data into a workbook?
I'm using this:
Code:
Sub GetData1()
Dim SaveDriveDir As String, MyPath As String
Dim FName As Variant
SaveDriveDir = CurDir
MyPath = Application.DefaultFilePath 'or use "C:Data"
[Code] .......
To import the data and then these lines to copy the unique records to a range:
Code:
Sheet33.Range("C1").Select
Sheet33.Range("C1:C1000").AdvancedFilter Action:=xlFilterCopy,
CopyToRange:=Sheet33.Range("S1"), Unique:=True
But the above lines are highlighted when I get the error.
View 1 Replies
View Related
Sep 6, 2013
I am trying to copy set of values in a particular row as per the condition (Value in cell (1,2) = -40). find the code below:
Sub Mohan()
Dim Row As Integer
Sheet1.Activate
[Code]....
View 6 Replies
View Related
Jul 23, 2014
Macro has been working fine for ages suddenly have received this consistently?
It's not debugging to allow me to see the route of the problem.
i've googled and seen it's normally a use of select but can't see any issue in my code or understand why it would work for months and now stop.
note: also after i click Ok on the error the macro seems to continue running and data is pulled through. ...but this message comes up every time so it's questioning the reliability of the data it's pulling.
View 4 Replies
View Related
Apr 12, 2007
Check Personnel Number in Data Tab with Personnel Numbers in Insert Tab. If they match copy that row from Insert Tab and paste it into the next available row in the Moves Tab.
Column Descriptions: Name, Age, Phone Number, Personnel Number, Notes
Worsheet Tabs: Data, Insert, Moves ....
View 9 Replies
View Related
May 5, 2008
I found the following for something that I was searching for on the web.
Selection.Columns.PasteSpecial Paste:=8
My question is two fold, 1) What does the '8' mean? 2) Is there someplace that tells me what other numbers for PasteSpecial mean?
This solved a problem that I had when trying to do a PasteSpecial for Column Width. What I had been trying was the following:
Selection.PasteSpecial Paste:=xlColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
But I would get the error run time error '1004', PasteSpecial method of Range class failed.
View 9 Replies
View Related
Jul 8, 2006
I encounter error 1004 and copy method of range class failed in this VB routine:
fltPreviousValue = Range(varPreviousCell).Value
fltCurrentValue = Range(varCurrentCell).Value
fltNextValue = Range(varNextCell).Value
Range(varCurrentCell).Activate
If fltCurrentValue = RangeMax(ActiveCell.Offset(-2, 0), ActiveCell.Offset(2, 0)) And _
Range(varPreviousCell).Value < Range(varCurrentCell).Value And _
Range(varCurrentCell).Value >= Range(varNextCell).Value Then
Range(varCurrentCell).Select
Selection.Copy (ActiveCell.Offset(0, 6))
I am using Excel 2000 and the error occured at the last command, the bolded one.
View 9 Replies
View Related
Feb 9, 2012
I'm attempting to write an OutLook 2007 macro that extracts excel spreadsheets from incoming email and saves them as a .csv file. Before saving the file I need to delete the header row. I am getting a "Error 1004 - Delete method of range class failed" error when running this code.
Here is the code: (the bolded line is where I'm getting the error)
Public Sub ConvertToCsv2()
Dim xls As Excel.Application
Dim oWB As Excel.Workbook
Dim tmp As String
Dim ws As Excel.Worksheet
[code]....
View 7 Replies
View Related
Apr 6, 2012
My code is :
Public Const GRAPH_PutData_COL1 = "A"
Public Const GRAPH_PutData_COL2 = "B"
Range(GRAPH_PutData_COL1 & "1").Sort Key1:=Range(GRAPH_PutData_COL2 & "1"), _
Order1:=xlAscending, _
DataOption1:=xlSortTextAsNumbers
it is showing error, "sort method of range class failed error 1004"
Above error only showing when first record is empty...
View 2 Replies
View Related
Aug 22, 2012
When I try to run following code, I get error
Run-time error '1004': Select method of Range class failed
Workbooks("Book1").Worsheets("Sheet1").Range("A1").select
however if I split the code like below it works perfectly
Workbooks("Book1").Worsheets("Sheet1").Select
Range("A1").select
View 3 Replies
View Related
Oct 11, 2012
I have used the macro recorder to generate the select range and clear part of the following macro.
Private Sub CommandButton2_Click()
Dim test As Worksheet
Sheets("Industry").Copy After:=Sheets(Sheets.Count)
[Code]....
I get the runtime error 1004 - Select method of range class failed.
I have used similar script in other macros without error.
View 2 Replies
View Related
Mar 26, 2014
As part of a larger Macro I have the following Code:
Range("X2").Select
ActiveCell.FormulaR1C1 = "=IF(RC[-1]>0,""Yes"",""No"")"
Range("X2").Select
Selection.AutoFill Destination:=Range("X2", "X" & lastRow)
Range("X2", "X" & lastRow).Select
Selection.Copy
The code works fine when I have more than two rows of data that I am manipulating but gives me an Run Time Error - AutoFill Method of Range Class Failed at the following line:
Selection.AutoFill Destination:=Range("X2", "X" & lastRow)
When I have only one row of data I get the Run time error.
Any code that will allow me to process the data if I have one row of data as well.
View 4 Replies
View Related
Apr 23, 2014
I have two separate workbooks, the first is called Job test and is to be used as a template for quoting jobs, the second is called Fixtures and is a database of fixtures that are organized in table. I keep them separate as multiple jobs will use the Fixtures DB workbook and I want to be able to update it and add new fixtures in one area. In order to facilitate this I have a macro that opens the Fixtures DB workbook anytime that the Job test workbook is opened. In the Job test workbook I have multiple dropdowns that I hope to make dependent or cascading by means of filtering the Fixtures DB workbook. The issue I have run into is with the following code.
Code:
Private Sub CLightType_Change()'Filters LampType
Workbooks("Fixtures.xlsm").Sheets("CLampType").Activate
Workbooks("Fixtures.xlsm").Sheets("CLampType").Cells.Clear
Workbooks("Fixtures.xlsm").Sheets("Fixtures").Cells.AdvancedFilter Action:=xlFilterCopy, CriteriaRange _
:=Workbooks("Job test.xlsm").Sheets("Criteria").Range("A1:A2"), CopyToRange _
:=Range("A1"), Unique:=False
[Code] ......
What this code hopes to achieve is that when I change the value in the LightType dropdown, the Fixtures DB workbook will automatically filter the data once to a different sheet(CLampType), then get only unique values for LampType in column O. I have set up a dynamic range for column O so as to populate my next combobox, LampType.
This should all be fairly simple and straightforward, however I am running into "Run-time error '1004': Clear method of Range class failed." when I try to execute the line to clear the worksheet, and also have an error when I try to filter the data via macro. The strange part is all of this can be done manually without a problem, and moreover I have tried recording the process and using the recorded version. Even stranger yet is that when I add an "on error resume next" before everything, the code works fine but keeps looping and acts finicky(I don't want to simply resort to this as a solution). I have also tried setting this macro up inside the Fixtures workbook instead and calling it from the combobox change, to no avail.
View 1 Replies
View Related