Настройка найденных / открытых рабочих книг - PullRequest
0 голосов
/ 16 февраля 2019

Проблема: Я не могу установить найденную / открытую книгу

Код: Ниже приведен мой код.Моя ошибка на линии Set wkbTemp = wkbTempStr ошибка Type Mismatch.

Я пробовал несколько вариантов, сделал несколько поисков, но обнаружил пробелы. Любая помощь будет принята.

Sub Test_wkb()

    Dim wbcount As Integer
    wbcount = Workbooks.Count

    For i = 1 To wbcount
        wkb = Workbooks(i).Path & "\" & Workbooks(i).Name
    Debug.Print wkb
    Next

    Dim wkbTempStr As String
    Dim wkbTemp As Workbook
    Dim wksTemp As Worksheet

    wkbTempStr = "C:\Users\JohnDoe\Desktop\Consolidate Macro.xlsm"

    Set wkbTemp = wkbTempStr
    Set wksTemp = wkbTemp.Sheets("Pay")

    'just seeing if code works below
    wksTemp.Range("I18") = "This works"

End Sub

1 Ответ

0 голосов
/ 16 февраля 2019

Открытая / закрытая рабочая книга

При обращении к открытой рабочей книге вы должны использовать ее имя, т.е. имя файла, например, "Consolidate Macro.xlsm".Если он не открыт, вам придется использовать полный путь к открыть , если он не находится в текущем каталоге (лучше всего всегда).

Код

Option Explicit

Sub Test_wkb()

    Dim wkb As String
    Dim wbcount As Long
    Dim i As Long

    wbcount = Workbooks.Count

    For i = 1 To wbcount
        wkb = Workbooks(i).Path & "\" & Workbooks(i).Name
        Debug.Print wkb
    Next

    Dim wkbTempStr As String
    Dim wkbTemp As Workbook
    Dim wksTemp As Worksheet

    wkbTempStr = "C:\Users\JohnDoe\Desktop\Consolidate Macro.xlsm"

    ' If you want to suppress the message alerting that the workbook is already 
    ' open, uncomment the two "Application ..." lines.
    'Application.DisplayAlerts = False
    Set wkbTemp = Workbooks.Open(wkbTempStr)
    'Application.DisplayAlerts = True
    Set wksTemp = wkbTemp.Sheets("Pay")

    'just seeing if code works below
    wksTemp.Range("I18") = "This works"

End Sub

Используя имя файла (Workbook.Name), вы можете просмотреть открытые книги и проверить, открыто ли оно.Если это не так, используйте путь, чтобы открыть его.

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