【发布时间】:2016-05-16 09:20:56
【问题描述】:
我有两张桌子
A B C
姓名姓氏地址
和
A B C D
身份证地址姓名姓氏
我需要合并表格并匹配列,所以
表 1,colA = 表 2,colC
表 1,colC = 表 2,colB
等等
我使用这个代码,效果很好,但是对于大数据来说速度很慢
Sub unionrep()
Dim lastRow As Long
Sheets("decl").Select
With ActiveSheet
lastRow = .Cells(.Rows.Count, "b").End(xlUp).Row
End With
With Sheets("onl")
tlastRow = .Cells(.Rows.Count, "b").End(xlUp).Row
End With
For i = 1 To lastRow
Sheets("onl").Range("a" & tlastRow + i + 1).Value = Range("a" & i).Value
Sheets("onl").Range("b" & tlastRow + i + 1).Value = Trim(Range("b" & i).Value)
Sheets("onl").Range("c" & tlastRow + i + 1).Value = "*" & Range("c" & i).Value
Sheets("onl").Range("d" & tlastRow + i + 1).Value = Range("g" & i).Value
Sheets("onl").Range("e" & tlastRow + i + 1).Value = Range("d" & i).Value
Sheets("onl").Range("f" & tlastRow + i + 1).Value = ""
Sheets("onl").Range("g" & tlastRow + i + 1).Value = ""
Sheets("onl").Range("h" & tlastRow + i + 1).Value = ""
Sheets("onl").Range("i" & tlastRow + i + 1).Value = Range("e" & i).Value
Sheets("onl").Range("j" & tlastRow + i + 1).Value = Range("i" & i).Value
Sheets("onl").Range("k" & tlastRow + i + 1).Value = Range("f" & i).Value
Next
Sheets("onl").Select
End Sub
【问题讨论】:
-
您的问题旁白与您的代码不匹配。您的代码将在 ~onl~ 表上的现有数据之后将 ~decl~ 表的选定列的数据写入 ~onl~ 表,而不匹配列值。请通过示例数据表示和希望从程序代码中获得的输出清楚地说明您的目标。