Я новичок в Excel VBA и у меня простой вопрос. Как только я пойму, как выполнить этот цикл, я смогу на нем опираться.
Я хотел бы автоматизировать классификацию. Данные повторяются в одном столбце, то есть sampleA, sampleA, sampleA, sampleB, sampleB, sampleC, sampleC, sampleC и т. Д. Я хотел бы, чтобы мой макрос определял, когда имя образца изменяется между именами образца. Так, например, когда следующая ячейка после sampleA превращается в sampleB, я бы хотел, чтобы макрос понял, что произошло изменение, и напишу рядом с ним фразу (это затем превратится в уравнение с данными в соответствующих строках образца но ребенок шагает :)).
В целом, макрос должен воспринимать изменения между столбцом идентичных имен образцов, пока не будет достигнуто новое имя.
Я исследовал решения, и цикл «до» кажется наиболее близким решением к тому, что мне нужно. Кроме того, чтобы показать, что sampleA не совпадает с sampleB, я использовал <>.
Sub DoUntilStringMacro()
Dim sampleA As String
Dim sampleB As String
Dim sampleC As String
Dim classification As String
Do Until ActiveCell.Value = ""
If sampleA <> sampleB Then
classification = "hello"
ElseIf sampleB <> sampleC Then
classification = "goodbye"
ElseIf sampleC <> sampleA Then
classification = "see you soon"
End If
answer = classification
Cells(classification, "B").Value = answer
Loop
End Sub
Фактические результаты: ошибка в ячейках (классификация, "B"). Значение = ответ
Что-то здесь не так. Я пытаюсь отобразить результаты в столбце "B".
Ожидаемые результаты на листе Excel в столбцах:
Sample: Classification
sampleA --
sampleA --
sampleA hello
sampleB --
sampleB goodbye
sampleC --
sampleC --
sampleC see you soon