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

Я работаю над проектом по разработке функций для обучения классификатора машинного обучения с помощью набора текстовых обзоров. Функция, с которой у меня возникают проблемы, заключается в том, чтобы подсчитать, есть ли в рецензии ключевое слово c «удивительно», и затем отобразить 1 или 0 в столбце рядом с рецензией, в зависимости от того, было найдено ключевое слово или нет. .

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

'this feature is used to find the keyword "amazing" in the reviews
Sub FindKeywordAmazing()
    Dim cell As Range
    Dim WordCount As Integer
    Dim Line As Integer
    Dim Count As Integer
        WordCount = 0
        Line = 2
        Count = 0

        'using an If statement to update the word count if the keyword amazing is present
        For Each cell In Range("A2:A1001")
            If InStr(cell.Value, "amazing") > 0 Then
                WordCount = WordCount + 1
            Else
                WordCount = 0
            End If

            Count = WordCount
            Range("C" & Line).Value = Count
            Line = Line + 1
        Next

        'calling the sub with the value of the word count to the C column

End Sub

1 Ответ

2 голосов
/ 29 апреля 2020

IIU C, возможно, более простой способ сделать это:

Range("C2:C1001").Formula = "=--ISNUMBER(SEARCH(""amazing"",A2))"

Измените SEARCH на FIND, если вы хотите, чтобы это чувствительно к регистру.

enter image description here

Для поиска по двум словам, возможно:

Range("C2:C1001").Formula = "=--OR(ISNUMBER(SEARCH({""amazing"",""great""},A2)))"

Измените OR на AND, если хотите, чтобы оба были найдены.

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