Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка поиска пустой строки в Excel / 6 сообщений из 6, страница 1 из 1
18.10.2006, 20:12:03
    #34064955
blacksun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка поиска пустой строки в Excel
MS Excel 2003
Ф-ция поиска строки в заданой колонке, на заданом листе, после заданой ячейки:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Public Function AFindStr(SearchString As String, WS As Worksheet, CurCell As Range) As Range
 
  Set AFindStr = WS.Cells.Find(What:=SearchString, After:=CurCell, LookIn:=xlValues, LookAt _
               :=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
               False)
If IsEmpty(AFindStr) Or AFindStr Is Nothing Then
   MsgBox ("Program cannot find the string <" & SearchString & ">.")
End If
При значении переменной SearchString равной пустой строке, Find возвращает Nothing. Тогда как при запуске этой же процедуры (Find) в интерфейсе (т.е. через меню) и с теми же параметрами Excel находит первую ячейку содержащую пустую строку.

Господа, если вы можете мне помочь, буду вам очень благодарен.
...
Рейтинг: 0 / 0
18.10.2006, 20:27:02
    #34064985
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка поиска пустой строки в Excel
Элементарно!
Замени:
Код: plaintext
If IsEmpty(AFindStr) Or AFindStr Is Nothing Then
на
Код: plaintext
If AFindStr Is Nothing Then
и все станет замечательно
...
Рейтинг: 0 / 0
18.10.2006, 20:31:11
    #34064988
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка поиска пустой строки в Excel
А так?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Public Function AFindStr(SearchString As String, WS As Worksheet, CurCell As Range) As Range
 
    Set AFindStr = WS.Cells.Find(What:=SearchString, After:=CurCell, LookIn:=xlValues, LookAt _
               :=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
               False)
    If AFindStr Is Nothing Then
       MsgBox ("Program cannot find the string <" & SearchString & ">.")
    End If
End Function

Sub test()
    MsgBox AFindStr("", ActiveSheet, ActiveCell).Address
End Sub

KL
[MVP - Microsoft Excel]
...
Рейтинг: 0 / 0
18.10.2006, 21:22:18
    #34065053
blacksun
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка поиска пустой строки в Excel
Господа White Owl и KL (XL) большое вам человеческое спасибо.
Как говориться, сам себя перемудрил.

To KL: Are You really Most Valuable Professional ?
...
Рейтинг: 0 / 0
18.10.2006, 21:29:32
    #34065066
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка поиска пустой строки в Excel
blacksunTo KL: Are You really Most Valuable Professional ?Правда, правда, я проверял :)
...
Рейтинг: 0 / 0
18.10.2006, 21:45:09
    #34065078
KL (XL)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка поиска пустой строки в Excel
blacksunГоспода White Owl и KL (XL) большое вам человеческое спасибо.
Как говориться, сам себя перемудрил.

To KL: Are You really Most Valuable Professional ?

Не, так просто повесил - вдруг кто и впрямь поверит :-)
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка поиска пустой строки в Excel / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]