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

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


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

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 549
от 14.06.2007, 14:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 274, Экспертов: 36
В номере:Вопросов: 2, Ответов: 5


Вопрос № 90653: Здравствуйте уважаемые эксперты. Подскажите пожалуйста как в Ворде можно создать программу для перевода с латинского на кирилской алфавит. Стандартная макрос Найти-Заменит не подходит. Я бы хотель узнат с помощью selection.text И еще: какие учебн...
Вопрос № 90692: Уважаемые эксперты! Подскажите пожалуйста: есть данные (номера телефонов) в ячейках с A3 по A2000 есть мои данные в ячейках с C3 по С15000 Нужно сравнить все телефоны в столбце А со всеми телефонами в столбце С, и если в ячейке С ...

Вопрос № 90.653
Здравствуйте уважаемые эксперты. Подскажите пожалуйста как в Ворде можно создать программу для перевода с латинского на кирилской алфавит. Стандартная макрос Найти-Заменит не подходит. Я бы хотель узнат с помощью selection.text
И еще: какие учебнике ест по VBA for Word. не для Excel'я
Заране спасибо
Отправлен: 09.06.2007, 01:02
Вопрос задал: Muhammedov Abdurohman (статус: 3-ий класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Ualife
Здравствуйте, Muhammedov Abdurohman!
Я вас не понимаю. Почему вам не подходит такой код как у меня в приложении? Может слишком большой код? Согласен. Вместо selection.text - selection.find.text.
Посмотрите книжку "Электронный учебник VBA для чайников" (заказать можно по сылке http://compebook.ru/cd/6.htm)

Приложение:

---------
Нет границ - есть лишь препятствия!

Ответ отправил: Ualife (статус: 1-ый класс)
Ответ отправлен: 09.06.2007, 11:08
Оценка за ответ: 3
Комментарий оценки:
Я же сказал. Стандартная макрос не подходит. Я хотел создать свою версию программы, а не стандартного.


Вопрос № 90.692
Уважаемые эксперты!
Подскажите пожалуйста:
есть данные (номера телефонов) в ячейках с A3 по A2000
есть мои данные в ячейках с C3 по С15000
Нужно сравнить все телефоны в столбце А со всеми телефонами
в столбце С, и если в ячейке С встречается такой же телефон как и
в столбце А, то напротив совпавшего телефона столбца А, в столбце В
нужно вставить фразу "есть". Так как вручеую считать больше месяца,
то мне сказали написать макрос. Даже ума не приложу что именно писать,
так как у меня слабые знания в VisualBasic. Начал делать, поставил кнопку.
Написал для нее событие, но она делает совсем не то. Помогите, пожалуйста,
иначе придется анализировать вручную, а это адский труд.
С уважением Сергей
Отправлен: 09.06.2007, 11:42
Вопрос задал: Worsvch (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Felix
Здравствуйте, Worsvch!

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

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

Приложение:

---------
Нет границ - есть лишь препятствия!

Ответ отправил: Ualife (статус: 1-ый класс)
Ответ отправлен: 09.06.2007, 15:01
Оценка за ответ: 5
Комментарий оценки:
Хороший ответ!

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

Приложение:

Ответ отправил: Тесленко Евгений Алексеевич (статус: 8-ой класс)
Ответ отправлен: 09.06.2007, 21:38
Оценка за ответ: 5
Комментарий оценки:
Спасибо! Все таки я написал его сам, код у меня получился другой и работает. Но Ваш вариант мне тоже интересен

Отвечает: Залетин Виталий Викторович (мь!тарь)
Здравствуйте, 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
Оценка за ответ: 5
Комментарий оценки:
Спасибо большое!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное