试试
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