2016-09-07 59 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”)。请选择 范围(Selection,Selection.End(xlDown))选择 Selection.RowHeight = 15 – pinkrose

+0

@pinkrose:请勿在评论中发布代码。编辑你的问题并在那里添加 - 但它看起来像一个新的问题,所以也许发布一个新的问题。 – Andre

+0

道歉的安德烈 - 我是新手 - 感谢你的善良。 – pinkrose

0

你必须关闭每一个对象,你打开。安德烈强调了这个问题。仔细查看你的代码。