0
使用Access 2007 VBA處理Excel 2007工作簿(「WB」)......Excel的互操作格式化
這個程序增加了一個工作表,以現有的和開放的Excel工作簿,然後添加一個記錄的行到片。現在非常混亂,我正在設置它來創建多張表單,所有表單都以不同的方式查看相同的數據。
我已經成功發佈了行,但現在我想將它們格式化一些,以避免混淆不識別Excel的目標用戶。我想改變標題單元格的顏色,並且我想將列設置爲「autofit」。
任何人都可以幫忙嗎?
Sub SummarySheets(WB As Excel.WorkBook, TempTableName As String)
Const SummarySheetName As String = "Timesheet Summaries"
Const SummaryQueryName As String = "qrySATempSummarybyWO"
Const SummaryTitleRow As Integer = 1
Dim xlSumSht As Excel.Worksheet
If SheetExists(WB, SummarySheetName) Then
WB.Sheets(SummarySheetName).Delete
End If
Set xlSumSht = WB.Sheets.Add(After:=WB.Sheets(WB.Sheets.count))
xlSumSht.NAME = SummarySheetName
xlSumSht.Activate
Dim intRow As Integer
Dim intCol As Integer
Dim intStartRow As Integer
Dim strSQL As String
Dim strQry As String
Dim rstSummary As DAO.Recordset
strQry = CurrentDbC.QueryDefs(SummaryQueryName).SQL
strSQL = Replace(strQry, "tblStaffAugTrans", "[" & TempTableName & "]")
Set rstSummary = CurrentDbC.OpenRecordset(strSQL, dbOpenDynaset, dbSeeChanges + dbFailOnError)
If rstSummary.EOF = False Then
intRow = SummaryTitleRow
For intCol = 1 To rstSummary.Fields.count
xlSumSht.Cells(intRow, intCol).Value = rstSummary.Fields(intCol - 1).NAME
Next intCol
End If
While rstSummary.EOF = False
intRow = intRow + 1
For intCol = 1 To rstSummary.Fields.count
xlSumSht.Cells(intRow, intCol).Value = rstSummary.Fields(intCol - 1).Value
Next intCol
rstSummary.MoveNext
Wend
For intCol = 1 To rstSummary.Fields.count
'xlSumSht.Columns.EntireColumn(, intCol).AutoFit
Next intCol
rstSummary.Close
末次
是的,我在一些實驗後發現它。我用了幾乎完全一樣的東西。它也有助於在測試表上記錄一個宏。我感謝您的幫助。謝謝。 – 2012-02-15 19:21:07