Войти

Показать полную графическую версию : [решено] работа с excel, через vbs: удалить нужную строку


NibelungXXX
30-07-2013, 16:19
есть файл excel, в нем 5 столбцов и 15 строк.
Как сделать, чтобы смотрелся 5й столбец, и если там значение = 0, то удаляем эту строку, и в итоге становится 14 строк к примеру

Iska
30-07-2013, 16:40
есть файл excel, в нем 5 столбцов и 15 строк. »
Всегда выкладывайте образец документа.

Option Explicit

Const xlUp = &HFFFFEFBE


Dim objExcel
Dim objRange
Dim objRange4Remove


Set objExcel = WScript.CreateObject("Excel.Application")

With objExcel
With .Workbooks.Open("C:\Песочница\026\Книга1.xls")
With .Worksheets.Item(1)
Set objRange4Remove = Nothing

For Each objRange In .Range("E2:E16")
If objRange.Value = 0 Then
If objRange4Remove Is Nothing Then
Set objRange4Remove = objRange.EntireRow
Else
Set objRange4Remove = objExcel.Union(objRange4Remove, objRange.EntireRow)
End If
End If
Next
End With

If Not objRange4Remove Is Nothing Then
WScript.Echo objRange4Remove.Address
objRange4Remove.Delete xlUp
.Save
Else
WScript.Echo "Nothing found"
End If

.Close
End With

.Quit
End With

Set objExcel = Nothing

WScript.Quit 0

И, кстати, не рекомендую работать с предопределёнными количественными адресами в виде «в нем 5 столбцов и 15 строк».

NibelungXXX
30-07-2013, 17:45
спасибоIska
Всегда выкладывайте образец документа. »
он имеет 890 строк и в разных все ищет, не получится:))

И, кстати, не рекомендую работать с предопределёнными количественными адресами в виде «в нем 5 столбцов и 15 строк». »
эт точно)) но мне смысл нужен был, чтоб к своему прикрепить) а так вообще хоть кому можно будет цеплять)

Iska
30-07-2013, 18:40
NibelungXXX, смысл в том, чтобы а) отвечающему не приходилось ещё и производить дополнительную работу по созданию и наполнению документа и б) чтобы вопрошающий и отвечающий могли работать на одних и тех же данных. Ибо часто бывает так: код готов, у отвечающего он работает. У вопрошающего — нет. Начинаются расспросы, в результате которых выясняется, что вопрошающий — ах! — забыл о каких-то условиях, структура документа подразумевалась другая, кодировка совсем иная и т.д., и т.п. Вот посему я, раз за разом, даже не прошу, я требую у каждого — «Выкладывайте образцы документов, выкладывайте образцы документов…».




© OSzone.net 2001-2012