簡體   English   中英

從Access向Excel導出數據時的格式

[英]Format when exporting data from Access to Excel

我創建了一個代碼,用於復制Access表的數據並將其粘貼到Excel電子表格中,但是我需要第一行采用不同的格式(具有與Access中類似的可擴展選項菜單)。

我的意思是,這是我的第一行: 這個

這就是我想要的: 這個

使用以下方法創建對象:

Set cn = CreateObject("ADODB.Connection")

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & DBFullName & ";" 

Set rs = CreateObject("ADODB.Recordset")

rs.Open "SELECT * FROM Table1", cn, , , adCmdText

這是我粘貼標頭的代碼部分:

For intColIndex = 0 To (rs.Fields.Count - 1) 

    TargetRange.Offset(0, intColIndex).Value = rs.Fields(intColIndex).Name 

Next

然后將數據粘貼到:

TargetRange.Offset(1, 0).CopyFromRecordset rs

我還想更改的另一件事是單元格的寬度,因為當我粘貼Access數據時,所有單元格都具有相同的寬度,而且看起來很糟糕。 我怎樣才能做到這一點?

謝謝!

您可以使用以下代碼從Excel導入。

Dim i As Long
For i = 0 To rs.Fields.Count - 1
    TargetRange.Offset(0, i).Value = rs.Fields(i).NAME
    TargetRange.Offset(0, i).Columns.AutoFit 'Autosize column
Next
With Application.ActiveSheet.ListObjects.Add(1, TargetRange.CurrentRegion, , , 1) 'xlSrcRange, xlYes
    .Name = "MyTable"
    .TableStyle = "TableStyleLight1"
End With

這將格式化為表格(帶有那些下拉箭頭)並自動調整大小。

添加以下內容

With TargetRange.Resize(,rs.Fields.Count)
    .Interior.Color = vbBlack
    .Font.Color = vbBlack
    .EntireColumn.AutoFit
End with

當您在上方的單元格中提到箭頭時,我認為您是在談論添加過濾器。 這就是您的想法嗎?

 TargetRange.AutoFilter

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM