Здравствуйте уважаемые помощники! Я небольшой специалист в создании готового Макроса. Подскажите, пожалуйста, правильно ли я сделал Макрос в этой теме yl3d «Изменение регистра текста (малый-большой)». Вот мой алгоритм – последовательность как я делал. 1. Скачал файл 455450.xls(34.5 Kb) 2. Нажал Alt+F11 (универсальный способ вызова редактора для любых версий) → Появился Редактор Microsoft Visual Basic. 3. Слева появился Projekt - VBA Projekt 4. Выделил «Эта книга». 5. Сделал двойной щелчок левой клавишей мыши → Справа открылось Диалоговое окно (General). 6. Зашёл на сайте «Мир эксель» в раздел Мир MS Excel » Вопросы и решения » Готовые решения » Регистр (Изменение регистра текста.) вот ссылка:http://www.excelworld.ru/forum/3-2936-1#31918 7. Скопировал 2 (второй) Макрос вот это: [vba]
Код
Sub ConvRegistr1() Dim DataRng As Range, cell As Range, Tip As Byte On Error Resume Next Tip = InputBox("ВСЕ ПРОПИСНЫЕ = 1" & vbLf & "все строчные = 2" & vbLf & _ "Начинать С Прописных = 3" & vbLf & "Как в предложениях = 4" _ & vbLf & "иЗМЕНИТЬ рЕГИСТР = 5", "Выбор типа конвертации", 2) Set DataRng = Intersect(Selection, ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible)) If MsgBox("Заменить формулы на значения?", _ vbYesNo + vbQuestion, "Выбор типа конвертации") = vbNo Then Set DataRng = Intersect(DataRng, ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)) End If With Application ' На всякий случай, вдруг надо. =) .EnableEvents = False: .ScreenUpdating = False For Each cell In DataRng cell.Value = ConvertRegistr(cell.Value, Tip) Next cell .EnableEvents = True: .ScreenUpdating = True End With End Sub
[/vba] 8. Вставил скопированное справа в окно (General). 9. Закрыл это окно справа вверху. 10. Закрыл 2-ой (второй) раз справа ещё выше вверху. 11. Выделил синий Скруглённый прямоугольник, который находится в диапазоне ячеек F3:G5. 12. Сделал двойной щелчок левой клавишей мыши → Выбрал пункт «Назначить макрос…» 13. Клацнул левой клавишей мыши → появилось диалоговое окно «Назначить макрос объекту → Там в окне «Имя макроса» выделено «Скругленныйпрямоугольник1_Щелчок». 14. Слева внизу левой клавишей мыши я нажал ОК. 15. Закрыл файл. 11. ′Появилось диалоговое окно: Сохранить изменения в файле «Макрос проба делать 455450.xls′? (Так я назвал скачанный файл). 12. Я нажал «Да» 13. Файл закрылся. 14. Открыл файл. 15. Слева вверху над «Имя ячейки» и «Строка формул» появилось: « Предупреждение системы безопасности Запуск макросов отключен. Параметры…» 16. Левой клавишей мыши я нажал «Параметры…» → Появилось Диалоговое окно «Параметры безопасности Microsoft Office». 17. И я ставлю точку на «Включить это содержимое». 18. Теперь надо выделить ячейку, в которой я собираюсь менять Регистр и должно появится диалоговое окно "Выбор типа конвертации" и в этом окне выбрать цифру которой соответствует условное обозначение: 'Tip = 1 - ВСЕ ПРОПИСНЫЕ 'Tip = 2 - все строчные 'Tip = 3 - Начинать С Прописных 'Tip = 4 - Как в предложениях 'Tip = 5 - иЗМЕНИТЬ рЕГИСТР
Но когдая делаю щелчок левой клавишей мышки на синий Скруглённый прямоугольник у меня не появляется Диалоговое окно: «Microsoft office Excel Не удаётся выполнить макрос Макрос проба делать 455450.xls′ Скругленныйпрямоугольник1_Щелчок, Возможно этот макрос отсутствует в текущей книге либо все макросы отключены»
Вопрос: Что я сделал не так и почему у меня не работает макрос? Файл ___455450.xls(42.5 Kb) прикладываю. С уважением.
Здравствуйте уважаемые помощники! Я небольшой специалист в создании готового Макроса. Подскажите, пожалуйста, правильно ли я сделал Макрос в этой теме yl3d «Изменение регистра текста (малый-большой)». Вот мой алгоритм – последовательность как я делал. 1. Скачал файл 455450.xls(34.5 Kb) 2. Нажал Alt+F11 (универсальный способ вызова редактора для любых версий) → Появился Редактор Microsoft Visual Basic. 3. Слева появился Projekt - VBA Projekt 4. Выделил «Эта книга». 5. Сделал двойной щелчок левой клавишей мыши → Справа открылось Диалоговое окно (General). 6. Зашёл на сайте «Мир эксель» в раздел Мир MS Excel » Вопросы и решения » Готовые решения » Регистр (Изменение регистра текста.) вот ссылка:http://www.excelworld.ru/forum/3-2936-1#31918 7. Скопировал 2 (второй) Макрос вот это: [vba]
Код
Sub ConvRegistr1() Dim DataRng As Range, cell As Range, Tip As Byte On Error Resume Next Tip = InputBox("ВСЕ ПРОПИСНЫЕ = 1" & vbLf & "все строчные = 2" & vbLf & _ "Начинать С Прописных = 3" & vbLf & "Как в предложениях = 4" _ & vbLf & "иЗМЕНИТЬ рЕГИСТР = 5", "Выбор типа конвертации", 2) Set DataRng = Intersect(Selection, ActiveSheet.UsedRange.SpecialCells(xlCellTypeVisible)) If MsgBox("Заменить формулы на значения?", _ vbYesNo + vbQuestion, "Выбор типа конвертации") = vbNo Then Set DataRng = Intersect(DataRng, ActiveSheet.UsedRange.SpecialCells(xlCellTypeConstants)) End If With Application ' На всякий случай, вдруг надо. =) .EnableEvents = False: .ScreenUpdating = False For Each cell In DataRng cell.Value = ConvertRegistr(cell.Value, Tip) Next cell .EnableEvents = True: .ScreenUpdating = True End With End Sub
[/vba] 8. Вставил скопированное справа в окно (General). 9. Закрыл это окно справа вверху. 10. Закрыл 2-ой (второй) раз справа ещё выше вверху. 11. Выделил синий Скруглённый прямоугольник, который находится в диапазоне ячеек F3:G5. 12. Сделал двойной щелчок левой клавишей мыши → Выбрал пункт «Назначить макрос…» 13. Клацнул левой клавишей мыши → появилось диалоговое окно «Назначить макрос объекту → Там в окне «Имя макроса» выделено «Скругленныйпрямоугольник1_Щелчок». 14. Слева внизу левой клавишей мыши я нажал ОК. 15. Закрыл файл. 11. ′Появилось диалоговое окно: Сохранить изменения в файле «Макрос проба делать 455450.xls′? (Так я назвал скачанный файл). 12. Я нажал «Да» 13. Файл закрылся. 14. Открыл файл. 15. Слева вверху над «Имя ячейки» и «Строка формул» появилось: « Предупреждение системы безопасности Запуск макросов отключен. Параметры…» 16. Левой клавишей мыши я нажал «Параметры…» → Появилось Диалоговое окно «Параметры безопасности Microsoft Office». 17. И я ставлю точку на «Включить это содержимое». 18. Теперь надо выделить ячейку, в которой я собираюсь менять Регистр и должно появится диалоговое окно "Выбор типа конвертации" и в этом окне выбрать цифру которой соответствует условное обозначение: 'Tip = 1 - ВСЕ ПРОПИСНЫЕ 'Tip = 2 - все строчные 'Tip = 3 - Начинать С Прописных 'Tip = 4 - Как в предложениях 'Tip = 5 - иЗМЕНИТЬ рЕГИСТР
Но когдая делаю щелчок левой клавишей мышки на синий Скруглённый прямоугольник у меня не появляется Диалоговое окно: «Microsoft office Excel Не удаётся выполнить макрос Макрос проба делать 455450.xls′ Скругленныйпрямоугольник1_Щелчок, Возможно этот макрос отсутствует в текущей книге либо все макросы отключены»
Вопрос: Что я сделал не так и почему у меня не работает макрос? Файл ___455450.xls(42.5 Kb) прикладываю. С уважением.Никанор
В этом макросе используется пользовательская функция ConvertRegistr, которую тоже надо было взять по той же ссылке. Лучше было бы создать стандартный модуль (Insert-- Module), а не размещать в Этой книге. Ну и п.13 неправильный, разве этот макрос называется Скругленныйпрямоугольник1_Щелчок?
В этом макросе используется пользовательская функция ConvertRegistr, которую тоже надо было взять по той же ссылке. Лучше было бы создать стандартный модуль (Insert-- Module), а не размещать в Этой книге. Ну и п.13 неправильный, разве этот макрос называется Скругленныйпрямоугольник1_Щелчок?Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Pelena – Елена! Большое спасибо за ответ. 1 вопрос: Я правильно понял: надо пункты 2 – 4 заменить на: Пункт 2. Insert → Module и туда вставить скопированное? 2 вопрос: что именно надо скопировать первый и второй макрос? 3 вопрос: как называется этот макрос – где в макросе найти название?
Pelena – Елена! Большое спасибо за ответ. 1 вопрос: Я правильно понял: надо пункты 2 – 4 заменить на: Пункт 2. Insert → Module и туда вставить скопированное? 2 вопрос: что именно надо скопировать первый и второй макрос? 3 вопрос: как называется этот макрос – где в макросе найти название?Никанор
Сообщение отредактировал Никанор - Пятница, 19.10.2018, 16:59
Pelena – Елена! Я сделал следующее: Первое: Пункты 2 – 4 заменил на: Пункт 2. Insert → Module. Второе: Скопировал с ссылки первый макрос и вставил открытый лист (General) , сделал пробел через Enter и туда вставил скопированное с ссылки второй макрос. Макрос называется: '455450.xls'!ConvRegistr1 И Макрос «заработал». Я правильно сделал?
В ссылке откуда я копировал наверное правильно было бы первый и второй макрос объединить верно? Название макроса '455450.xls'!ConvRegistr1 я написал интуитивно. А как найти название в самом тексте Макроса? Скажите пожалуйста это всегда надо вставлять Макрос через Insert → Module?
Pelena – Елена! Я сделал следующее: Первое: Пункты 2 – 4 заменил на: Пункт 2. Insert → Module. Второе: Скопировал с ссылки первый макрос и вставил открытый лист (General) , сделал пробел через Enter и туда вставил скопированное с ссылки второй макрос. Макрос называется: '455450.xls'!ConvRegistr1 И Макрос «заработал». Я правильно сделал?
В ссылке откуда я копировал наверное правильно было бы первый и второй макрос объединить верно? Название макроса '455450.xls'!ConvRegistr1 я написал интуитивно. А как найти название в самом тексте Макроса? Скажите пожалуйста это всегда надо вставлять Макрос через Insert → Module?Никанор
Сообщение отредактировал Никанор - Пятница, 19.10.2018, 17:17
Давненько я не заглядывал на форум... Сейчас стало считаться нормальным использование разноцветного текста в постах, особенно КРАСНОГО , кем-либо кроме админов и модераторов?
Давненько я не заглядывал на форум... Сейчас стало считаться нормальным использование разноцветного текста в постах, особенно КРАСНОГО , кем-либо кроме админов и модераторов?Alex_ST
Ну, вообще-то здесь меня только Лена поздравила и почему-то в личке... ----------------- А на форумах по Excel и VBA я давно не появлялся, т.к. в последние 3 года по работе начал заниматься проектированием, контролем строительства и эксплуатацией Центров Обработки Данных. Очень много рутинной работы и, к сожалению, очень мало связанной с любимым "ребусом" - Excel. Да и на работе сисадмины совсем озверели - всё позапрещали и лишили прав администратора. Поэтому не могу ни появившиеся после одного из обновлений форточек "кракозябры" побороть, ни работу с ActiveХ починить, ни даже CCleaner'ом комп почистить Так что писать что-нибудь не только некогда, но и мучительно Только иногда заглядываю немного почитать, т.к. в течение рабочего дня нет непрерывных периодов безделья на час-два, необходимых для проработки серьёзного совета или подробного ответа (а кое-как я делать не люблю, сами видите по моим старым постам и макросам). [/offtop]
Ну, вообще-то здесь меня только Лена поздравила и почему-то в личке... ----------------- А на форумах по Excel и VBA я давно не появлялся, т.к. в последние 3 года по работе начал заниматься проектированием, контролем строительства и эксплуатацией Центров Обработки Данных. Очень много рутинной работы и, к сожалению, очень мало связанной с любимым "ребусом" - Excel. Да и на работе сисадмины совсем озверели - всё позапрещали и лишили прав администратора. Поэтому не могу ни появившиеся после одного из обновлений форточек "кракозябры" побороть, ни работу с ActiveХ починить, ни даже CCleaner'ом комп почистить Так что писать что-нибудь не только некогда, но и мучительно Только иногда заглядываю немного почитать, т.к. в течение рабочего дня нет непрерывных периодов безделья на час-два, необходимых для проработки серьёзного совета или подробного ответа (а кое-как я делать не люблю, сами видите по моим старым постам и макросам). [/offtop]Alex_ST