我已關閉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
您是否嘗試過錄制宏並查看生成的代碼? –