Excel VBA复制单元格值,粗体超过常规值,直到下一个粗体值,然后将其复制到常规值等

时间:2012-11-05 07:23:30

标签: excel excel-vba vba

大家好我将Excel 2010与VB一起使用

好的,我有一个问题,我必须将一个列中的粗体单元格值复制到另一列并且要复制相同的值,直到它再次使用粗体单元格值到达行,然后该值接管并且是复制到另一个粗体值等,并且当复制数字的前2位数字(或者我认为数字存储为文本的字符)时,将被删除。

可以这样做吗?

我发现此代码用于将复制粗体值转换为另一列:

Sub yTekhed()
    For Each cell In [A30:A2557]
        If cell.Font.Bold = True Then
            Debug.Print cell.Row
            cell.Copy Range("I" & Range("I65536").End(xlUp).Row + 1)
        End If
    Next cell
End Sub

我想出了删除字符,有一个公式=右(A1; LEN(A1)-2)

但就我而言

我仍然无法在常规中复制大胆。所以说我有:

08479

082222

093334

084213

08572

093212

012321

482123

我希望粘贴看起来像

08479

08479

08479

08479

08572

08572

08572

08572

然后将粗体值粘贴到每个常规(非粗体)值,直到下一个粗体值,然后复制该值,然后将该值粘贴到常规值上。希望这能解释得更好。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

这应该可以解决问题:

Sub yTekhed()
    LastRow = Cells(Rows.Count, "A").End(xlUp).Row

    For i = 1 To LastRow
        If Range("A" & i).Font.Bold = True Then
            Range("A" & i).Copy Range("B" & i)
            x = i
        Else
            Range("A" & x).Copy Range("B" & i)
        End If
    Next i

End Sub