我正在处理一个结合问题的 excel 工作表,我是 VBA 上的一个完全新手。
因此,要添加的工作表可能有不同数量的列(标题),但我要使用的关键是城市、街道名称和街道编号,即地址。
如果要添加的有新地址,则将整行添加到现有地址。
如果要添加的地址已存在,请检查该行是否存在不存在的列,如果是,则将该列添加到现有的。
两张纸的列数和行数可能不同,但它们都至少有地址列。
谁能告诉我如何用宏来做到这一点?还是我应该用其他方法挖掘?
提前致谢。
Sub combine()
Dim inName, inNum, inCity As String
Dim IncNum As Integer
Dim temp As Range
Dim lrow As Long
Dim counter As Integer
For Each cell In Sheets("Sheet2").UsedRange.Columns(1).Cells
If cell <> "" And cell.Row <> 1 Then
inCity = cell.Value
inName = Sheets("Sheet2").Cells(cell.Row, 2)
inNum = Sheets("Sheet2").Cells(cell.Row, 3)
Set temp = Sheets("Sheet1").Columns(1).Find(what:=inCity)
If temp Is Nothing Then
'find the last row of the existing sheet
lrow = Sheets("Sheet1").Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
IncNum = Sheets("Sheet2").UsedRange.Columns.Count
For counter = 1 To IncNum
Sheets("Sheet1").Cells(lrow + 1, counter).Value = Sheets("Sheet2").Cells(lrow + 1, counter).Value
Next counter
End If
End If
Next
End Sub