|
|
|
сравнение числовых значений
|
|||
|---|---|---|---|
|
#18+
Добавлено: Ср Май 20, 2009 6:21 pm Заголовок сообщения: сравнение значений -------------------------------------------------------------------------------- здраствуйте, у меня к вам такой вопрос: в экселе в одной ячейке идёт перечисление нескольких числовых значений через запятую, вводим любое значение, необходимо проверить - повторялось ли данное значение в уже перечисленных нашла макрос: Sub Find_Matches() Dim CompareRange As Variant, x As Variant, y As Variant ' Set CompareRange = Range("C1:C9000") ' Set CompareRange = Workbooks("Book2"). _ ' Worksheets("Sheet2").Range("C1:C9000") ' For Each x In Selection For Each y In CompareRange If x = y Then x.Offset(0, 1) = x Next y Next x End Sub но проблема в том, что сравнение идёт только если одно числовое значение написано в одной ячейке Excel'я, подскажите, пожалуйста, как сделать так, чтобы проверялись все по отдельности значения написанные в ячейке через запятую? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 17:38 |
|
||
|
сравнение числовых значений
|
|||
|---|---|---|---|
|
#18+
в приведенном Вами примером используются встроенные возможности экселя для Вашей задачи нужно: - в цикле перебрать все ячейки, в которых ищется значение; - использовать функцию Spleet(); - искать в полученном массиве; если количество ячеек большое, работать будет долго :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 18:05 |
|
||
|
сравнение числовых значений
|
|||
|---|---|---|---|
|
#18+
by-pass- использовать функцию Spleet(); Split ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.05.2009, 20:11 |
|
||
|
сравнение числовых значений
|
|||
|---|---|---|---|
|
#18+
хм...спасибо за подсказку, нашла ещё один пример: Private Sub Worksheet_Change(ByVal Target As Excel.Range) If Target.Count = 1 Then With Application For Each x In Split(CStr(Target), ",") If .Sum(.CountIf(Target.EntireColumn, Array(x, _ x & ",*", "*," & x & ",*", "*," & x))) > 1 Then .EnableEvents = False .Undo .EnableEvents = True Exit For End If Next End With Else MsgBox "Изменения должны происходить в одной ячейке", , "" End If End Sub но опять же, что-то не допонимаю, как ему применить к своей проблеме(((((((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2009, 14:23 |
|
||
|
сравнение числовых значений
|
|||
|---|---|---|---|
|
#18+
я так понимаю, мне необходимо с помощью функции split разбить эти числовые значения внутри ячейки на массивы, а затем сравнить эти массивы....хм...только что-то не соображу, как выполнить жто программно...(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2009, 16:34 |
|
||
|
сравнение числовых значений
|
|||
|---|---|---|---|
|
#18+
куда вводим новое значение??? в ту же ячейку? что за глупости, зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2009, 16:50 |
|
||
|
сравнение числовых значений
|
|||
|---|---|---|---|
|
#18+
видимо, я некорректно объяснилась... значения, которые будем сравнивать вводим через запятую в другую ячейку сравниваем значения, записанные в одной ячейке тоже через запятую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2009, 17:14 |
|
||
|
сравнение числовых значений
|
|||
|---|---|---|---|
|
#18+
значения в ячейке A1 сравниваем с ячейкой B1 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2009, 17:47 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=35997320&tid=2160963]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 329ms |

| 0 / 0 |
