|
|
|
help-vba
|
|||
|---|---|---|---|
|
#18+
Очень нужна помощь. Если такие темы запрещены на Вашем форуме заране извиняюсь. Нужно написать макрос под exel. макрос должен открывать два документа exel и сравнивать их. В документах столбцы строк. В конце должен быть вывод слов второго документа которые были в первом с номерами которые соответствовали этим словам в первом документе. на код я не рассчитываю, протсо подскажите общий вектор в котором мне надо искать решение.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2006, 20:13:28 |
|
||
|
help-vba
|
|||
|---|---|---|---|
|
#18+
спасибо. почитал. вот что получилось есть три колонки B,D,E. Нужно что бы черз цикл сравнивались все d c b и "истина/ложь" записывалась бы в e... но у меня ничего не работает.... :( [QUOTE]Dim y As Integer Dim y2 As Integer Dim cellName As String Dim cellName2 As String Dim cellName3 As String y = Range("b1").CurrentRegion.Rows.Count y2 = Range("d1").CurrentRegion.Rows.Count For i = 1 To y2 For j = 1 To y cellName = "D_" & y2 cellName2 = "B_" & y cellName3 = "E_" & y Range([cellName3]).FormulaLocal = "=СОВПАД([cellName];[cellname2])" Next Next[/QUOTE] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.01.2006, 17:25:49 |
|
||
|
help-vba
|
|||
|---|---|---|---|
|
#18+
Попробуй. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Рузультат. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2006, 09:20:49 |
|
||
|
help-vba
|
|||
|---|---|---|---|
|
#18+
спасибо. у меня возникли еще две маленькие проблемы 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 дней.... люди добрые помогите кто чем сможет сами мы не местные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2006, 17:25:10 |
|
||
|
help-vba
|
|||
|---|---|---|---|
|
#18+
1) Application.CheckSpelling() работает с текущим словарем проверки орфографии. Можно попробовать переключать словари, вроде: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 2) По-моему, нижний регистр - это LCase(), и еще вопрос, сможет ли эта ф-я преобразовать сразу целый диапазон... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 20:16:28 |
|
||
|
help-vba
|
|||
|---|---|---|---|
|
#18+
моя программа находится на звершающем этапе но возникла одна проблема я использую для сравнения следующий цикл [QUOTE]For i = 1 To dnumber Range("G3").Value = i cell = "D" & i iii = 0 For j = 1 To bnumber iii = iii + 1 cell2 = "B" & j If Not Range([cell]).Value = Empty And Range([cell]).Value = Range([cell2]).Value Then CellName = "F" & ii CellName2 = "E" & ii Range([CellName]).Value = Range([cell]).Value ii = ii + 1 Range([CellName2]).Value = iii End If Next Next[/QUOTE] т.е. есть три столбца слова второго находятся в первом и помещаются в третий. проблема в том что если используются более 1000 слов для столбцов (2-3 тысячи) то цикл работает ОЧЕНЬ медленно. :wall: пожалуйста подскажите с чем это может быть связано.... :wacko: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 16:46:48 |
|
||
|
help-vba
|
|||
|---|---|---|---|
|
#18+
Во-первых, зачем использовать Cell= "D" & i, Range([cell]).Value ? Есть же Cells(i,j).Value ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 18:10:21 |
|
||
|
help-vba
|
|||
|---|---|---|---|
|
#18+
Во-вторых: Проставляем в столбце E номера строк для слов D=B: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.03.2006, 18:34:00 |
|
||
|
|

start [/forum/topic.php?fid=60&tid=2166282]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
199ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 525ms |

| 0 / 0 |
