Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2010, 14:44   #1
edikamn
Пользователь
 
Регистрация: 31.08.2010
Сообщений: 19
Подмигивание Удаление объектов на листе

Здравствуйте.
excel 2003.
На листе имеется много надписей (Texbox объект) из мени рисование, и кнопки (Botton объект) из панели формы.
Как написать макрос, чтобы удалялись все надписи, но при этом кнопки оставались.
Я пробовал sared.selecall потом delete. При этом удаляетя все и кнопки и надписи.
Как быть??????????
edikamn вне форума Ответить с цитированием
Старый 03.09.2010, 17:21   #2
аналитика
Форумчанин
 
Регистрация: 14.05.2009
Сообщений: 311
По умолчанию

файл с небольшим числом подопытных давай...
аналитика вне форума Ответить с цитированием
Старый 03.09.2010, 17:33   #3
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Идите циклом по объектам и проверяйте их тип. Все, что не кнопка(или все, что TextBox) удаляете, остальное не трогаете...

Вот для размышления:
Код:
Dim oSh As Shape
For Each oSh In ActiveSheet.Shapes
Debug.Print oSh.FormControlType; oSh.Name
if oSh.FormControlType = 5 then oSh.Delete
Next oSh
0 - Кнопки
5 - Надписи
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 05.09.2010, 23:27   #4
edikamn
Пользователь
 
Регистрация: 31.08.2010
Сообщений: 19
По умолчанию

Вот к примеру на листе1 есть надписи и кнопки, удалить нужно только надписи.
Вложения
Тип файла: rar 111111.rar (1.8 Кб, 53 просмотров)
edikamn вне форума Ответить с цитированием
Старый 06.09.2010, 00:08   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
Private Sub CommandButton1_Click()
Dim oSh As Shape
For Each oSh In ActiveSheet.Shapes
If oSh.Type = 17 Then oSh.Delete
Next oSh
End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 06.09.2010, 09:43   #6
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Цитата:
Сообщение от edikamn Посмотреть сообщение
Вот к примеру на листе1 есть надписи и кнопки, удалить нужно только надписи.
Т.е. самому трудно было через мой макрос выявить тип объектов для удаления?
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 06.09.2010, 23:08   #7
edikamn
Пользователь
 
Регистрация: 31.08.2010
Сообщений: 19
По умолчанию

Всем спасибо!!!!!

Я просто хотел увидеть другие решения.

Я не сильно разбираюсь в VBA. Я только начинающий.
Может кто посоветует книжку какую-нибудь, которая не очень сложная для начинаючих.
edikamn вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление одинаковых строк на листе Excel 2003 vfv Microsoft Office Excel 26 21.11.2014 12:58
Удаление динамических объектов / полная очистка формы 095 Общие вопросы Delphi 3 23.04.2012 16:09
Удаление объектов _-Re@l-_ Общие вопросы Delphi 7 16.06.2010 15:06
Удаление временных объектов Kn793 Общие вопросы C/C++ 4 10.06.2010 23:22
Удаление объектов PARTOS Microsoft Office Excel 2 11.05.2010 10:32