Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
help-vba |
Философия, технологии, алгоритмы! |
|
Опции темы |
23.01.2006, 19:07 | #1 |
Форумец
Сообщений: 12
Регистрация: 23.01.2006
Не в сети |
help-vba
Очень нужна помощь. Если такие темы запрещены на Вашем форуме заране извиняюсь. Нужно написать макрос под exel. макрос должен открывать два документа exel и сравнивать их. В документах столбцы строк. В конце должен быть вывод слов второго документа которые были в первом с номерами которые соответствовали этим словам в первом документе.
на код я не рассчитываю, протсо подскажите общий вектор в котором мне надо искать решение.... |
24.01.2006, 11:56 | #3 |
Форумец
Сообщений: 12
Регистрация: 23.01.2006
Не в сети |
кстати очень трезво. спасибо
|
24.01.2006, 16:23 | #5 | |
Форумец
Сообщений: 12
Регистрация: 23.01.2006
Не в сети |
я все равно слишком тупой все равно не работает...
вот что я сваял пока.... есть три колонки B,D,E. Нужно что бы черз цикл сравнивались все d c b и "истина/ложь" записывалась бы в e... но у меня ничего не работает.... Цитата:
|
|
25.01.2006, 00:31 | #6 | |
Кэп Улитка
Сообщений: 8,067
Регистрация: 04.05.2005
Возраст: 43
Не в сети |
Вообщем не совсем понял че те надо.
Ниже код - открывает две книги - Книга1 и Книга2 Потом просматривает строки Книги2, если эта строка есть в книге один, то ее вписывает в вывод + номер ее строки в книге1 Цитата:
|
|
05.02.2006, 16:27 | #7 |
Форумец
Сообщений: 12
Регистрация: 23.01.2006
Не в сети |
спасибо. у меня возникли еще две маленькие проблемы
1. нужно проверить каждое слово входит ли оно в словарь. Например "дом" входи а "абырвалг" входить не будет о чем выводяться собщения. Но вся беда в том что на английские слова это не рапространяеться. и "hello" не будт найдено и "house" любое английское слово - не распознаеться. как сделать так что бы нижеприведенная функция распространялась и на английские слова.. Private Sub orph_Click() Dim wrd As String wrd = "дом" If Application.CheckSpelling(wrd) Then MsgBox "slovo '" & wrd & "' naideno" Else MsgBox "slovo '" & wrd & "' ne naideno" End If End Sub 2.Нужно что бы все буквы приобразовывались в нижний регистр. вытащил из книги вот такой кусок кода. но как его использовать не догоню. и на кнопку вешаю формы и на кнопку экселевскую. ничего не выходит. Private Sub ActiveSheet_Change(ByVal Target As Range) MsgBox "!!!!!" Application.EnableEvents = False If Not Application.Intersect(Target, Range("B1:B100")) Is Nothing Then Target.Value = UCase(Target.Value) End If Application.EnableEvents = True End Sub п.с.изучаю vba 10 дней.... люди добрые помогите кто чем сможет сами мы не местные |
06.02.2006, 21:36 | #9 | |
Форумец
Сообщений: 12
Регистрация: 23.01.2006
Не в сети |
Цитата:
|
|
06.02.2006, 23:16 | #10 |
Кэп Улитка
Сообщений: 8,067
Регистрация: 04.05.2005
Возраст: 43
Не в сети |
Да че волнуешься? Через год новая начнется, или через два (если в армию сходишь), хе-хе.
И вообще учись формулировать задачи - я опять не понял че те надо. Правильно сформулированная задача - это уже половина решения |
02.03.2006, 15:47 | #11 | |
Форумец
Сообщений: 12
Регистрация: 23.01.2006
Не в сети |
моя программа находится на звершающем этапе но возникла одна проблема
я использую для сравнения следующий цикл Цитата:
проблема в том что если используются более 1000 слов для столбцов (2-3 тысячи) то цикл работает ОЧЕНЬ медленно. :wall: пожалуйста подскажите с чем это может быть связано.... :wacko: |
|
07.03.2006, 18:13 | #12 |
Форумец
Сообщений: 217
Регистрация: 21.08.2005
Возраст: 45
Не в сети |
[QUOTE если используются более 1000 слов для столбцов (2-3 тысячи) то цикл работает ОЧЕНЬ медленно.[/QUOTE]
ну что тут можно посоветовать..... Пожалуй рецепт лишь один - надо добиваться снижения "накладных расходов" на этапе выполнения макроса. Проще говоря - надо заниматься оптимизацией ваших шедевров в плане производительности... Один из самых прогрессивных методов - это использование по-максимуму уже и так имеющихся средств VBA. Надо юзать функции и методы, имеющие максимальную производительность. Те, которые в своих вызовах используют БИБЛИОТЕКИ EXCEL..... Те, которые НАПРЯМУЮ (правду говорю!) обращаются к контенту записей листа книги excel... Что впрочем говорить, если у многих возникнет желание - я дам совет и пример по использованию VBA. |
20.05.2006, 21:09 | #16 | |
Форумец
Сообщений: 12
Регистрация: 23.01.2006
Не в сети |
yandex к сожалению для тебя все сдал
Ryan, спасибо тебе но экзамен был сдан в аккурат за день до твоих постов. Цитата:
вот тут выложил техничекое задание и описание контрольного примера http://slil.ru/22767875 там подробно описано что я делал и есть код. |
|