2015-03-06 4 views
1

Мне нужно удалить всю строку IF column A значение пусто. Я делал это в Excel, и этот метод лучше всего работает для меняКак эффективно удалить пустые строки Excel с помощью VBS?

.Columns("a:a").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

мне нужно сделать то же самое с помощью vbs однако, у меня есть проблемы, преобразовав его в VBS

Как я могу преобразовать над строкой в ​​vbs?

Я искал xlCellTypeBlanks = 4 используя F2. Но как использовать метод SpecialCells?

ответ

1

Что-то вроде этого

Const xlCellTypeBlanks = 4 

Dim xlApp 
Dim xlwb 

Set xlApp = CreateObject("Excel.Application") 
Set xlwb = xlApp.workbooks.Open("C:\temp\test.xlsm") 
On Error Resume Next 
xlwb.Sheets(1).Columns("a:a").SpecialCells(xlCellTypeBlanks).EntireRow.Delete 
On Error GoTo 0 
0

Вам нужно будет иметь объект для Excel App, Workbook, Worksheet и т.д .. Так что-то вроде

Dim xlApp as Object 
Set xlApp = CreateObject("Excel.Application") 
Dim wb as object 
Set wb = xlApp.Open("YourWorbookName.xlsx") 
wb.Worksheets("NameOfWorksheet").Columns("a:a").SpecialCells(xlCellTypeBlanks).EntireRow.Delete 
+0

я, конечно, есть объект для всех из вышеперечисленных. Это только строка 'SpecialCells (xlCellTypeBlanks) .', которая не компилируется в' vbs' – Alex

+1

. Добавить 'Const xlCellTypeBlanks = 4' – omegastripes

+0

Этот код не работает в нескольких местах – brettdj