Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RFPRO.RU

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

Megaloman
Статус: Академик
Рейтинг: 269
∙ повысить рейтинг »
solowey
Статус: Практикант
Рейтинг: 267
∙ повысить рейтинг »
zdwork
Статус: 2-й класс
Рейтинг: 207
∙ повысить рейтинг »

∙ Basic

Номер выпуска:1135
Дата выхода:23.05.2019, 04:45
Администратор рассылки:Андреенков Владимир (Академик)
Подписчиков / экспертов:15 / 14
Вопросов / ответов:3 / 6

Консультация # 90692: Уважаемые эксперты! Подскажите пожалуйста: есть данные (номера телефонов) в ячейках с A3 по A2000 есть мои данные в ячейках с C3 по С15000 Нужно сравнить все телефоны в столбце А со всеми телефонами в столбце С, и если в ячейке С встречается такой же телефон как и в столбце А, то напротив совпавшего телефона столбца А, в ст...
Консультация # 12486: С помощью чего создается CHM-файл? И где скачать данный компилятор?...
Консультация # 178428: Уважаемые эксперты подскажите по скрипту If MsgBox("Если ... нажмите Да" & Chr$(13) & "Если ... нажмите Нет", vbYesNo + vbDefaultButton1, "ВНИМАНИЕ") = vbYes Then 'vbDefaultButton1 означает, что фокус должен быть на 1 кнопке MsgBox, можно это условие не ставить, по умолчанию фокус будет на 1 кнопке MsgBox Bee...

Консультация # 90692:

Уважаемые эксперты!
Подскажите пожалуйста:
есть данные (номера телефонов) в ячейках с A3 по A2000
есть мои данные в ячейках с C3 по С15000
Нужно сравнить все телефоны в столбце А со всеми телефонами
в столбце С, и если в ячейке С встречается такой же телефон как и
в столбце А, то напротив совпавшего телефона столбца А, в столбце В
нужно вставить фразу "есть". Так как вручеую считать больше месяца,
то мне сказали написать макрос. Даже ума не приложу что именно писать,
так как у меня слабые знания в VisualBasic. Начал делать, поставил кнопку.
Написал для нее событие, но она делает совсем не то. Помогите, пожалуйста,
иначе придется анализировать вручную, а это адский труд.
С уважением Сергей

Дата отправки: 09.06.2007, 11:42
Вопрос задал: Worsvch
Всего ответов: 4
Страница онлайн-консультации »


Консультирует Felix:

Здравствуйте, Worsvch!

Не нужно использовать ВБА. Используйте функцию ВПР:
1. Отсортируйте столбец А по возрастанию
2. в ячейке В3 пишете формулу: =ЕСЛИ(ВПР(C3;$A$2:$A$2000;1)=C3;"есть";"")
3. копируете формулу вниз до последней заполненной ячейки в столбце С (B1500).

Консультировал: Felix
Дата отправки: 09.06.2007, 12:32
Рейтинг ответа:

НЕ одобряю +1 одобряю!


Консультирует Ualife:

Здравствуйте, Worsvch!
Смотрите приложение, там код макроса.
Если что-то не понятно то пишите на mailto:ua.life@mail.ru

Приложение:

Консультировал: Ualife
Дата отправки: 09.06.2007, 15:01
Рейтинг ответа:

НЕ одобряю +1 одобряю!


Консультирует Тесленко Евгений Алексеевич:

Здравствуйте, Worsvch!
Вариант ответа от Felix, самый подходящий для решения Вашей задачи не прибегая к VBA. Если же Вы решили "познакомиться с VBA", предлагаю маленький кусочек кода с помощью которого так же можно решить Вашу задачу.
Удачи.
Евгений.

Приложение:

Консультировал: Тесленко Евгений Алексеевич
Дата отправки: 09.06.2007, 21:38
Рейтинг ответа:

НЕ одобряю +1 одобряю!


Консультирует Залетин Виталий Викторович (мь:

Здравствуйте, Worsvch!
Sub Sravn()
Dim lA As Long
Dim sh As Object, stat As String

Set sh = Excel.Sheets(1)
sh.Activate

stat = Application.StatusBar
Application.StatusBar = "Подождите, пожалуйста..."
DoEvents

Application.ScreenUpdating = False \'Это для того, чтобы экран до окончания не перерисовывался - так мы экономим некоторое кол-во времени

For lA = 3 To 15000 \'У Вас 15000
If Cells(lA, 1) = Cells(lA, 3) Then \'Смотрим, если А??=С??, то...
Cells(lA, 2) = "--- Есть ---" \'...в В?? пишем слово "--- есть ---"
End If
Next lA

Application.StatusBar = stat
Application.ScreenUpdating = True \'Обновляем экран
Set sh = Nothing
End Sub

Может еще как-то оптимизируете по скорости, но, по-моему, 1,5 секунды удовлетворительный результат (у меня на машине все отрабатывает за 1316 мс.)

Консультировал: Залетин Виталий Викторович (мь
Дата отправки: 10.06.2007, 14:48
Рейтинг ответа:

НЕ одобряю +1 одобряю!

Консультация # 12486:

С помощью чего создается CHM-файл? И где скачать данный компилятор?

Дата отправки: 01.01.2004, 00:01
Вопрос задал: Geograph
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Licvidator:

Здравствуйте, Geograph!
C помощью программ типа htm2chm и HTML Help Workshop.
Подробнее ищите в Google.

Консультировал: Licvidator
Дата отправки: 01.01.2004, 00:01
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 178428:

Уважаемые эксперты подскажите по скрипту
If MsgBox("Если ... нажмите Да" & Chr$(13) & "Если ... нажмите Нет", vbYesNo + vbDefaultButton1, "ВНИМАНИЕ") = vbYes Then 'vbDefaultButton1 означает, что фокус должен быть на 1 кнопке MsgBox, можно это условие не ставить, по умолчанию фокус будет на 1 кнопке MsgBox
Beep 'если пользователь нажал да
Else
Beep 'если пользователь нажал нет
End If
Почему то у меня на сообщении крест в углу формы сообщения становится недоступным, это как то устанавливается?
Можно ли сделать, чтобы ни на одной кнопке не было фокуса?
Спасибо Эндрю

Дата отправки: 16.05.2010, 15:16
Вопрос задал: Ципихович Эндрю
Всего ответов: 1
Страница онлайн-консультации »


Консультирует Измалков Эдуард Леонидович:

Здравствуйте, Ципихович Эндрю!
константа vbYesNo подразумевает, что обязательно должен быть какой-либо ответ, поэтому крестик для закрытия окна недоступен. Если Вы хотите дать пользователю шанс закрыть это окно, то используйте vbYesNoCancel.
Если какое-либо окно активно, то фокус обязательно должен быть на одном из элементов этого окна. MsgBox устроен так, что фокус у него всегда на какой-либо кнопке, первой по умолчанию, либо на другой, указанной
пользователем. Для того, чтобы фокус был не на кнопке можно создать свою форму, выполняющую те же функции, но с фокусом не на кнопке.

Консультировал: Измалков Эдуард Леонидович
Дата отправки: 16.05.2010, 16:36

5
нет комментария
-----
Дата оценки: 16.05.2010, 19:07

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

НЕ одобряю +1 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное