gpt4 book ai didi

excel - 使用 VBA 将 CSV 导入 Excel 匹配列标题

转载 作者:行者123 更新时间:2023-12-04 21:58:18 24 4
gpt4 key购买 nike

我想问是否如何使用宏(或 VBA)将 CSV 文件导入到与我的模板列匹配的 Excel 文件中。

这就是为什么我很沮丧地问这个问题。我寻找答案。谷歌没有帮助。没有人问这种类型的问题。

我有一个文件名“UserInfo.xlsx”,它有一个列标题:

  • 用户名
  • 用户名
  • 姓名
  • 联系电话
  • 邮箱
  • 最后登录

  • 现在我有一个 CSV 文件(由我们的网站生成),其中包含一些我不需要的多余标题。

    我的 CSV 文件中的标题和我的模板中的标题完全相同。问题是我想根据与模板标题匹配的列标题 (CSV) 获取这些信息。

    我怎样才能做到这一点?我每天都会使用这个模板,因为新用户正在注册我们的网站。所以我需要一个VBA代码。

    我不知道从哪里开始,所以我请求你的帮助。

    感谢。

    最佳答案

    您可以使用 ADODB.Connection 查询 csv 文件。如果您有超过 65K 的记录,那么 CopyFromRecordset 可能不起作用,您必须使用 ADODB.Recordset.GetRows 来检索数据。

    Sub Example()
    On Error Resume Next
    Const adOpenStatic = 3
    Const adLockOptimistic = 3
    Const adCmdText = &H1

    Dim conn As Object, rs As Object
    Dim Filename As String, FilePath As String

    FilePath = "C:\"
    Filename = "UserInfo.csv"

    'Refernce: https://msdn.microsoft.com/en-us/library/ms974559.aspx
    'Excel VBA Introduction Part 30 - ADO (ActiveX Data Objects) Querying a Database: https://www.youtube.com/watch?v=HE9CIbetNnI&index=33&list=PLNIs-AWhQzckr8Dgmgb3akx_gFMnpxTN5

    Set conn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("ADODB.Recordset")

    conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
    "Data Source=" & FilePath & ";" & _
    "Extended Properties=""text;HDR=YES;FMT=Delimited"""

    rs.Open "SELECT [UserID],[Username],[Name],[ContactNumber],[EmailAddress],[LastLogin] FROM [" & Filename & "]", _
    conn, adOpenStatic, adLockOptimistic, adCmdText

    Worksheets("Sheet1").Range("A1").CopyFromRecordset rs

    rs.Close
    conn.Close
    End Sub

    关于excel - 使用 VBA 将 CSV 导入 Excel 匹配列标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40012575/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com