сделать оператор вставки в VBA Excel - PullRequest
0 голосов
/ 04 февраля 2020

Я изучаю VBA Excel, и у меня проблема с моим проектом

Здесь код

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim score As String, result As String
score = Range("A1").Value

If score = "1" Then
   result = "book1"
ElseIf score = "2" Then
   result = "book2"
Else
   result = "wrong"
End If

Range("A1").Value = result
End Sub

Я пытаюсь сделать оператор вставки, когда я вставляю "1" в «A1», то результатом будет «book1»

, это когда значение равно «1»

enter image description here

это после того, как я нажмите кнопку ввода, и результат будет «book1»

enter image description here

, и это результат, когда я нажимаю кнопку ввода еще раз

enter image description here

это происходит потому, что когда я нажимаю первый ввод, системное значение чтения равно «1», поэтому система возвращает «book1», но при втором входе в систему считывается значение « book1 "и верните" Wrong "

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

Спасибо, ребята, извините за мой плохой английский sh

1 Ответ

0 голосов
/ 04 февраля 2020

Вы можете добавить еще одно условие с оператором ИЛИ для book1 и book2.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim score As String, result As String
score = Range("A1").Value

If score = "1" Or score="book1" Then
   result = "book1"
ElseIf score = "2" Or score="book2" Then
   result = "book2"
Else
   result = "wrong"
End If

Range("A1").Value = result
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...