Код VBA работает, когда я прохожу через него, но не когда он запускается - PullRequest
0 голосов
/ 12 февраля 2020

У меня есть базовый c VBA, который позволяет пользователю взять поле из одной таблицы и использовать его для обновления другой таблицы. Он отлично работает, когда я прохожу через него, но ничего не происходит, когда я запускаю его, используя F5. Я не получаю никаких ошибок, просто ничего не происходит.

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

Мой код ниже:

    Option Explicit

Sub acceptDateComp()

    'set data type
    Dim dtType As String
    dtType = "opportunity"

    'declare sheets
    Dim wsComp As Worksheet
    Set wsComp = ThisWorkbook.Sheets(dtType & "Comp")
    Dim wsBCE  As Worksheet
    Set wsBCE = ThisWorkbook.Sheets(dtType & "Snapshot")
    Dim wsOffline As Worksheet
    Set wsOffline = ThisWorkbook.Sheets(dtType & "Database")

    'declare tables
    Dim bce As ListObject
    Set bce = wsBCE.ListObjects(dtType & "Snapshot")
    Dim offline As ListObject
    Set offline = wsOffline.ListObjects(dtType & "Database")
    Dim dateComp As ListObject
    Set dateComp = wsComp.ListObjects(dtType & "DateComp")

    'declare heights and areas
    Dim offlineRange As Range
    Set offlineRange = offline.ListColumns(1).DataBodyRange

    'check for acceptance, then change values
    Dim i As Long
    Dim dateID As Long
    Dim offlineRow As Long
    Dim bceDate As String

    For i = 2 To dateComp.ListRows.Count + 1
        If dateComp.ListColumns(6).Range(i).Value = "Yes" Then
            dateID = dateComp.ListColumns(1).Range(i).Value
            offlineRow = Application.WorksheetFunction.Match(dateID, offlineRange, 0)
            bceDate = dateComp.ListRows(i - 1).Range(5).Value
            offline.ListRows(offlineRow).Range(12).Value = bceDate
        End If
    Next i

    Call opportunityComp

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