+ Reply to Thread
Results 1 to 2 of 2

Macro / Compile Error / Duplicate Declaration

  1. #1
    carl
    Guest

    Macro / Compile Error / Duplicate Declaration

    I am trying to modify my macro to perform the same operations twice - I am
    trying to do this by copying/paste the macro and making some changes to the
    copied macro. When I try and run the macro, I get a compiler error "Duplicate
    Declaration In Current Scope" - the macro stops at the line marketed with ***
    below.

    Is there a way to modify the macro to get it to work ?

    Thank you in advance

    'find engine 2 part A
    Sheets("A").Select
    Dim rng As Range
    Set rng = _
    Columns(7).Find(What:="1", After:=Cells(Rows.Count, "g"), _
    LookIn:=xlFormulas, LookAt:=xlWhole, _
    SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
    MatchCase:=False)


    If Not rng Is Nothing Then
    rng.Select
    Else
    MsgBox "1 not found"
    End If

    'cut engine 2
    ' Range("G12816").Select (old code)
    rng.Offset(1, 0).Select
    Range(Selection, Selection.End(xlToLeft)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Cut
    Sheets("2").Select
    Range("A1").Select
    ActiveSheet.Paste

    Sheets("A").Select
    Range("H1:I1").Select
    Selection.Copy
    Sheets("2").Select
    Range("H1").Select
    ActiveSheet.Paste
    Range("F1:G1").Select
    Range("G1").Activate
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Sheets("A").Select
    Range("F1:G1").Select
    Range("G1").Activate
    Range(Selection, Selection.End(xlDown)).Select
    Selection.ClearContents

    Sheets("A").Select
    Range("A1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range("A1:I11496").Select
    Selection.Cut
    Sheets("1").Select
    Range("A1").Select
    ActiveSheet.Paste

    'find engine 2 part B
    Sheets("B").Select
    **** Dim rng As Range ****
    Set rng = _
    Columns(7).Find(What:="1", After:=Cells(Rows.Count, "g"), _
    LookIn:=xlFormulas, LookAt:=xlWhole, _
    SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
    MatchCase:=False)


    If Not rng Is Nothing Then
    rng.Select
    Else
    MsgBox "1 not found"
    End If

    'cut engine 2
    ' Range("G12816").Select (old code)
    rng.Offset(1, 0).Select
    Range(Selection, Selection.End(xlToLeft)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Cut
    Sheets("2").Select
    Range("A1").Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveSheet.Paste.



  2. #2
    Forum Expert dominicb's Avatar
    Join Date
    01-25-2005
    Location
    Lancashire, England
    MS-Off Ver
    MS Office 2000, 2003, 2007 & 2016 365
    Posts
    4,867

    Smile

    Good evening Carl

    The problem is that you're DIMming the variable rng twice and that's not allowed. That's not to say you can't load rng twice with two different values in the same routine - obviously, providing the first value you load in there is no longer needed.But only DIM it once. If you want two distinct values you could call the second rng variable rng1, and remember to change subsequent lines to make sure that they call the right variable.

    HTH

    DominicB

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1