2016-09-07 1 views
0

Что не так в функции ниже. Excel.exe * 32 не закрывается в диспетчере задач.Excel не закрывается в модуле доступа vba

Function formatExcel() 
    Dim FileName As String 
    FileName = "C:\This file\queryCentering.xlsx" 
    Set xl = New Excel.Application 
    Set wb = xl.Workbooks.Open(FileName) 
    With wb.Sheets(1) 
     Columns("E:E").Select 
     Selection.NumberFormat = "m/d/yyyy"   

     Columns("C:C").HorizontalAlignment = xlCenter 
     Rows("2:2").Select 
     Range(Selection, Selection.End(xlDown)).Select 
     Selection.RowHeight = 15 

    End With 
    wb.Save 
    wb.Close True 
    Set wb = Nothing 
    xl.Quit 
    Set xl = Nothing 
End Function 
+0

Что вы делаете с 'Selection.RowHeight = 15'? Похоже, что конечным результатом является выбор некоторых ячеек, но что с этим происходит? – Brad

ответ

1

У вас есть With wb.Sheets(1), но на самом деле его не используют.

Также не рекомендуется использовать объект Selection.

Попробуйте (обратите внимание на . перед тем Columns)

With wb.Sheets(1) 
    .Columns("E:E").NumberFormat = "m/d/yyyy"   
    .Columns("C:C").HorizontalAlignment = xlCenter 
End With 
+0

Спасибо, что я могу перевести это ниже в .row Строки («2: 2»). Выберите Диапазон (Выбор, Выбор.End (xlDown)). Выберите Selection.RowHeight = 15 – pinkrose

+0

@pinkrose: Пожалуйста, не делайте почтовый индекс в комментариях. Измените свой вопрос и добавьте его там, но это похоже на новый вопрос, поэтому, возможно, опубликуйте новый. – Andre

+0

Извинился, Андре, я новичок, спасибо, что был добрым. – pinkrose

0

ВЫ ДОЛЖНЫ ЗАКРЫТЬ ВСЕ ОДНОГО ОБЪЕКТА, открываемых с. Андре подчеркнул этот вопрос. Посмотрите внимательно на свой код.