【问题标题】:Excel Interop formattingExcel 互操作格式
【发布时间】:2012-02-15 17:42:14
【问题描述】:

使用 Access 2007 vba 寻址 Excel 2007 工作簿(“WB”)......

此例程将工作表添加到现有和打开的 Excel 工作簿,然后将记录集的行添加到工作表。现在很乱,我正在设置它以创建多个工作表,所有工作表都以不同的方式查看相同的数据。

我已成功发布这些行,但现在我想更好地格式化它们以避免混淆不了解 Excel 的目标用户。我想更改标题单元格的颜色,并且我想将列设置为“自动调整”。

谁能帮忙?

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

结束子

【问题讨论】:

    标签: excel interop excel-2007 vba


    【解决方案1】:

    这样的事情应该可以完成。这将简单地将标题设置为具有黄色内部颜​​色并自动适应列。

    With xlSumSht.Range(Cells(SummaryTitleRow, 1), Cells(SummaryTitleRow, rstSummary.Fields.Count))
        .Interior.Color = vbYellow
        .EntireColumn.AutoFit
    End With
    

    【讨论】:

    • 是的,经过一些实验,我想通了。我使用了几乎完全一样的东西。它也有助于在测试表上记录宏。我感谢您的帮助。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多