Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / excel - признак пустой ячейки? / 9 сообщений из 9, страница 1 из 1
17.03.2005, 22:33
    #32967055
vital23
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
excel - признак пустой ячейки?
Мне нужно сделать следующее:
если допустим 2,3,4 поля строки пустые, то удалить всю строку
не подскажете как это будет выглядеть
как проверить,что поле пустое?
...
Рейтинг: 0 / 0
18.03.2005, 07:12
    #32967228
Ilhom_uz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
excel - признак пустой ячейки?
Это нужно проделать в excel через fox?
...
Рейтинг: 0 / 0
18.03.2005, 07:54
    #32967267
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
excel - признак пустой ячейки?
Если их Фокса то EMPTY(<Range.Value>), если из Excelя то IsEmpty()
...
Рейтинг: 0 / 0
18.03.2005, 08:20
    #32967286
piva
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
excel - признак пустой ячейки?
Не пустая в екселе .NULL. - потому и получается IsNull
...
Рейтинг: 0 / 0
18.03.2005, 10:30
    #32967525
vital23
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
excel - признак пустой ячейки?
да, это нужно проделать в excel через фокс, причем в цикле по строкам
а как задать range, зависимым от счетчика цикла, т.е. проверять сначала
допустим С3:K3, потом С4:K4 и т.д. Ci:Ki
Можно конечно выделять отдельную ячейку через cell и проверять пустая она или нет, и так для всех ячеек диапазона от С до K. И если какая-то из них непустая, то строку не удалять. Но по-моему это не так удобно, как с range
Извините за глупые вопросы, начинающий я
...
Рейтинг: 0 / 0
18.03.2005, 10:42
    #32967554
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
excel - признак пустой ячейки?
Делай цикл по строкам и проверяй содержание Cells
...
Рейтинг: 0 / 0
18.03.2005, 10:42
    #32967555
leaf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
excel - признак пустой ячейки?
ox= createobject(...)
ox.Workbooks.Open(....)
ox.Range("A1").Select
if empty(ox.Selection.value) &&& ?????? не уверен
ox.Selection.Selection.EntireRow.Delete
endif
...
Рейтинг: 0 / 0
19.03.2005, 23:34
    #32969900
Igor Korolyov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
excel - признак пустой ячейки?
Hi leaf!

Вот чего НЕ стоит делать при программной работе с Excel - так это постоянно пользоваться ...Select() + .Selection... - это ЗАМЕТНО усложняет код, и порой приводит к совершенно потрясающим глюкам - буквально на днях тут коллеги голову ломали - записывают макрос, в котором прячут 2 НЕСМЕЖНЫЕ колонки - запсукают макрос - вуаля - прячутся и эти колонки, и все МЕЖДУ ними - а всё от того что прямолинейный макрорекордер всё через .Select() и делал - заменили на прямую работу с диапазонами - и всё заработало :)
А по сути вопроса - так если обратится к .Range(не_одна_ячейка).Value - то в фокс попадёт массив, размерностью равный указанному Range с элементами - значениями ячеек. Уж как их проверять - дело другое - возможно что и ЯВНО вбитая строка пробелов (т.е. строго формально - НЕ ПУСТАЯ ячейка) не мешает удалению строки...

Кстати обратится к диапазону Ci:Ki можно например так:
laData = loWorkSheet.Columns("C:K").Rows(m.i).Value
Пустые ячейки будут представлены в массиве как "" - т.е. из фокса можно проверить по EMPTY(m.laData(m.j))

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
21.03.2005, 09:39
    #32970533
kms_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
excel - признак пустой ячейки?
Доброго всем времени суток!

Если еще нужен ответ по рассматриваемой проблеме, то вот код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
use oss_dv
COPY TO c:\market\NewPrice.xls TYPE XL5
MySheet=GetObject("c:\market\NewPrice.xls","Excel.Sheet")
MySheet.Application.Windows("NEWPRICE.XLS").Visible=.t.
n= 5   && Количество строк, которое необходимо проверить.
With MySheet.Application
     For mi= 1  to n
         cRange='C'+AllTrim(Str(mi))+':K'+AllTrim(Str(mi))  &&необходимый диапазон
         .Range(cRange).Select
         If .Selection.Columns.Count = .WorksheetFunction.CountBlank(.Selection)
            .Selection.EntireRow.Delete
            mi=mi- 1 
            n=n- 1 
         EndIF
     EndFor
EndWith
MySheet.Application.Visible=.t.

Вроде работает!
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / excel - признак пустой ячейки? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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