如何使用VBA格式化已关闭的Excel工作表
我有sheet1.xls,它已关闭。我在sheet2.xls VBA中工作,如下所示如何使用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
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?”?我希望它能自动保存。是否有要自动保存的脚本。谢谢,我刚才说,不需要更多的评论,因为我已经从上面的答案中得到了。不管怎样,谢谢你的回复