18.07.2019, 19:10 [+3 UTC]
в нашей команде: 3 747 чел. | участники онлайн: 6 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.77 (31.05.2019)
JS-v.1.34 | CSS-v.3.35

Общие новости:
28.04.2019, 09:13

Форум:
18.07.2019, 12:26

Последний вопрос:
18.07.2019, 11:30
Всего: 149936

Последний ответ:
18.07.2019, 12:04
Всего: 258705

Последняя рассылка:
17.07.2019, 22:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
29.12.2011, 09:22 »
Посетитель - 385948
ГЛУБОЧАЙШАЯ БЛАГОДАРНОСТЬ !!!!!!! [вопрос № 185004, ответ № 269381]
22.05.2010, 13:17 »
Гулин Вячеслав Николаевич
Вот это я понимаю исчерпывающий ответ !!! [вопрос № 178527, ответ № 261568]

РАЗДЕЛ • Basic

Создание программ на языке Basic.

[администратор рассылки: Андреенков Владимир (Академик)]

Лучшие эксперты в этом разделе

solowey
Статус: Практикант
Рейтинг: 206
Megaloman
Статус: Академик
Рейтинг: 108
Sergey V. Gornostaev
Статус: Специалист
Рейтинг: 4

Перейти к консультации №:
 

Консультация онлайн # 68903
Раздел: • Basic
Автор вопроса: Wera-d
Отправлена: 28.12.2006, 13:03
Поступило ответов: 1

Добрый день!
помогите написать макрос.
у меня есть список(в столбце "А:А").
необходимо через окно ввода(типа inputbox, если возможно или другое).
ввести слово(или словосочетание, которое находится в списке) в форму и если это слово(или словосочетание) находится
на 1-м месте по отношению к другим, то в столбец "В" соответствующий этой строке поставить плюс "+",
если не на 1-м, то ничего проставлять не надо и переход на следующую строку
и так до конца списка столбца "А:А".
пример в приложении.
мерси заранее

Приложение:

Состояние: Консультация закрыта

Ответ # 134292 от Залетин Виталий Викторович (мь

Здравствуйте, Wera-d!
Если я правильно понял, чего надо, то выглядеть такой макрос должен приблизительно так:
1). Создайте в редакторе VBA форму (UserForm1). Най ней поместите текстовое поле (textBox1) и кнопку (CommandButton1).
2). Щелкните правой клавишей мышки на ярлыке листа в экселе и во всплывающем меню выберите пункт "Исходный текст".
3). Создайте там любую процедуру, которая будет Вам нужна чтобы провести нужные действия (например, Worksheet_Activate()).
4). В ней напишите код, который будет немодально (чтобы Вы могли иметь доступ к ячейкам на листе) выводить Вашу форму на экран. Например, такой:

Private Sub Worksheet_Activate() 'Происходит при переходе на рабочий лист
If f Is Nothing Then 'Если форма не загружена, то...
Set f = New UserForm1 'Загружаем ее
Load f

f.Show vbModeless 'Показываем
End If
End Sub

Private Sub Worksheet_Deactivate() 'Происходит при переключении на другой лист
If Not (f Is Nothing) Then 'Если форма загружена, то...
Unload f '... выгружаем ее, чтобы не мешала другой работе -
Set f = Nothing 'она же нужна например только на нужном нам листе
End If
End Sub

Таким образом, мы будем иметь выскакивающую на экран форму при переходе на нужный нам лист (Например, Лист1).

5). В форме как реакцию на щелчок на кнопке введите такой код:

Private Sub CommandButton1_Click()
Dim txt As String, stroka As String
Dim i As Long
Dim c As Range

txt = "##?##?## " & UCase(TextBox1.Text) & "*"
If Len(txt) = 0 Then
MsgBox "Введите текст!", vbCritical, "Ошибка"
Exit Sub
Else
i = 1
Set c = ActiveSheet.Columns(1)
Do While 1
stroka = UCase(c.Rows(i).Text)
If Len(stroka) = 0 Then Exit Do

If stroka Like txt Then
c.Rows(i).Columns(2) = "+"
Else
c.Rows(i).Columns(2) = vbNullString 'Вот это надо для того, чтобы Вы вручную не очищали 2 столбец после предыдущих результатов, но если не хотите, то сотрите эту строку
End If

i = i + 1
Loop
MsgBox "Все!"
End If
End Sub

Вводите в текстовом поле нужные слова и жмите кнопку.


Консультировал: Залетин Виталий Викторович (мь
Дата отправки: 30.12.2006, 15:21

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.15381 сек.

© 2001-2019, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.77 от 31.05.2019
Версия JS: 1.34 | Версия CSS: 3.35