Невозможно определить объект в Excel - PullRequest
0 голосов
/ 18 марта 2019

В приведенном ниже коде я объявил r как вариант и сделал r = twb.Worksheets("Log").Range("b2"), но я получаю сообщение об ошибке 424 за отсутствующий объект.Я подумал, объявив это и определив, это решит проблему.Код разбивается в разделе кода «Выбор значений из ячеек».

Функция, используемая для обработки специальных символов в ячейках:

Function ValidFileName(ByVal FileName As String) As String
Dim myarray() As Variant
Dim x
'check for illegal characters
myarray = Array("[", "]", "\\", "/", "*", "\", "?", "<>", "<", ">", ":", "|", "&")
For x = LBound(myarray) To UBound(myarray)
    FileName = Replace(FileName, myarray(x), "", 1)
Next x
ValidFileName = FileName
End Function

И код, который я пытаюсь разрешить:

    Option Explicit

Sub RenameExcelInDir()

Dim MyPath As String
Dim MyFile As String
Dim MyExt As String
Dim MyNewName As String
Dim wb As Workbook
Dim twb As Workbook
Dim wks As Worksheet
Dim r As Variant '<---- Causing error
Dim getDate As Date


'Opens File Dialog Window to choose dir to search in

    With Application.FileDialog(msoFileDialogFolderPicker)
       .Show
       MyPath = .SelectedItems(1)
    End With

    Set twb = ThisWorkbook

    r = twb.Worksheets("Log").Range("B2")

    MyFile = Dir(MyPath & "\*.*")

    Do While Len(MyFile) > 0
        MyExt = Split(MyFile, ".")(UBound(Split(MyFile, ".")))

        Set wb = Workbooks.Open(MyPath & "\" & MyFile, UpdateLinks:=0)

'Loops through the worksheet collection

    For Each wks In wb.Worksheets

    Select Case wks.Name

        Case "ISU Form"
        MyNewName = ValidFileName(FileName:=wb.Sheets("ISU FORM").Range("C23").Value & "." & MyExt)

        Case "GLOBAL ISU"
        MyNewName = ValidFileName(FileName:=wb.Sheets("GLOBAL ISU").Range("M26").Value & "." & MyExt)

    End Select

    Next wks

    wb.Close

'Select Values from cells

    r.Value = MyFile
    r.Offset(, 1).Value = MyNewName
    Set r = r.Offset(1)
    Name MyPath & "\" & MyFile As MyPath & "\" & MyNewName
    MyFile = Dir

    Loop

End Sub

Можно ли не использоватькак вариант?Это должно быть что-то еще?

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