Переместить лист в рабочую книгу с заданным именем переменной и количеством переменных листов - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь написать макрос, который переместит лист (order_line_list) из его книги в положение после последнего листа другой книги (Accrual Planning by Month 2020).

Планирование начислений по месяцам Имя файла рабочей книги не является постоянным, поэтому я настроил его как переменную в коде. Последний лист этой книги также будет меняться каждый месяц при добавлении нового листа.

Я могу заставить макрос работать, если я использую полное имя файла и указываю положение листа (после листа 2). Однако, если я пытаюсь сделать это с переменными имени файла и числа листов, я получаю следующую ошибку:

Run-time error 1004: Move Method of Worksheet Class Failed

Я попытался использовать метод Copy, но я просто получил тот же метод Failed ошибка.

Я провел несколько часов, исследуя и пытаясь выяснить это, но не смог. Я новичок в VBA, так что, вероятно, есть гораздо более простой способ сделать то, что я пытаюсь сделать. Ниже мой код. У меня есть файлы, но я не могу понять, как их прикрепить. Ваша помощь будет принята с благодарностью.

Function wbname(MatchName As String) As String

   Dim wb As Workbook

For Each wb In Workbooks

   If wb.Name Like MatchName Then

    wbname = wb.Name

    Exit Function

  End If

Next wb

   wbname = ""

End Function

Sub Macro302()

' Move Sheet to Accrual Planning by Month file

Accrual = wbname("Accrual*")

Windows("order_line_list.csv").Activate

    Sheets("order_line_list").Move After:=Workbooks(Accrual).Sheets.Count

    'Sheets("order_line_list").Copy After:=Workbooks(Accrual).Sheets.Count

'Windows("order_line_list.csv").Close SaveChanges:=False

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...