|
Excel функция find() | ☑ | ||
---|---|---|---|---|
0
yabodr
24.08.12
✎
18:30
|
Не могу понять почему функция отрабатывает только один раз, т.е. первый раз находит, что надо а второй нет....
НСтрока = Sheet.Columns(4).Find(Формат(Выборка.Период,"ЧЦ=2; ЧВН=; ДФ=dd.MM.yyyy")); НОбласть = Sheet.Range(Sheet.Cells.Item(НайденнаяСтрока.row,4), Sheet.Cells.Item(НайденнаяСтрока.row,28)); НОбласть.Cells(1,1).Value = Выборка.Период; Первый проход цикла: находит значение даты на листе, второй проход: другая дата не находится, хотя она там точно есть. То ли после первого поиска область выделяется и второй раз ищется уже в ней (тогда как снять выделение), то ли ещё что-то... Хелп! Заранее благодарен. |
|||
1
Жан Пердежон
24.08.12
✎
18:35
|
цикл говоришь...
|
|||
2
yabodr
24.08.12
✎
18:37
|
Да, цикл.
В зависимости от даты в выборке заполняю определенную ячейку определенного листа книги Excel. Так нельзя? |
|||
3
smaharbA
24.08.12
✎
18:38
|
ф1
|
|||
4
yabodr
25.08.12
✎
09:36
|
Заклинанье "ф1" пробовал, не разобрался, также пробовал заклинание "гуглить" - также безрезультатно.
Помогите, а я волшебное слово знаю - пожалуйста! |
|||
5
andrewks
25.08.12
✎
10:09
|
и где цикл?
|
|||
6
andrewks
25.08.12
✎
10:18
|
я бы сразу взял Range, и уже к нему бы применил Replace
|
|||
7
yabodr
25.08.12
✎
10:20
|
Мне бы find освоить ....
|
|||
8
andrewks
25.08.12
✎
10:22
|
(7) нафига тебе файнд, когда тебе нужен риплэйс?
|
|||
9
andrewks
25.08.12
✎
10:23
|
||||
10
comp2006
25.08.12
✎
10:29
|
Function Find(What, [After], [LookIn], [LookAt], [SearchOrder], [SearchDirection As XlSearchDirection = xlNext], [MatchCase], [MatchByte], [SearchFormat]) As Range
what = что искать after = левая верхняя ячейка начала поиска в указанном диапазоне lookin = искать в формулах или в значениях lookat = совпадения поиска точное или частичное SearchOrder = поиск по строкам или по столбцам SearchDirectiоn = направление поиска MatchCase = учитывать регистр букв SearchFormat = формат поиска |
|||
11
yabodr
25.08.12
✎
10:43
|
(8) У меня алгоритм следующий:
1.) Ищется строка, содержащая дату 2.) В найденной строке проставляются в определенные колонки значения. Немного изменю фрагмент кода, чтоб не вводить в заблуждение: НСтр = Sheet.Columns(4).Find(Формат(Выборка.Период,"ЧЦ=2; ЧВН=; ДФ=dd.MM.yyyy")); НОбл = Sheet.Range(Sheet.Cells.Item(НСтр.row,4), Sheet.Cells.Item(НСтр.row,28)); НОбл.Cells(1,3).Value = Выборка.СуммаПродаж; НОбл.Cells(1,4).Value = Выборка.СуммаДЗ; НОбл.Cells(1,5).Value = Выборка.СуммаОплат; и т.д. (10) Вываливается ошибка, когда я передаю в Find больше одного параметра ... |
|||
12
comp2006
25.08.12
✎
11:17
|
(11)>Вываливается ошибка, когда я передаю в Find больше одного параметра ...
1. Параметры пропускать нельзя 2. Вместо передачи символьных параметров нужно использовать числовые константы. Например: Параметр LookIn может принимать значения: xlComments xlFormulas xlValues Из 1С надо передавать, соответственно: -4144 -4123 -4163 |
|||
13
yabodr
25.08.12
✎
12:11
|
(12) Чесслово, пробовал
|
|||
14
yabodr
25.08.12
✎
21:39
|
up
|
|||
15
yabodr
27.08.12
✎
09:19
|
апну ещё разок ...
|
|||
16
yabodr
27.08.12
✎
10:18
|
Не оставьте в неведении, пожалуйста!!!
|
|||
17
Жан Пердежон
27.08.12
✎
10:33
|
сделай по-другому: в запрос тяни часть таблицы excel, а из запроса получишь уже номер строки
|
|||
18
yabodr
27.08.12
✎
10:47
|
(17) что-то это как-то сложновато, по-моему.
Пример кода ради интересе бы глянул, но хотел бы с find()'ом разобраться |
|||
19
yabodr
27.08.12
✎
11:55
|
Не сочтите за назойливость, но проблему пока решить не удается...
Спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |