|
Excel
|
|||
---|---|---|---|
#18+
Подскажите как организовать поиск фрагмента “01.08.2004” в строке вида : “xxxxxxxxxxxxx 01.08.2004” которая находится в ОБЪЕДИНЁННЫХ 4-х столбцах B , C, D and E На ТЕКУЩИЙ МОМЕНТ НА ЛИСТЕ 2200 СТРОК, но в дальнейшем Количество строк буде расти СПАСИБО ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 12:09 |
|
Excel
|
|||
---|---|---|---|
#18+
могет типа : n = Format("01.08.2004", 0) e = Format(Right(Cells(i, j), 10), 0) If e = n Then Cells(i, j).Select End If Естественно "i" и "j" переменные диапазона поиска... Stepler (щёлк-щёлк!!) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 13:35 |
|
Excel
|
|||
---|---|---|---|
#18+
я бы сделал цикл for-each(это быстрее) по Range("B1:B2200") и проверял значение irange.range("A1") (это ссылка на 1 элемент ячейки при объединении) , например, через INstr. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 13:44 |
|
Excel
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4.
Строки заполнены прогрессией "fff 12.03.2003" (от 03 до 29). Для усложнения условий поиска первый столбец не содержит объединённых ячеек. Метод работает наиболее быстро из известных мне встроенных средств поиска. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 14:14 |
|
Excel
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6.
НЕ МОГЕТ БЫТЬ , ИМЕЕМ ERROR мой код на базе предложенного: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
в строке e = Format(Right(Cells(i, j), 10), 0) имеем 2 строки сообщения Run-time error ‘1004’: Application – defined or object-defined error 'n' and 'e' надо обїявлять ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 18:52 |
|
Excel
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3.
Ошибок нет, но я не знаю как выбрать найденную ячейку или выдать сообщение что искомый фрагмент не найден. Извините , СПАСИБО ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 18:55 |
|
Excel
|
|||
---|---|---|---|
#18+
См. пример в Help'е: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2004, 19:22 |
|
Excel
|
|||
---|---|---|---|
#18+
Beginner_1 Dim i As Integer Dim j As Integer i = 0 Должно быть Min (i) = 1 j = 1 n = Format("01.08.2004", 0) e = Format(Right(Cells(i, j), 10), 0) If e = n Then Cells(i, j).Select End If в строке e = Format(Right(Cells(i, j), 10), 0) имеем 2 строки сообщения Run-time error ‘1004’: Application – defined or object-defined error 'n' and 'e' надо обїявлять ? И вообще, не вижу цикла... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2004, 08:43 |
|
Excel
|
|||
---|---|---|---|
#18+
См. пример в Help'е:Find Method Example Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
СПАСИБО за пример, ОН, пример, работает только с НЕОБЪЕДИНЁННЫМИ ЯЧЕЙКАМИ, у меня же строка находится в смежных объединённых ячейках. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2004, 12:27 |
|
Excel
|
|||
---|---|---|---|
#18+
Вот пример с ячейками, объединёнными не только в строке, но и в столбце. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2004, 19:14 |
|
Excel
|
|||
---|---|---|---|
#18+
ProcessorВот пример с ячейками, объединёнными не только в строке, но и в столбце. Да, хороший пример, но если значение повторяется несколько раз? Я бы немного добавил: n = 1 m = "A3" mm = ":F34" l: If m & mm = "$F$34:F34" Then GoTo l1 Dim r As Range, g As Range Set r = ActiveSheet.Range(m & mm) Set g = r.Find(What:=ActiveSheet.Range("C1").Text) ActiveSheet.Range("E" & n) = IIf(g Is Nothing, "????", g.Address) n = n + 1 m = g.Address GoTo l l1: Естественно надо определяться с диапазоном просмотра... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2004, 11:23 |
|
Excel
|
|||
---|---|---|---|
#18+
Jojo , БОЛЬШОЕ СПАСИБО ЗА ПРИМЕРЫ ПО ДАТЕ, Я только что скопировал, буду пробовать ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2004, 15:22 |
|
Excel
|
|||
---|---|---|---|
#18+
Steplerно если значение повторяется несколько раз? Весь топик красной нитью пронизывает вопрос Beginner_1'а: у меня строка находится в смежных объединённых ячейках Пример как раз и показывает, что метод Find работает и в этом случае. Остальное - в примере из Help'а. Если же искомый фрагмент может повторяться в ячейке, используй поиск по строке в ячейке. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2004, 16:33 |
|
Excel
|
|||
---|---|---|---|
#18+
Processor Если же искомый фрагмент может повторяться в ячейке, используй поиск по строке в ячейке. Не обижайся, я имел ввиду - если не одна, а несколько ячеек содержать такое же значение.... Stepler (щёлк-щёлк!!) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2004, 16:50 |
|
Excel
|
|||
---|---|---|---|
#18+
SteplerНе обижайся, я имел ввиду - если не одна, а несколько ячеек... Не обижайся - следующие ячейки ищутся методом FindNext в цикле: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2004, 18:09 |
|
|
start [/forum/topic.php?fid=61&fpage=376&tid=2186704]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 238ms |
total: | 404ms |
0 / 0 |