Помогите написать код по выделению всех объектов TextBox, для последующего их удаления из книги.
Типа ActiveSheet.Shapes.TextBox.Select , можно ли в VBA использовать синтаксис шаблонов : по аналогии с tyy???.*; *.*; и т.д.
VBA код для Excel
Модератор: Naeel Maqsudov
Удалить все объекты "TextBox" с активного листа можно так:
Код: Выделить всё
Dim Sh As Shape
For Each Sh In ActiveSheet.Shapes
If Sh.Name Like "TextBox*" Then Sh.Delete
Next
- Aent
- Сообщения: 1129
- Зарегистрирован: 01 окт 2006, 14:52
- Откуда: Saratov,Russia
- Контактная информация:
SAS888, мне кажется это не совсем верно. Так как шейп может быть и переименован. Я бы использовал для перечисления TextBox код
Код: Выделить всё
[color=Navy]Public Sub[/color] TextBoxAsActiveXEnumerator()
[color=Navy]Dim[/color] o [color=Navy]As OLEObject[/color]
[color=Navy]For Each[/color] o [color=Navy]In ActiveSheet[/color].[color=Navy]OLEObjects[/color]
[color=Navy]If Right$[/color](o.[color=Navy]progID[/color], 10) = [color=DarkGreen][B]".TextBox.1"[/B][/color] [color=Navy]Then[/color]
o.[color=Navy]Delete[/color]
[color=Navy]End If
Next[/color] o
[color=Navy]End Sub[/color]
Андрей Энтелис,
aentelis.livejournal.com
aentelis.livejournal.com
Я проверил работу по второму коду на этом месте : If Right$(o.progID, 10) = *".TextBox.1"* Then программа дает ошибку
Aent, согласен с Вами.
agaysene, а зачем Вы звездочки поставили?
agaysene, а зачем Вы звездочки поставили?