如何用excel将两列数据连接为一列,并删除空值 如图:

好吧。我没说清楚,第一列和第二列的数据数量不定,估计1W左右,手动操作太烦,而且每天需重复多次,能否通过函数或者宏实现?

下载附件,按键执行程序即可。

Sub 合并_Click()
    a = Cells(Rows.Count, 1).End(3).Row
    b = Cells(Rows.Count, 2).End(3).Row
    Columns("C:C").Select
    Selection.ClearContents
    Cells(1, 3) = "合并两列"
    Range(Cells(2, 1), Cells(a, 1)).Select
    Selection.Copy
    Cells(2, 3).Select
    ActiveSheet.Paste
    Range(Cells(2, 2), Cells(b, 2)).Select
    Selection.Copy
    Cells(a + 1, 3).Select
    ActiveSheet.Paste
    For i = 2 To a + b + 1
        If WorksheetFunction.CountIf(Range(Cells(i, 3), Cells(a + b + 1, 3)), Cells(i, 3)) > 1 Then
            Cells(i, 3) = ""
        End If
    Next
    Range(Cells(2, 3), Cells(a + b + 1, 3)).Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("C2"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range(Cells(2, 3), Cells(a + b + 1, 3))
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-31

给你做个动画你看看,很简单的。

相似回答