|
发表于 2024-3-17 14:14
来自手机
|
显示全部楼层
Private Sub Worksheet_Change(ByVal Target As Range)
' 检查是否修改了A列的某个单元格
If Not Intersect(Target, Columns("A")) Is Nothing Then
On Error GoTo ErrorHandler
' 获取修改的单元格及其所在行号
Dim changedCell As Range
Set changedCell = Intersect(Target, Columns("A"))
Dim rowNumber As Long
rowNumber = changedCell.Row
' 获取A列新输入的数值
Dim inputNumber As Long
inputNumber = CLng(changedCell.Value)
If inputNumber <= 0 Or inputNumber <> Int(inputNumber) Then Exit Sub
' 清除B列已有内容(如果需要连续填充)
Range("B" & rowNumber & ":D" & rowNumber).ClearContents
' 填充序列
Range("B" & rowNumber).Resize(1, inputNumber).FormulaR1C1 = "=COLUMN()-1"
Exit Sub
ErrorHandler:
MsgBox "请在A列输入一个正整数。", vbCritical
End If
End Sub
请参考 |
|