Excel 基于标题值复制/粘贴单元格
我想创建一个宏,允许我使用另一个表中的数据更新一个表。 唯一的问题是这两个表没有相同的标题,我只想根据“标题值”复制和粘贴单元格 两个不同的表不在同一工作表中 如果这有帮助: 输入 输出Excel 基于标题值复制/粘贴单元格,excel,vba,Excel,Vba,我想创建一个宏,允许我使用另一个表中的数据更新一个表。 唯一的问题是这两个表没有相同的标题,我只想根据“标题值”复制和粘贴单元格 两个不同的表不在同一工作表中 如果这有帮助: 输入 输出 以下是如何使用ADODB Sub Test() Dim Ws As Worksheet Dim sql As String Dim vFild() Dim rngFild As Range, rng As Range Dim strFild As String
以下是如何使用ADODB
Sub Test()
Dim Ws As Worksheet
Dim sql As String
Dim vFild()
Dim rngFild As Range, rng As Range
Dim strFild As String
Dim n As Integer
Set Ws = Sheets("Output")
With Ws
Set rngFild = .Range("a1", .Range("a1").End(xlToRight))
End With
For Each rng In rngFild
n = n + 1
ReDim Preserve vFild(1 To n)
vFild(n) = "[" & rng & "]"
Next rng
strFild = Join(vFild, ",")
sql = "select " & strFild & "from [Input$] "
exeSQL Ws, sql
End Sub
Sub exeSQL(Ws As Worksheet, strSQL As String)
Dim Rs As Object
Dim strConn As String
Dim i As Integer
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.FullName & ";" & _
"Extended Properties=Excel 12.0;"
Set Rs = CreateObject("ADODB.Recordset")
Rs.Open strSQL, strConn
If Not Rs.EOF Then
With Ws
.Range("a1").CurrentRegion.Offset(1).ClearContents
'For i = 0 To Rs.Fields.Count - 1
' .Cells(1, i + 1).Value = Rs.Fields(i).Name
'Next
.Range("a" & 2).CopyFromRecordset Rs
End With
End If
Rs.Close
Set Rs = Nothing
End Sub
欢迎来到SO。请看,别忘了阅读和阅读。另外,在创建一个
嵌套循环
、第一个循环:通过输出表标题循环、第二个循环:通过输入标题循环、第三个:如果loop1值“x”=loop2值“y”,则复制数据时,还可以查看更多信息。。。我通常这样做的方式是,我使用一个函数来查找并返回标题,要么作为范围,要么仅作为列(作为长度),然后使用这个函数来寻址单元格。还有,透视表呢?看起来你只是想从很多事情中看到一些事情。听起来像是数据透视表先生的工作。谢谢你们的建议!我会试试的,会和你保持联系的。谢谢。我会试试看,并与你保持联系