+ -
当前位置:首页 → 问答吧 → 如何用VBA对列重排

如何用VBA对列重排

时间:2011-08-05

来源:互联网

现表一是较为直观的表,但一卡通需要的是表二,如何快速对列重排,把表一的数据导入表二。

附件

列的重排.rar(1.86 KB)

2011-8-5 22:39, 下载次数: 9

作者: 南海   发布时间: 2011-08-05

复制内容到剪贴板
代码:
Sub ADO_method()
    Dim cnn, rst
    Dim sSQL As String
    Dim sConStr As String
    Dim i As Long
    Set cnn = CreateObject("adodb.connection")
    Set rst = CreateObject("adodb.recordset")
    cnn.connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;" _
     & "data source=" & ThisWorkbook.FullName & ";" _
                         & "Extended Properties='Excel 8.0;HDR=Yes;IMEX=1';"
    cnn.Open
    sSQL = "select 行政区划,有效证件号码,证件名称,姓名,金额 from [sheet1$]"
    Set rst = cnn.Execute(sSQL)
    For i = 0 To rst.fields.Count - 1
        Sheet2.Cells(1, i + 1) = rst.fields(i).Name
    Next i
    Sheet2.[a2].CopyFromRecordset rst
    Sheet2.[a1].CurrentRegion.EntireColumn.AutoFit
    rst.Close: cnn.Close
    Set rst = Nothing: Set cnn = Nothing   
End Sub

作者: livewire   发布时间: 2011-08-05

谢谢。如果在表一增加1列为“停发时间”,如停发时间里有数据,则不提取到表二,怎样改写代码

作者: 南海   发布时间: 2011-08-05