有对VBA比较熟悉的吗?关于设置Excel中一个单元格居中的问题 
用HorizontalAlignment属性
无论用什么方法设置都报错
哪位能告诉为啥啊

解决方案 »

  1.   

    1
    worksheets(1).cells(1, 1).select
    selection.HorizontalAlignment = xlCenter
    2
    worksheets(1).cells(1, 1).HorizontalAlignment = xlCenter
    3
    worksheets(1).range("a1").HorizontalAlignment = xlCenter
    这3种方法都不行
      

  2.   

    发现一个问题

    worksheets(1).cells(1, 1).select
    selection.HorizontalAlignment = xlCenter
    可以
    但是当
        Dim app, sheet, book As Object
        Dim i1 As Integer
        For i1 = 1 To 5
            Set app = CreateObject("Excel.Application")
            Set book = app.Workbooks.Open("F:\temp\Book1.xls")
            Set sheet = book.Worksheets(1)
            sheet.Cells(4, 1 + i1) = 555
            sheet.Cells(4, 1 + i1).Select
            Selection.HorizontalAlignment = xlCenter
            book.Save
            book.Close
            app.Quit
        Next i1
    在i1 = 2的时候就报错了
      

  3.   

    你犯了一个初级错误——重复打开工作薄。改正后的代码:
     Dim app as object, sheet as worksheet, book As workbook
       Dim i1 As Integer
       Set app = CreateObject("Excel.Application")
       Set book = app.Workbooks.Open("F:\temp\Book1.xls")
       For i1 = 1 To 5
             Set sheet = book.Worksheets(1)
            sheet.Cells(4, 1 + i1) = 555
            sheet.Cells(4, 1 + i1).Select
            Selection.HorizontalAlignment = xlCenter
            book.Save
            book.Close
            app.Quit
        Next i1
      

  4.   

    我也错了,这一句也应放到循环体外:
        Set sheet = book.Worksheets(1)
      

  5.   

    回楼主:
    我的程序通常用这种格式:2
    worksheets(1).cells(1, 1).HorizontalAlignment = xlCenter在2000和2003中都没问题
    你的错误可能如楼上所说, 重复打开了工作薄你先按楼上说的改一改, 如果还出错, 跟踪一下, 看看错在哪一句