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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2010, 21:49   #1
Cpluser
Форумчанин
 
Аватар для Cpluser
 
Регистрация: 16.02.2009
Сообщений: 555
По умолчанию Indexof

мне нада чтоб в стороке нашло то что в текстбоксе есть метод IndexOf?
Код:
Dim a As String

For i = 1 To 65536
a = Cells(i, ComboBox1.ListIndex + 1).Value
If a.IndexOf(TextBox1.Text) >= 0 Then 'error
Rows("" + CStr(i) + ":" + CStr(i) + "").Delete
End If
If Cells(i, ComboBox1.ListIndex + 1).Value = TextBox1.Text Then
Rows("" + CStr(i) + ":" + CStr(i) + "").Delete
End If
Next i

Последний раз редактировалось Cpluser; 08.04.2010 в 22:03.
Cpluser вне форума Ответить с цитированием
Старый 09.04.2010, 04:52   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

1. Вы лучше объясните, что Вам нужно. Зачем перебирать и сравнивать каждую ячейку столбца, да еще и в таком диапазоне?
2. Рациональнее использовать метод Find с опцией xlPart. Расскажите подробнее, какие строки требуется удалить.
3. При удалении строк с использованием цикла For...Next, для корректной работы строки необходимо перебирать снизу вверх.
4. Лучше сначала получить диапазон строк, которые требуется удалить, а затем сделать это "оптом". Так быстрее.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 09.04.2010 в 04:58.
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не применяется параметр Options для Table1.IndexDefs.IndexOf[i] adriano БД в Delphi 8 04.03.2009 18:07