Excel Macro для ввода пользователем, обратный вызов для повторного ввода пользователя, если он неверен

Добрый день

Я пытаюсь использовать диапазоны ввода и обновления для пользователей на листе на основе этого, но я застреваю, попросив пользователя «повторно ввести» его вход, если он не соответствует ни одной из предопределенных записей.

ниже мой код

Sub testing_input_in_formula() Dim wbk1 As Workbook Dim strName As String test1 = "C:\Users\hayekn\Desktop\book1.xlsx" Set wbk1 = Workbooks.Open(test1) With wbk1.Sheets("Sheet1") On Error Resume Next Application.DisplayAlerts = True strName = InputBox(Prompt:="Enter the week you would like to update", _ Title:="Week Selection.", Default:="Week 1") If strName = "Your Name here" Or _ strName = vbNullString Then Exit Sub Else Select Case strName Case "Week 1" .Range("A10") = "Week 1" Case "Week 2" .Range("B10") = "Week 2" Case Else MsgBox "Incorrect Entry." 'I want it here to loop back to the "Select Case strName", 'where user is prompted to re-enter the text End Select End If End With End Sub 

Вы можете использовать некоторые линейные теги и Goto для перехода между строками следующим образом:

 Sub testing_input_in_formula() Dim wbk1 As Workbook Dim strName As String Dim test1 As String test1 = "C:\Users\hayekn\Desktop\book1.xlsx" Set wbk1 = Workbooks.Open(test1) 'On Error Resume Next <- Why do you need this? Application.DisplayAlerts = True Re-Enter: strName = InputBox(Prompt:="Enter the week you would like to update", _ Title:="Week Selection.", Default:="Week 1") If strName = "Your Name here" Or strName = vbNullString Then Goto The_End Else With wbk1.Sheets("Sheet1") Select Case strName Case "Week 1" .Range("A10") = "Week 1" Case "Week 2" .Range("B10") = "Week 2" Case Else MsgBox "Incorrect Entry." ' if you want the user to re enter the text you should loop to the InputBox Goto Re-Enter End Select End With End If The_End: Set wbk1 = Nothing End Sub 

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

Interesting Posts

Получите данные Powerpoint с помощью Excel VBA

Python, поиск excel-листа для определенных строк в столбце и извлечение этих строк в текстовый файл

Макрос с countif, исключая другие значения

Копирование данных Excel в форму Oracle Applications

Excel VBA – установка переменной в значение формулы

Исключение при вставке изображения в ячейку Excel

переименовать файл в Python: WindowsError: Система не может найти указанный файл

Ошибка EPPlus при выводе .XLSX для ответа

Найдите общее количество листов с именем CSn

Макрос цикла Excel заканчивается раньше и требует, чтобы файлы открывались для копирования нескольких циклов (разных файлов)

Не вижу ничего под строкой 119

Экспорт в Excel оставляет одну пустую строку после заголовка (но только если она экспортирует один столбец!)

как получить относительное положение фигур в листе

Excel VBA – проверьте, существуют ли данные в диапазоне до копирования

Код VBA – Копирование ячеек с одного листа на другой лист в excel в зависимости от условия соответствия

Давайте будем гением компьютера.