Страница: 1 |
Вопрос: Баг Автофильтра | Добавлено: 28.05.08 14:14 |
Автор вопроса: ![]() |
Здравствуйте. Буду очень признателен, если найдете баг.
есть переменная Dim databeg As String. ей присвавается значение из ячейки: databeg=Cells(3,4) Потом надо в автофильтре выбрать все НЕ равные databeg: Selection.AutoFilter Field:=1, Criteria1:="<=" & databeg Так вот не выбирает(... только пустые строки( хотя если прервать макрос и зайти в автофильтр, то при обновлении это условие срабатывает, и все нормально.... может синтаксис не такой? |
Ответы | Всего ответов: 8 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ICQ: ненавижу Вопросов: 28 Ответов: 317 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 28.05.08 14:18 |
А может в этом дело?
Criteria1:="<=" & databeg <= меньше или равно <> не равно |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 27 Ответов: 68 |
Профиль | Цитата | #2 | Добавлено: 28.05.08 14:52 |
Да не это я опечатался.... не Не равные, а меньше или равно....
короче суть в том, что не так не так не пашет.. хотя ячейки удовлетворяющие условиям и <> и <= есть... |
Номер ответа: 3 Автор ответа: ![]() ![]() ICQ: 237822510 Вопросов: 28 Ответов: 1182 |
Профиль | Цитата | #3 | Добавлено: 28.05.08 15:32 |
Местоположение укажи.Примерно
www = Range("C1"
![]() [b]Range("A1" ![]() Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:="<>" & www |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 27 Ответов: 68 |
Профиль | Цитата | #4 | Добавлено: 28.05.08 15:52 |
короче в переменной уже содержится строка.... но при вводе ее в критерий она не хочет искаться(
попробывал как ты написал... а же фигня... может с форматами дело? типа текст и число... или дата и число... (вообще в ячейках формат общий.. хотя и даты) |
Номер ответа: 5 Автор ответа: ![]() ![]() ICQ: 237822510 Вопросов: 28 Ответов: 1182 |
Профиль | Цитата | #5 | Добавлено: 28.05.08 16:30 |
Я пробовал с числами - работает. Так у тебя даты? почему тогда Dim databeg As String? |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 27 Ответов: 68 |
Профиль | Цитата | #6 | Добавлено: 28.05.08 16:35 |
Потому, что число это берется из названия папки(ddmmyy), в которой находится файл:
Function Mac3() Dim InFile, OutFile As String Dim SheetName, SheetNameA, VremenF, VremenF1, VremenF2, VremenL As String Dim databeg As String Dim A As Variant InFile = "" i = 1 InFile = Application.GetOpenFilename("Exel Files (*.xls), *.xls" ![]() If InFile = False Then MsgBox ("Îøèáêà: íà÷íèòå çàíîãî" ![]() Exit Function End If Workbooks.Open Filename:=InFile, _ UpdateLinks:=0 VremenL = ActiveWorkbook.Name Rows("4:4" ![]() Selection.AutoFilter Selection.AutoFilter x = Len(InFile) VremenF = Left$(InFile, x - 9) VremenF2 = Left$(VremenF, x - 10) VremenF2 = Right$(VremenF2, 6) VremenF2 = Left$(VremenF2, 2) & "." & Mid$(VremenF2, 3, 2) & ".20" & Right$(VremenF2, 2) databeg = VremenF2 Windows("mac.xls" ![]() Sheets("main" ![]() Selection.AutoFilter Field:=1, Criteria1:="<=" & databeg Selection.AutoFilter Field:=5, Criteria1:="N/A" '.... End Function |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 27 Ответов: 68 |
Профиль | Цитата | #7 | Добавлено: 29.05.08 13:10 |
так я и не избавился от этого бага... пришлось избавиться от этого условия, а потом уже после вставки удалять строки, содержащие databeg.... |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 23 Ответов: 417 |
Профиль | Цитата | #8 | Добавлено: 26.06.08 10:28 |
Попробуй переменную превращать в именно дату. Автофильтр срабатывает на сравнение дат, если указывать переменную именно в таком формате. |
Страница: 1 |
|