Hi LD The macro is corrected below. I removed the function SetPasteRangebyColumn, since it was of no use and implemented incorrectly. Since, in this function you're not setting the function's return value - so it is set to Nothing, by default. This is the range that when you paste the range, it doesn't understand that where to paste and show you the error of invalid argument (rather than invalid procedure/call).
Sub Headers_To_Macro_Test() ' Headers_To_MAcro_Test Macro ' Macro recorded 9/9/2009 by Dim wksCopy As Worksheet Dim wksPaste As Worksheet Dim rngCopy As Range Dim rngPaste As Range With ThisWorkbook Set wksCopy = .Worksheets("Sheet1") Set wksPaste = .Worksheets("Sheet2") End With Set rngCopy = SetCopyRange(wksCopy, "B5:C5") Set rngPaste = SetCopyRange(wksPaste, "A:B") rngCopy.Copy rngPaste End Sub Function SetCopyRange(Wks As Worksheet, strAddress As String) As Range Set SetCopyRange = Wks.Range(strAddress) End Function -------------------------------------------------------------------------- Thanks & Regards Ashish Jain (Excel Macros - Google Group Manager) http://www.excelitems.com (Developer of OpenXL) http://www.openexcel.com Excel,VBA,VSTO Trainer Ph. No. - 0x25402CF2B --------------------------------------------------------------------------- On Sep 10, 1:12 am, LD <ldbo...@gmail.com> wrote: > Any ideas on why I get this error with the macro below? > > Sub Headers_To_Macro_Test() > ' Headers_To_MAcro_Test Macro > ' Macro recorded 9/9/2009 by > > Dim wksCopy As Worksheet > Dim wksPaste As Worksheet > Dim rngCopy As Range > Dim rngPaste As Range > > With ThisWorkbook > Set wksCopy = .Worksheets("Summary") > Set wksPaste = .Worksheets("All_Data_Headers") > End With > > Set rngCopy = SetCopyRange(wksCopy, "B5:C5") > Set rngPaste = SetPasteRangeByColumn(wksPaste, "A:B") > Error Here------->rngCopy.Copy rngPaste > > End Sub > > Function SetCopyRange(Wks As Worksheet, strAddress As String) As Range > Set SetCopyRange = Wks.Range(strAddress) > End Function > > Function SetPasteRangeByColumn(Wks As Worksheet, strColumn As String) > As Range > Dim lngRow As Long > lngRow = Wks.Rows.Count > End Function --~--~---------~--~----~------------~-------~--~----~ ---------------------------------------------------------------------------------- Some important links for excel users: 1. Excel and VBA Tutorials(Video and Text), Free add-ins downloads at http://www.excelitems.com 2. Excel tutorials at http://www.excel-macros.blogspot.com 3. Learn VBA Macros at http://www.vbamacros.blogspot.com 4. Excel Tips and Tricks at http://exceldailytip.blogspot.com To post to this group, send email to excel-macros@googlegroups.com If you find any spam message in the group, please send an email to: Ayush Jain @ jainayus...@gmail.com or Ashish Jain @ 26may.1...@gmail.com <><><><><><><><><><><><><><><><><><><><><><> HELP US GROW !! We reach over 6,500 subscribers worldwide and receive many nice notes about the learning and support from the group. Our goal is to have 10,000 subscribers by the end of 2009. Let friends and co-workers know they can subscribe to group at http://groups.google.com/group/excel-macros/subscribe -~----------~----~----~----~------~----~------~--~---