Excel vba удаление листа без подтверждения

I ran into this issue using Excel 2016, and surprisingly DisplayAlerts was useless. Not sure if anyone else has experienced this. I’m still unsure as to why, but reading this thread, according to the remarks of the Worksheet.Delete method (here):

When you delete a Worksheet , this method displays a dialog box that prompts the user to confirm the deletion. This dialog box is displayed by default. When called on the Worksheet object, the Delete method returns a Boolean value that is False if the user clicked Cancel on the dialog box or True if the user clicked Delete.

In Excel 2016, though Application.DisplayAlerts was set to False, it kept showing the alert after (or rather before) deletion.

I haven’t found a true work around yet, so I’m simply making the sheets I want to delete «disappear» using a for each loop:

Sht.UsedRange.clear
For each shp in sht.Shapes
shp.Delete
Next
For each nm in sht.Parent.Names
if nm.RefersToRange.Parent is sht then nm.Delete
Next
sht.visible = xlSheetVeryHidden

(code is an unchecked draft; eventual errors can be treated with an on error resume next mostly)

It’s far from ideal, but it does what I need done (at the cost of more memory, sure). Maybe I should turn this reply into a question and see if someone has a better idea for Excel 2016.

По умолчанию при удалении листа в Excel вы получите окно с подсказкой, как показано на скриншоте ниже. На самом деле, вы можете избежать этого окна подсказки при удалении листа. Пожалуйста, попробуйте метод, описанный в этой статье.

Удалить рабочий лист без запроса или предупреждения с кодом VBA


Удалить рабочий лист без запроса или предупреждения с кодом VBA

Следующий код VBA может помочь вам удалить определенный лист без предупреждения в Excel. Пожалуйста, сделайте следующее.

1. Нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули. Затем скопируйте и вставьте приведенный ниже код VBA в окно модуля.

Код VBA: удалить рабочий лист без запроса или предупреждения в Excel

Sub ActShtDel()
    Application.DisplayAlerts = False
    Sheets("Sheet1").Delete
    Application.DisplayAlerts = True
End Sub

Внимание: В коде Sheet1 — это имя рабочего листа, который необходимо удалить без предупреждения. Пожалуйста, измените имя листа, как вам нужно.

3. нажмите F5 ключ для запуска кода. Тогда указанный рабочий лист будет немедленно удален без отображения окна подсказки.


Статьи по теме:

  • Как в Excel удалить все листы кроме указанного / текущего?
  • Как создавать новые листы для каждой строки в Excel?
  • Как предотвратить выбор нескольких листов в Excel?

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (0)


Оценок пока нет. Оцените первым!

ГЛАВНАЯ

ТРЕНИНГИ

   Быстрый старт
   Расширенный Excel
   Мастер Формул
   Прогнозирование
   Визуализация
   Макросы на VBA

КНИГИ

   Готовые решения
   Мастер Формул
   Скульптор данных

ВИДЕОУРОКИ

ПРИЕМЫ

   Бизнес-анализ
   Выпадающие списки
   Даты и время
   Диаграммы
   Диапазоны
   Дубликаты
   Защита данных
   Интернет, email
   Книги, листы
   Макросы
   Сводные таблицы
   Текст
   Форматирование
   Функции
   Всякое
PLEX

   Коротко
   Подробно
   Версии
   Вопрос-Ответ
   Скачать
   Купить

ПРОЕКТЫ

ОНЛАЙН-КУРСЫ

ФОРУМ

   Excel
   Работа
   PLEX

© Николай Павлов, Planetaexcel, 2006-2022
info@planetaexcel.ru


Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

Техническая поддержка сайта

ООО «Планета Эксел»

ИНН 7735603520


ОГРН 1147746834949
        ИП Павлов Николай Владимирович
        ИНН 633015842586
        ОГРНИП 310633031600071 

There are times when we have to create or add sheet and later on we found of no use of that sheet, hence we get need to delete sheet quickly from the workbook. This article focus on saving time & provide code for removing sheets without any prompt message box using vba macro / code. It could be one sheet or several.  And excel gives a popup alert to confirm the sheet deletion.  If its one sheet, its manageable.  But if you have to delete several sheets, you will get one popup per sheet.

You often create multiple sheets using VBA. But in the end, you don’t need them actually. You would want to delete them after your work is done. It will keep your file lighter, faster and sensible.

VBA code to delete a sheet is simple

Sheets("SheetName").Delete

Let’s say you have this code to add a sheet and then delete it when work is done.

Sub AddAndDeleteSheet()
Sheets.Add 'Adds a new sheet to the active workbook

'----

'----

'----

'some work on sheet done
ActiveSheet.Delete 'deletes the active Activesheet

End Sub

When you execute this code, Sheets.Add will work without any prompt but when compiler will come to  ActiveSheet.Delete it will prompt a message like this.

pasted image 0 (1)

Since you are deleting sheets using VBA, you know what you are doing. You would like to tell Excel not to show this warning and delete the damn sheet.

To do this we will switch off the display alert button of Excel Application.

The code below will bypass this alert message and the sheet will be deleted without any intimation.

Sub AddAndDeleteSheet()

Application.DisplayAlerts = False 'switching off the alert button
Sheets.Add

'----

'----

'----

'some work on sheet done
ActiveSheet.Delete

Application.DisplayAlerts = True 'switching on the alert button

End Sub

Here we are deleting Activesheet using VBA. You can delete any sheet using VBA. Just write Sheets(«Sheetname»).delete. Moving on…

DisplayAlerts is a property of Application object in VBA. Here we are switching it off at the beginning of our code and switching it on at the end of the code. The above code will confirm deletion without any intimation.

Note:The above code will ignore all the warnings thrown by excel. If you want to allow only sheet deletion than use this line.

Application.DisplayAlerts = False 'switching off the alert button

ActiveSheet.Delete

Application.DisplayAlerts = True 'switching on the alert button

This will ignore only sheet deletion warning.

Pro Tip: This lines of code make your VBA code more efficient. Always use them at the beginning of your macro and turn them back on wherever is your code expected to exit routine.
Warning: If not turned on before exiting the subroutine, you may not see any warning at all. Even if your code is not running. This may cause many problems.

If you have multiple sheets to delete and are using a loop, try this code  –

Option Explicit

Sub macro2()

Dim i As Long

Application.DisplayAlerts = False

For i = 1 to Worksheets.Count

If Worksheets(i).Name Like "Test*" Then Worksheets(i).Delete

Next i

Application.DisplayAlerts = True

End Sub

That’s it. It’s done. It easy like switching your fan on and off. Isn’t it?

image 29

If you liked our blogs, share it with your friends on Facebook. And also you can follow us on Twitter and Facebook.
We would love to hear from you, do let us know how we can improve, complement or innovate our work and make it better for you. Write us at info@exceltip.com

Download file

Delete sheets without confirmation prompts using VBA in Microsoft Excel

Related Articles:

Split Excel Sheet Into Multiple Files Based On Column Using VBA

Change The Default Printer Using VBA in Microsoft Excel 2016

Turn Off Warning Messages Using VBA in Microsoft Excel 2016

Display A Message On The Excel VBA Status Bar

Insert Pictures Using VBA in Microsoft Excel 2016

How To Loop Through Sheets In Excel Using VBA

Popular Articles:

50 Excel Shortcuts to Increase Your Productivity

How to use the VLOOKUP Function in Excel

How to use the COUNTIF function in Excel

How to use the SUMIF Function in Excel

Home / VBA / How to DELETE a SHEET using VBA in Excel

To delete a sheet using VBA, you need to use the VBA Delete method. You need to specify the sheet that you want to delete and then use this method. Let’s say if you want to delete the “Sheet1”, then you need to mention sheet1 and then type a dot (.) and in the end, type “Delete”.

In this tutorial, we will see different ways that you can use to delete a sheet using a VBA code. Make sure to have the developer tab on the ribbon from here you can get into the visual basic editor.

Delete a Sheet using its Name

Each sheet has a name, and you can use write a code to delete a sheet using the name. So, let’s say you want to delete the worksheet “Data”, the code would be:

Sub vba_delete_sheet()
Sheets("Data").Delete
End Sub
  • When you delete a worksheet, Excel shows a message to confirm if you want to remove it or wish to cancel. And when you use a VBA code, in that case, Excel will also do that.

To deal with this, you can turn OFF the screen updating to delete a sheet and then turn it ON.

Application.DisplayAlerts = False
Sheets("Data").Delete
Application.DisplayAlerts = True

Now let’s say you want to use a cell value to use the name of the worksheet. In that case, you need to use the VBA range object to do that.

Delete the Sheet using the Sheet Number

That’s right. You can use the sheet’s number to delete it. Here’s the code.

Sub vba_delete_sheet()
Sheets(1).Delete
End Sub

Delete the ActiveSheet

To delete the active sheet, you can use the “ActiveSheet” object instead of using the sheet name to specify the sheet.

ActiveSheet.Delete

As I said, it deletes the active sheet, and you can activate it before removing it. But necessarily, you don’t need to do that as you can refer to a sheet and delete it as we have seen at the start of this tutorial.

Check if Sheet Exists before Deleting

You can also write code in a way that it can check if the sheet exists or not and then deletes it.

Sub check_sheet_delete()
Dim ws As Worksheet
Dim mySheet As Variant
mySheet = InputBox("enter sheet name")
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Worksheets
    If mySheet = ws.Name Then
      ws.Delete
    End If
Next ws
Application.DisplayAlerts = True
End Sub

In this code, you have FOR EACH to loop through all the worksheets. And then, an IF STATEMENT to delete the sheet if its name is equal to the name you have typed in the input box.

Delete All the Worksheets in Workbook

I’m sure you have this question in your mind, but I’m afraid it’s impossible to delete all the worksheets that you have in the workbook. You must have at least one worksheet left.

But I have found a solution to this problem. You can insert a new sheet that’s a blank one and then delete all which are already there.

Here’s the code: This code adds a new sheet and deletes all the other sheets.

Sub vba_delete_all_worksheets()
Dim ws As Worksheet
Dim mySheet As String
mySheet = "BlankSheet-" & Format(Now, "SS")
Sheets.Add.Name = mySheet
Application.DisplayAlerts = False
For Each ws In ThisWorkbook.Worksheets
    If ws.Name <> mySheet Then
      ws.Delete
    End If
Next ws
Application.DisplayAlerts = True
End Sub

More Tutorials on VBA Worksheets

  • Back to VBA Worksheet / VBA Tutorial

    Содержание:

    1. Удаление листов с помощью параметров правой кнопки мыши
    2. Сочетания клавиш для удаления рабочих листов
    3. Гибридная комбинация клавиш для удаления листа
    4. Обычное сочетание клавиш для удаления листа
    5. Устаревшее сочетание клавиш для удаления листов
    6. Удаление ActiveSheet с помощью VBA
    7. Удаление листа без отображения запроса на подтверждение
    8. Удаление листа по имени (если он существует) с помощью VBA
    9. Удаление всех листов, кроме активного листа, с помощью VBA
    10. Удалить все листы с определенной текстовой строкой в ​​имени

    При работе с Excel вы проводите большую часть своего времени на листе (который представляет собой область, в которой находятся все ячейки и все, что там происходит).

    Эффективная работа с Excel также означает, что вам придется работать с несколькими листами в одной книге.

    Excel позволяет легко добавлять несколько листов в книгу, и в то же время вы также можете легко удалить эти листы.

    В этом руководстве по Excel я покажу вам, как быстро удалить листы в Excel. Я бы рассмотрел несколько методов, таких как использование сочетаний клавиш, параметры на ленте и VBA для удаления листов в Excel.

    Примечание. В этом руководстве я буду использовать слова «лист» и «лист» как синонимы. Но чтобы сказать вам разницу, листы будут включать в себя рабочие листы, а также листы диаграмм, но поскольку листы диаграмм не так широко используются, всякий раз, когда я использую слово лист, рассматривайте его как рабочий лист.

    Удаление листов с помощью параметров правой кнопки мыши

    Самый простой способ удалить рабочий лист в Excel — использовать эту простую технику двойного щелчка мыши.

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

    Ниже приведены шаги для этого:

    1. Щелкните правой кнопкой мыши лист, который вы хотите удалить.
    2. Нажмите на опцию удаления
    3. В появившейся подсказке нажмите кнопку Удалить.

    Вы также можете использовать описанную выше технику для листов, которые даже не являются активными. Например, если я сейчас нахожусь на Sheet1 и хочу удалить Shee3, я могу просто щелкнуть правой кнопкой мыши Sheet3 и удалить его.

    Вы также можете использовать ту же технику для удалить сразу несколько листов.

    Например, если я хочу удалить Sheet2 и Sheet3 за один раз, я могу удерживать контрольную клавишу и нажимать Sheet2 и Sheet3 один за другим (при этом все еще удерживая контрольную клавишу).

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

    Помните, что вы не можете удалить все листы в книге в Excel. в книге всегда должен быть хотя бы один лист. если вы попытаетесь удалить все рабочие листы (или единственный активный лист), вы увидите сообщение о том, что вам не разрешено это делать

    Сочетания клавиш для удаления рабочих листов

    Существует не одна комбинация клавиш, а две с половиной, которые можно использовать для удаления листов в Excel.

    Я говорю «два с половиной», потому что в одном из сочетаний клавиш он использует мышь и клавиатуру (и это все еще более быстрый способ сделать это).

    Гибридная комбинация клавиш для удаления листа

    Щелкните правой кнопкой мыши + D
    Чтобы удалить выбранный рабочий лист или рабочие листы, щелкните правой кнопкой мыши, а затем нажмите клавишу D на клавиатуре.

    Лично я считаю, что это намного быстрее, чем просто удаление листа с помощью мыши (как я уже говорил в предыдущем разделе).

    Обычное сочетание клавиш для удаления листа

    ALT + H + D + S
    Если вы предпочитаете отказаться от мыши и использовать только клавиатуру, указанное выше сочетание клавиш удалит активный лист или выбранные листы.

    Вам нужно нажимать эти клавиши последовательно (т. Е. Одну за другой).

    Хотя это может выглядеть как немного более длинное сочетание клавиш, как только вы привыкнете к нему, оно будет таким же быстрым, как и любой другой метод, описанный в этом руководстве.

    Устаревшее сочетание клавиш для удаления листов

    Как и у всех остальных, у Excel тоже есть прошлое, и оно не такое уж красивое. Я говорю об эпохе до-ленточного стиля.

    По соображениям совместимости Excel по-прежнему позволяет некоторым из этих старых сочетаний клавиш работать в более новых версиях. и во многих случаях эти ранние ярлыки короче и лучше.

    К счастью, есть устаревшее сочетание клавиш, которое работает для удаления листов в Excel.
    ALT + E + L

    Удаление ActiveSheet с помощью VBA

    Когда дело доходит до удаления одного листа или нескольких рабочих листов, лучше использовать вышеупомянутые методы.

    Хотя VBA может автоматизировать процесс, он полезен, когда вам приходится повторять задачу несколько раз.

    Как вы увидите, с помощью VBA вы можете намного больше, когда дело доходит до удаления листов в Excel.

    Итак, я расскажу вам о более сложных случаях использования, но перед этим давайте посмотрим, как просто удалить активный рабочий лист с помощью VBA.

    Ниже приведен код VBA, который удалит активный лист:
    Sub DeleteSheet () ActiveSheet.Delete End Sub
    Если вы используете его в непосредственном окне, вы можете просто использовать следующую строку:
    ActiveSheet.Delete
    Когда вы используете приведенный выше код для удаления активного листа, Excel покажет вам приглашение, в котором вам нужно будет нажать кнопку удаления, чтобы подтвердить действие.

    Удаление листа без отображения запроса на подтверждение

    Окно сообщения с запросом подтверждения — это полезная функция, которая гарантирует, что у вас есть возможность отменить удаление листа в случае, если вы случайно / ошибочно запустили код.

    Но если вы уже знаете, что делаете, это сообщение может сильно раздражать.

    Итак, вот код VBA, который гарантирует, что листы удалены, но вы не видите окно с запросом подтверждения.
    Sub DeleteSheet () Application.DisplayAlerts = False ActiveSheet.Delete Application.DisplayAlerts = True End Sub
    В приведенном выше коде я установил для свойства Application.DisplayAlerts значение false, что означает, что Excel не будет показывать вам какие-либо предупреждения на дисплее во время выполнения кода.

    Также очень важно убедиться, что вы вернули его к истине в конце кода, чтобы восстановить функциональность (как вы можете видеть, что я сделал в приведенном выше коде).

    Внимание! Если для свойства Application.DisplayAlerts установлено значение false, Excel просто удалит рабочий лист, и восстановить его будет невозможно. поэтому я советую вам сделать резервную копию, прежде чем использовать такой код.

    Удаление листа по имени (если он существует) с помощью VBA

    VBA позволяет автоматизировать процесс удаления определенного листа (на нескольких листах) на основе имени листа.

    Например, если у вас есть рабочий лист с названием «Продажи», вы можете использовать приведенный ниже код, чтобы удалить его:
    Sub DeleteSheetByName () Sheets ("Продажи"). Удалить End Sub
    Этот код удалит только лист с именем «Продажи».

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

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

    И поскольку я не менял свойство Application.DisplayAlert, вы увидите приглашение, в котором вам нужно будет нажать кнопку удаления, чтобы подтвердить продолжительность листа продаж.

    Если вы хотите удалить несколько листов по их имени, вы также можете это сделать.

    Например, приведенный ниже код удалит листы с именами Продажи, Маркетинг, Финансы:
    Sub DeleteSheetsByName () Sheets («Продажи»). Delete Sheets («Marketing»). Delete Sheets («Finance»). Delete End Sub

    Удаление всех листов, кроме активного листа, с помощью VBA

    Если у вас есть книга с несколькими листами, и вы хотите удалить все листы, кроме активного листа, VBA, вероятно, является одним из лучших способов сделать это.

    Ниже приведен код VBA, который удалит все листы, кроме активного листа в книге.
    Sub DeleteSheetByName () Dim ws As Worksheet Application.DisplayAlerts = False для каждого ws в таблицах Если ws.Name ActiveSheet.Name Then ws.Delete End If Next ws Application.DisplayAlerts = True End Sub
    Обратите внимание, что я сказал, что свойство Application.DisplayAlerts находится в начале кода, так как я не хочу видеть подсказку для каждого удаляемого листа.

    Удалить все листы с определенной текстовой строкой в ​​имени

    Это немного более продвинутый вариант эффективного использования VBA при удалении листов.

    Предположим, у вас есть книга с множеством разных листов, и вы хотите удалить все листы, в которых есть определенная текстовая строка, тогда вы можете легко сделать это с помощью VBA.

    Например, ниже у меня есть рабочая книга, в которой я хочу удалить все рабочие листы, в которых есть текстовая строка «Продажи».

    Ниже приведен код VBA, который сделает это:
    Sub DeleteSheetByName () Dim ws As Worksheet Application.DisplayAlerts = False For Each ws In Sheets If ws.Name Like "*" & "Sales" & "*" Тогда MsgBox ws.Name ws.Delete End If Next ws Application.DisplayAlerts = Истинный конец Sub
    В приведенном выше коде используется оператор if-then для просмотра всех листов в книге. Он проверяет имя всех этих рабочих листов, и если имя содержит слово «Продажи», то этот рабочий лист удаляется.

    Если вы хотите изменить код и найти любую другую текстовую строку, вы можете изменить ее в пятой строке приведенного выше кода.

    Также обратите внимание, что я использовал звездочку (*), которая является символом подстановки, с обеих сторон текстовой строки, которую мы ищем в имени рабочего листа. Это гарантирует, что независимо от того, где строка появляется в имени листа, она все равно будет удалена.

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

    Например, если вы хотите удалить те листы, в которых термин продажи появляется в начале, используйте следующий код в пятой строке.
    Если ws.Name Like "*" & "Sales" & "*" Тогда
    Здесь я использовал подстановочный знак только после текста «drink», а не перед ним. Это обеспечит при проверке имен рабочего листа только те, которые будут соответствовать критериям, в которых термин «Продажи» стоит в начале имени.

    Итак, это некоторые из методов, которые вы можете использовать, если хотите удалить листы в Excel. В большинстве случаев вы можете легко сделать это прямо на рабочем листе с помощью мыши или сочетания клавиш.

    Но если у вас тяжелая книга с большим количеством листов и вы хотите быстро удалить определенные типы листов, вы также можете использовать VBA.

    Надеюсь, вы нашли этот урок полезным.

    1. Как удалить лист из книги без подтверждения (программно)?

    2. Как создать форму с вводом пароля…

    4 ответа

    1.9K

    10 марта 2004 года

    DKef

    44 / / 11.03.2003

    Цитата:

    Originally posted by Lev_ru
    1. Как удалить лист из книги без подтверждения (программно)?
    Включение/отлючение сообщений:
    Application.DisplayAlerts = True
    Application.DisplayAlerts = False

    Удаление листа:
    Sheets(name).Delete

    2. Как создать форму с вводом пароля…

    Форма с успехом создается средствами ВБА :)

    266

    10 марта 2004 года

    mhaturov

    901 / / 23.10.2003

    Цитата:

    Originally posted by Lev_ru
    1. Как удалить лист из книги без подтверждения (программно)?

    2. Как создать форму с вводом пароля…

    По первому вопросу, как сделать так, чтобы не выводилось сообщение, я, к сожалению. не могу ответить.
    По второму вопросу. В VB в свойствах текстбокса можно установить свойство PasswordChar — в этом случае вместо твоих символов будут выводиться те значки, которые укажешь в этом свойстве.
    Можно так же повесить замену символов на событие KeyPress. Заменаяешь KeyAscii на код «шифровального» символа, перед этим запоминая введённый символ в переменную. И всё

    1.2K

    11 марта 2004 года

    Штурман

    147 / / 01.08.2003

    отменна запросов
    Application.DisplayAlerts = False
    отменна отменны запросов
    Application.DisplayAlerts = True
    т.е. должно выглядеть так
    Application.DisplayAlerts = False
    ‘удаление листа
    Application.DisplayAlerts = True
    удачи

    2.6K

    11 марта 2004 года

    Lev_ru

    35 / / 05.03.2004

    1. ThisWorksheet:

    Private Sub Workbook_Open()
    Application.Run «Enter_Password»
    End Sub
    ____________________________________
    2. Forms:

    Option Explicit
    Private Sub Yes_Click()
    frmPassword.Hide
    End Sub

    Private Sub No_Click()
    Application.DisplayAlerts = False
    Application.Quit
    End Sub
    ____________________________________
    3. Modules:

    Sub Enter_Password()
    frmPassword.Show
    InputParol = frmPassword.Value_Password.Value
    If InputParol = «admin» Then
    MsgBox «Вы вошли в программу с правами администратора!»
    ElseIf InputParol = «user» Then
    MsgBox «Вы вошли в программу с правами пользователя!»
    Else
    MsgBox «Вы ввели неверный пароль!»
    Application.Run «Enter_Password»
    End If
    End Sub
    ____________________________________
    Каким должен быть код в макросе Enter_Password, если в форму ввести еще один InputBox?
    То есть я хочу сделать еще и проверку имени (если имя=ххх и если пароль равен=ххх то…)?

    Понравилась статья? Поделить с друзьями:
  • Excel vba удаление диапазона строк
  • Excel vba удаление всех страниц
  • Excel vba убрать форматирование
  • Excel vba убрать фильтр
  • Excel vba убрать предупреждения