我已关闭sheet1.xls。我在sheet2.xls VBA中工作如下。如何使用VBA格式化已关闭的Excel工作表
With Range("A:XFD")
<I need Some Code here to format entire sheet1.xls cells into string format>
End With
Kinldy help.Thanks
我已关闭sheet1.xls。我在sheet2.xls VBA中工作如下。如何使用VBA格式化已关闭的Excel工作表
With Range("A:XFD")
<I need Some Code here to format entire sheet1.xls cells into string format>
End With
Kinldy help.Thanks
像这样的东西可以让你格式化封闭的书。它被打开,然后格式化,然后再次关闭。
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 oBook as excel.workbook
dim oSheet as excel.worksheet
set oBook = workbooks.open("<workbook path and filename>")
set oSheet = oBook.sheets("<SheetName>")
则:
with oSheet.range("A:XFD")
<Format>
end with
oBook.close
set oBook = nothing
set oSheet = nothing
等。
这是我会怎么做:
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
也许你需要解释你想要的格式?给出一个例子或描述你想要做的改变。 – ja72
您是否尝试过录制宏并查看生成的代码? –