如何使用VBA格式化已关闭的Excel工作表

如何使用VBA格式化已关闭的Excel工作表,vba,excel,excel-2007,Vba,Excel,Excel 2007,我有sheet1.xls,它已关闭。我在sheet2.xls VBA中工作,如下所示 With Range("A:XFD") <I need Some Code here to format entire sheet1.xls cells into string format> End With 带范围(“A:XFD”) 以 Kinldy帮助。谢谢只需声明工作簿和工作表: dim oBook as excel.workbook dim oSheet as excel.work

我有sheet1.xls,它已关闭。我在sheet2.xls VBA中工作,如下所示

With Range("A:XFD")
 <I need Some Code here to format entire sheet1.xls cells into string format> 
End With
带范围(“A:XFD”)
以

Kinldy帮助。谢谢

只需声明工作簿和工作表:

dim oBook as excel.workbook
dim oSheet as excel.worksheet

set oBook = workbooks.open("<workbook path and filename>")
set oSheet = oBook.sheets("<SheetName>")
将oBook设置为excel.workbook
将oSheet设置为excel.worksheet
set oBook=工作簿。打开(“”)
设置oSheet=oBook.sheets(“”)
然后:

with oSheet.range("A:XFD") 
     <Format>
end with
oBook.close
set oBook = nothing 
set oSheet = nothing
带有oSheet.range(“A:XFD”)
以
好的,结束
设置oBook=nothing
设置oSheet=nothing

等等

类似的内容将允许您格式化已关闭的书籍。它被打开,然后格式化,然后再次关闭

Option Explicit
Public Sub Format_Closed_Sheet()
    Dim sht1book As Workbook
    Dim sht1ws As Worksheet
    Dim strValue As String
    Dim rng As Range

    Application.ScreenUpdating = False

    With Application

    '--> Open sheet1.xls
    Set sht1book = .Workbooks.Open _
    ("Path to Sheet1.xls")
    End With

    Set sht1ws = sht1book.Sheets("Sheet1")

    '--> Format the range as text

    Set rng = sht1ws.Range("A:XFD")
    rng.NumberFormat = "@"

    '--> Save sheet1.xls and close
    Application.DisplayAlerts = False
    sht1book.Save
    sht1book.Close
    Application.DisplayAlerts = True

    Application.ScreenUpdating = True
End Sub

我会这样做:

Dim b As Workbook
Dim sh As Worksheet

Set b = Workbooks.Open("C:\mypath\mybook.xls") ' or wherever your workbook is

Set sh = b.Sheets("Sheet1") ' or whatever sheet
sh.Cells.NumberFormat = "@" ' format as Text

b.Close
如果要将工作簿中的所有工作表格式化为文本,可以执行以下操作:

For Each sh In wb.Sheets
    sh.Cells.NumberFormat = "@" ' format as Text
Next sh

application.ScreenUpdate=如果不希望看到更新发生,则为false。据我所知,在不打开工作簿的情况下是不可能更改内容的。也许你需要解释一下你想要什么格式?请给出一个例子或描述您想要做的更改。您是否尝试过录制宏并查看生成的代码?它可以工作,但会问“是否要将更改保存到mybook.xls?”?我希望它能自动保存。是否有要自动保存的脚本。谢谢,我刚才说,不需要更多的评论,因为我已经从上面的答案中得到了。不管怎样,谢谢你的回复