查找具有特定字体的单元格(例如Bold)并将该单元格值复制到其下方的单元格中

时间:2017-04-15 12:58:03

标签: excel excel-vba vba

假设有一个报告,其输出是这样的。

Falkon

123
1234
233
22

12
23

Dafren

12
335
33

现在无论如何在VBA中我可以找到粗体单元格的值,复制它们并将它们粘贴到数字后面,直到下一个粗体单元格。

就像我想复制Falkon并将其粘贴在它旁边的4个单元格中一样,然后我想复制Frosty并粘贴在它旁边的两个单元格中,依此类推。 Image of the excel is attached for reference

2 个答案:

答案 0 :(得分:0)

试试这个......

Sub FillCells()
Dim lr As Long
lr = Cells(Rows.Count, "A").End(xlUp).Row
On Error Resume Next
Range("A2:A" & lr).SpecialCells(xlCellTypeConstants, 1).FormulaR1C1 = "=R[-1]C"
Range("A2:A" & lr).Value = Range("A2:A" & lr).Value
End Sub

答案 1 :(得分:0)

Sub brb()
    Dim MaxRows, i As Integer
    MaxRows = Range(Range("A1"), Range("A1").End(xlDown)).Rows.Count
    For i = 0 To MaxRows - 1
        If Range("A1").Offset(i, 0).Font.Bold = False Then
            Range("A1").Offset(i, 0).Value = Range("A1").Offset(i - 1, 0).Value
            Range("A1").Offset(i, 0).Font.Bold = True
        End If
    Next i
End Sub