Функция редактирования таблицы работает только непредсказуемо - PullRequest
0 голосов
/ 03 мая 2020

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

код:

Sub editTableData(tableName As String, rw As Integer, col As Integer, str As String)
    Sheet1.ListObjects(tableName).Range(rw, col).value = str
End Sub
Sub EDITTABLEDATAONOTHERPAGE()
    Call editTableData("statement", 20, 6, "Why did this work?")
End Sub 

результат:

03/19/2020, WAL-MART SUPERCENTER, 67.07, blank, blank, "Why did this work?"

enter image description here

но при вызове здесь:

Function categorize(criteria As String) As Double
    Dim statement As listobject, statementNames As Range, statementCategory As Range, statementCredit As Range, name As Range
    Set statement = Sheet1.ListObjects("statement")
    Set statementNames = Sheet1.ListObjects("statement").ListColumns("Name").DataBodyRange
    Set statementCategory = Sheet1.ListObjects("statement").ListColumns("Category").DataBodyRange
    Set statementCredit = Sheet1.ListObjects("statement").ListColumns("Credit").DataBodyRange
    '---this is the part that matters:--------------------------------
    For Each name In statementNames
        If name.value Like criteria + "*" Then
            Call editTableData(statement.name, name.row, statementCategory.column, statement.name)
            categorize = categorize + statementCredit(name.row, statementCredit.column).value
        End If
    Next
End Function

он попадает в метод, передает editTableData ("оператор", 20, 6, "оператор") в виде строки , int, int, String соответственно (то есть те же данные), но он просто перестает работать, и я не знаю, почему.

что-нибудь просветляющее было бы хорошо, вот таблица, которую я использую эту таблицу для вызова формулы а также:

изображение таблицы

enter image description here


Обновление / изменение: Вот отладочные фото: ВЫЗОВ МЕТОДА в методе (окно ссылок на значения): в методе

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

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