Vba计数(能否达到如下效果)如图

1个回答

  • 试试

    Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column <> 2 Then Exit Sub

    If IsNumeric(Target.Value) = False Then Exit Sub

    Dim iNum&, iRow&, iCount%

    iNum = Target.Value

    If iNum > 10 Then Exit Sub

    iRow = Target.Row

    iCount = 1

    Application.EnableEvents = False

    Cells(iRow + iNum - 1, 2) = iNum

    Cells(iRow - iNum + 1, 2) = iNum

    Do

    If iRow - iNum - iCount * 10 > 0 Then Cells(iRow - iNum + 1 - iCount * 10, 2) = iNum + iCount * 10

    If iRow + iNum + iCount * 10 < Rows.Count Then Cells(iRow + iNum - 1 + iCount * 10, 2) = iNum + iCount * 10

    iCount = iCount + 1

    Loop Until iCount > 9

    Application.EnableEvents = True

    End Su