Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,588
Default Macro Problems

You've defined two procedures with the same name. Change one of the names
and it should be fine, or make your original procedure more flexible. Since
the only variation is in the range being copied you can just pass that as a
parameter:


sub Tester1()
copy_1_Values_PasteSpecial Sheets("PO Form").Range("A44:G44")
end sub

sub Tester2()
copy_1_Values_PasteSpecial Sheets("PO Form2").Range("A44:G44")
end sub

Sub copy_1_Values_PasteSpecial(rngCopy as Range)

Dim destrange As Range
Dim Lr As Long
Application.ScreenUpdating = False
Lr = LastRow(Sheets("Invoices")) + 1
Set destrange = Sheets("Invoices").Range("A" & Lr)
rngCopy.Copy
destrange.PasteSpecial xlPasteValues, , False, False
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


--
Tim Williams
Palo Alto, CA


"cvach" wrote in message
oups.com...
I recently made a macro to insert certain values on a spreadsheet into
another worksheet in the same workbook. My code is this.

Sub copy_1_Values_PasteSpecial()
Dim sourceRange As Range
Dim destrange As Range
Dim Lr As Long
Application.ScreenUpdating = False
Lr = LastRow(Sheets("Invoices")) + 1
Set sourceRange = Sheets("PO Form").Range("A44:G44")
Set destrange = Sheets("Invoices").Range("A" & Lr)
sourceRange.Copy
destrange.PasteSpecial xlPasteValues, , False, False
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Function LastRow(sh As Worksheet)
On Error Resume Next
LastRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function


This formula worked great for the PO Form worksheet. I then wanted to
add an almost identical worksheet to the workbook and have it do the
same thing. I named it PO Form2 but I was unsuccessful in implementing
it. This was the code that I used.

Sub copy_1_Values_PasteSpecial()
Dim sourceRange As Range
Dim destrange As Range
Dim Lr As Long
Application.ScreenUpdating = False
Lr = LastRow(Sheets("Invoices")) + 1
Set sourceRange = Sheets("PO Form2").Range("A44:G44")
Set destrange = Sheets("Invoices").Range("A" & Lr)
sourceRange.Copy
destrange.PasteSpecial xlPasteValues, , False, False
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Function LastRow(sh As Worksheet)
On Error Resume Next
LastRow = sh.Cells.Find(What:="*", _
After:=sh.Range("A1"), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
On Error GoTo 0
End Function

An error came back saying Ambiguous name detected :
copy_1_values_PasteSpecial



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Macro Problems unique Excel Programming 1 October 25th 05 08:45 PM
Macro Problems hw Excel Programming 5 May 26th 05 03:57 PM
Macro problems Shorty Excel Programming 0 November 11th 04 04:24 PM
various macro problems legepe[_11_] Excel Programming 1 October 23rd 04 09:59 PM
macro problems Peter Wiley Excel Programming 2 September 10th 03 09:53 PM


All times are GMT +1. The time now is 10:32 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"