Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 | 2 |

 

  Вопрос: знаноки, жду вашей помощи!!! Добавлено: 16.01.09 18:39  

Автор вопроса:  Серега
Вообщем тут такое дело.. запарился я перебирать все способы!!!

Значит так..
1. имеются на форме много TextBox'ов.. и мне нужно чтобы они все очистились при нажатии на кнопку.. Знаю что можно просто сделать так:
Textbox1=""
Textbox2=""
и т.д.

НО код получается очень громоздким.
Дожен быть другой вариант с циклом, вот тока не знаю как его применить. Подскажите пожалуйста!!

2. и второе.. имеется график на листе в Excel'e.. Нужно его удалить при нажатии на кнопку, которая находится на форме.. как это сделать?

Ответить

  Ответы Всего ответов: 21  

Номер ответа: 1
Автор ответа:
 Unknown_Master



Вопросов: 11
Ответов: 264
 Профиль | | #1 Добавлено: 16.01.09 20:29
Не уверен, что так можно, но попробуй через массив объектов

Ответить

Номер ответа: 2
Автор ответа:
 Серега



Вопросов: 2
Ответов: 14
 Профиль | | #2 Добавлено: 16.01.09 20:42
Не уверен, что так можно, но попробуй через массив объектов


Я в Visual Basic'e очень плохо разбираюсь.. и с массивом не знаком((

Ответить

Номер ответа: 3
Автор ответа:
 Father



Вопросов: 0
Ответов: 159
 Профиль | | #3 Добавлено: 16.01.09 21:09
  1. Dim ctl As Control
  2.  For Each ctl In Me.Controls
  3.         If TypeOf ctl Is VB.TextBox Then ' MSForms.TextBox
  4.         ctl.Text = ""
  5.         End If
  6.  Next
  7. End Sub


Насчет удалить график в Excel..
Включи запись макроса, удали график вручную и посмотри что записалось.

Ответить

Номер ответа: 4
Автор ответа:
 Серега



Вопросов: 2
Ответов: 14
 Профиль | | #4 Добавлено: 16.01.09 21:12
Насчет удалить график в Excel..
Включи запись макроса, удали график вручную и посмотри что записалось.


Записывал уже.. пробовал, удаляет.. но не всегда

Ответить

Номер ответа: 5
Автор ответа:
 Серега



Вопросов: 2
Ответов: 14
 Профиль | | #5 Добавлено: 16.01.09 21:27
попробовал так вот что пишет:
http://s41.radikal.ru/i094/0901/42/ad73c93253f2.jpg

Ответить

Номер ответа: 6
Автор ответа:
 Father



Вопросов: 0
Ответов: 159
 Профиль | | #6 Добавлено: 16.01.09 21:29
1. VB.TextBox <-> MSForms.TextBox
2. Приведи код который не всегда удаляет.

Ответить

Номер ответа: 7
Автор ответа:
 Серега



Вопросов: 2
Ответов: 14
 Профиль | | #7 Добавлено: 16.01.09 21:37
ActiveSheet.ChartObjects.Activate
ActiveChart.ChartArea.Select
ActiveChart.Parent.Delete


или
ActiveSheet.ChartObjects("Диаграмма 1";).Activate
ActiveChart.ChartArea.Select
ActiveChart.Parent.Delete


без разницы как

Ответить

Номер ответа: 8
Автор ответа:
 Father



Вопросов: 0
Ответов: 159
 Профиль | | #8 Добавлено: 16.01.09 21:57
  1. Private Sub CommandButton1_Click()
  2.     Dim orgname As String
  3.     orgname = ActiveSheet.Shapes(1).Name
  4.     ActiveSheet.Shapes(orgname).Delete 'ActiveSheet.Shapes(1).Delete
  5. End Sub

Ответить

Номер ответа: 9
Автор ответа:
 Серега



Вопросов: 2
Ответов: 14
 Профиль | | #9 Добавлено: 16.01.09 22:08
Отлично!! Спасибо Father огромное, выручил... у меня есть еще пару вопросов, но это потом=)

Ответить

Номер ответа: 10
Автор ответа:
 Серега



Вопросов: 2
Ответов: 14
 Профиль | | #10 Добавлено: 16.01.09 22:19
а возможно предусмотреть такой вариант, когда графика на листе нет?? а то он ошибку выдает..

Ответить

Номер ответа: 11
Автор ответа:
 Father



Вопросов: 0
Ответов: 159
 Профиль | | #11 Добавлено: 16.01.09 22:37
  1. If Not ActiveSheet.Shapes.Count Then Exit Sub

Ответить

Номер ответа: 12
Автор ответа:
 fAndOrIn



Вопросов: 5
Ответов: 344
 Профиль | | #12 Добавлено: 16.01.09 22:38
  1. Private Sub CommandButton1_Click()
  2. Dim S As Shape
  3. For Each S In ActiveSheet.Shapes
  4.   If S.Type = msoDiagram Then S.Delete
  5. Next S
  6. End Sub

Ответить

Номер ответа: 13
Автор ответа:
 Father



Вопросов: 0
Ответов: 159
 Профиль | | #13 Добавлено: 16.01.09 22:38
sorry,
  1. If Not CBool(ActiveSheet.Shapes.Count) Then Exit Sub

Ответить

Номер ответа: 14
Автор ответа:
 Father



Вопросов: 0
Ответов: 159
 Профиль | | #14 Добавлено: 16.01.09 22:41
fAndOrIn, то что надо.
S.Type = msoDiagram or S.Type = msoChart

Ответить

Номер ответа: 15
Автор ответа:
 fAndOrIn



Вопросов: 5
Ответов: 344
 Профиль | | #15 Добавлено: 16.01.09 22:53
Father, спасибо!
И за код для формы отдельно (Вопросец: разработка ActiveX кнопки)
Будет чем занятся на досуге.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам