Vba: jak utworzyć okno wiadomości z odpowiedziami tak/nie
Możesz użyć następującej składni w VBA, aby utworzyć okno komunikatu, w którym użytkownik może wybrać Tak lub Nie:
Sub MsgBoxYesNo()
'ask user if they want to multiply two cells
UserResponse = MsgBox(" Do you want to multiply cells A1 and B1? ", vbYesNo)
'perform action based on user response
If UserResponse = vbYes Then
Range(" C1 ") = Range(" A1 ") * Range(" B1 ")
Else
MsgBox “ No Multiplication was Performed ”
End If
End Sub
To konkretne makro tworzy okno komunikatu, które pyta użytkownika, czy chce pomnożyć komórki A1 i B1.
Jeśli użytkownik kliknie „Tak”, obie komórki zostaną pomnożone, a wynik zostanie wyświetlony w komórce C1.
Jeśli użytkownik kliknie „Nie”, pojawi się nowe okno z informacją, że nie wykonano żadnego mnożenia.
Należy zauważyć, że instrukcja vbYesNo powoduje wstawienie przycisków „Tak” i „Nie”, które użytkownik może kliknąć.
Poniższe przykłady pokazują, jak używać tej składni w praktyce.
Przykład: Utwórz okno wiadomości z odpowiedziami Tak/Nie
Załóżmy, że w komórkach A1 i B1 naszego arkusza Excel mamy następujące dwie wartości:
Załóżmy, że chcemy utworzyć makro, które wyświetli użytkownikowi okno komunikatu i zapyta, czy chce pomnożyć wartości w komórkach A1 i B1.
W tym celu możemy utworzyć następujące makro:
Sub MsgBoxYesNo()
'ask user if they want to multiply two cells
UserResponse = MsgBox(" Do you want to multiply cells A1 and B1? ", vbYesNo)
'perform action based on user response
If UserResponse = vbYes Then
Range(" C1 ") = Range(" A1 ") * Range(" B1 ")
Else
MsgBox “ No Multiplication was Performed ”
End If
End Sub
Po uruchomieniu tego makra pojawia się następujący komunikat:
Jeśli klikniemy Tak , makro pomnoży wartości w komórkach A1 i B2 i wyświetli wynik w komórce C1:
Jeśli jednak klikniemy Nie , pojawi się nowe okno komunikatu:
Okno komunikatu informuje nas, że nie wykonano żadnego mnożenia, odkąd kliknęliśmy Nie w poprzednim oknie komunikatu.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w VBA:
VBA: Jak dodać nową linię do okna komunikatu
VBA: Jak dodać nowe arkusze
VBA: Jak zamrozić okienka