用于获取合并的单元格值以及其他单元格值的宏代码

时间:2017-05-22 14:58:49

标签: excel vba excel-vba

我在这里附加了输入文件格式和样本数据。 有人可以帮助宏代码获取输出数据,如下所述。

宏的输入文件:

Roll No Name    Mark1   Mark2
1       Abc      10      35
                 20      25
                 30      40
2       def      20      10
                 15       5
                 25       2
                 30       3

合并的单元格数据需要在单独的行中与标记数据一起获得。

要获得的输出数据:

Roll No Name    Mark1   Mark2
1       Abc       10    35
1       Abc       20    25
1       Abc       30    40
2       def       20    10
2       def       15    5
2       def       25    2
2       def       30    3

2 个答案:

答案 0 :(得分:1)

检查一下,

enter image description here

Sub unMerge()
Dim i As Long, strA As String, strB As String
Range("A:B").unMerge
strA = Cells(2, 1)
strB = Cells(2, 2)
For i = 2 To Cells(Rows.Count, 4).End(xlUp).Row
    If Cells(i, 1) = "" Then
        Cells(i, 1) = strA
        Cells(i, 2) = strB
    Else
        strA = Cells(i, 1)
        strB = Cells(i, 2)
    End If
Next i
End Sub

答案 1 :(得分:0)

使用公式更容易填空:

Dim r As Range
Set r = Range("A1").CurrentRegion
r.UnMerge
r.SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"