14.11.2019, 08:52 [+3 UTC]
в нашей команде: 3 972 чел. | участники онлайн: 3 (рекорд: 21)

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

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

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

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

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

Форум:
04.11.2019, 16:30

Последний вопрос:
14.11.2019, 01:32
Всего: 150958

Последний ответ:
14.11.2019, 06:06
Всего: 259397

Последняя рассылка:
14.11.2019, 08:45

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

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

Наша кнопка:

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

Отзывы о нас:
30.07.2011, 10:57 »
Lion
Спасибо, но прошу уточнить ответ, с учётом дополнительных вопросов в мини-форуме. Суть понятна, Вы считаете, что это не законно, но я не понял, чем мне мотивировать в суде. [вопрос № 183822, ответ № 267978]
09.10.2009, 11:29 »
Болдырев Тимофей
Очень трудоёмкое решение. Спасибо вам большое! [вопрос № 173018, ответ № 255179]
31.07.2011, 17:07 »
Lion
Браво! Вы единственный, кто сумел правильно оценить какие взаимоотношения в данном случае возникают между банком и взыскателем. Первое, второе и последнее предложение Вашего ответа исчерпывающе отвечают на поставленный вопрос. Подробнее в мини-форуме. [вопрос № 183822, ответ № 267984]

РАЗДЕЛ • Basic

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

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

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

Gluck
Статус: 7-й класс
Рейтинг: 861
solowey
Статус: Бакалавр
Рейтинг: 236
mklokov
Статус: 8-й класс
Рейтинг: 153

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

Консультация онлайн # 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.13471 сек.

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