2013-04-05 4 views
0

Я создаю макрос для последовательного запуска примерно на 25 листах, где я называю ячейки в определенном столбце. У меня есть код для заполнения до конца и для смены листов. Но когда я совмещаю коды, я получаю предупреждение:Excel - макрос Изменение листов и заполнение до конца - ошибка компиляции

Compile Error: Duplicate declaration in current scope

Когда я удалить DIM определение, оно будет работать на последовательных листах, но только к концу первого листа. Моя цель состоит в том, чтобы каждый лист динамически заполнялся до конца в столбце N с заданным именем для каждого.

Вот код, который я работал на

Sub Mailbox_Name() 
' 
' Mailbox_Name Macro 
' Adds Mailbox Name to Each Sheet 

' 
    Dim LR As Long 
    LR = Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row 
    Range("N1").Select 
    ActiveCell.FormulaR1C1 = "Mailbox" 
    Range("N2").Select 
    ActiveCell.FormulaR1C1 = "ACC" 
    Range("N2").Select 
    Selection.AutoFill Destination:=Range("N2:N" & LR) 
    Range("N2:N" & LR).Select 

    Selection.Copy 
    Sheets("ACPR").Select 
    Dim LR As Long 
    LR = Cells.Find(What:="*", SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row 
    Range("N1").Select 
    ActiveCell.FormulaR1C1 = "Mailbox" 
    Range("N2").Select 
    ActiveCell.FormulaR1C1 = "ACPR" 
    Range("N2").Select 
    Selection.AutoFill Destination:=Range("N2:N" & LR) 
    Range("N2:N" & LR).Select 
End Sub 

Спасибо за любую помощь вы можете предоставить!

ответ

1

Просто прочитайте, что вам говорит об ошибке - у вас есть дублирующее объявление. Разумеется, в вашем коде у вас есть Dim LR As Long дважды.

+0

Спасибо ... Я сбрасываю объявление на что-то вроде Dim LR1, и оно бежит. Я надеялся, что есть более простой способ повторного объявления, чтобы я мог потратить немного меньше времени на очистку макроса. –

Смежные вопросы