установите разное расположение для VBA исходной и целевой книги

#excel #vba

Вопрос:

У меня есть этот код, который позволяет мне копировать данные из одной книги в другую при соблюдении определенных критериев. Он отлично работает, когда исходная и целевая книги находятся в одном и том же месте, но он не работает, когда исходная книга находится на другом диске, чем целевая книга. Как я могу изменить свой код, чтобы он работал?

Заранее благодарю вас за вашу помощь.

 Sub exportData()

    Dim LastRow As Integer
    Dim i As Integer
    Dim erow As Integer
    Dim wbk As Workbook
    Dim SourceSheet As Worksheet
    Dim DestSheet As Worksheet
    Dim Date1, Name, Total_Time
   
    
    Set SourceSheet = ActiveSheet
    LastRow = SourceSheet.Range("A" amp; Rows.Count).End(xlUp).Row
    Set wbk = Workbooks.Open(ThisWorkbook.Path amp; "/Allan Border Labour Hours.xlsm")
    Set DestSheet = wbk.Sheets("Labour")
    

    For i = 2 To LastRow
        If SourceSheet.Cells(i, 2).Value = "Allan Border" Then
            Date1 = SourceSheet.Cells(i, 1).Value
            Name = SourceSheet.Cells(i, 3).Value
            Total_Time = SourceSheet.Cells(i, 7).Value
            

            erow = DestSheet.Cells(DestSheet.Rows.Count, 1).End(xlUp).Offset(1, 0).Row

          
            DestSheet.Cells(erow, 1).Value = Date1
            DestSheet.Cells(erow, 2).Value = Name
            DestSheet.Cells(erow, 3).Value = Total_Time
            
            
        End If
    Next i

    wbk.Save
    wbk.Close
End Sub
 

Комментарии:

1. Заменить Workbooks.Open(ThisWorkbook.Path amp; "/Allan Border Labour Hours.xlsm") на Workbooks.Open("full path of Allan Border Labour Hours.xlsm") . Пример: Workbooks.Open("D:/NewFolder/Allan Border Labour Hours.xlsm")

2. Спасибо Рэймонд, сработает ли это, если файл находится на OneDrive? Пример: Рабочие книги. Открыть («https\….»)

3. Почему бы не попробовать? Хотя я не понимаю, почему бы и нет.