В настоящее время я пишу макрос для вставки нового столбца во все рабочие листы. Это уже работает, это просто точная настройка. Я хотел бы, чтобы мой макрос проверял, существует ли ранее пользовательский ввод (для имени нового столбца) в другом столбце. Если он существует, я бы хотел, чтобы всплыло окно, в котором пользователь может выбрать создание нового столбца в любом случае или ввести другое имя (возврат к InputBox).
Я совершенно уверен, что должен использовать цикл и ветвь If, но я не совсем уверен, как именно.
Line1:
Do While ende = False
Name = InputBox("Name der neuen Spalte")
Anzahl_Col = Cells.CurrentRegion.Columns.Count
For i = 1 To Anzahl_Col
If InStr(1, ActiveSheet.Range(i, 1).Value, Name) > 0 Then
Retry = MsgBox("Diese Spalte existiert bereits, trotzdem fortfahren?", vbOKCancel)
If Retry = vbOK Then
Exit For
ElseIf Retry = vbCancel Then GoTo Line1
End If
Else
Exit For
End If
Next i
If StrPtr(Name) = 0 Then
MsgBox ("Abgebrochen!")
Exit Sub
ElseIf Name = "" Then
MsgBox ("Bitte etwas eingeben")
Else
Exit Do
End If
Loop
Ожидаемые результаты
Пользователь выбирает имя, и если оно уже существует, его спрашивают, хочет ли он продолжить или ввести другое имя.
Фактический результат
runtime error 1004 application or object-defined error