|
楼主 |
发表于 2012-5-30 13:47
|
显示全部楼层
本帖最后由 lengfeng910 于 2012-5-30 14:33 编辑
已解决,其实在中间加一个msgbox即可.代码如下,请坛内高人批评指正.
下列代码实现功能:只能依次在A、B、C列输入数据,其他的单元格或行列均不可选。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim mrg As Range
Dim row As Long
Static k As Integer
k = k + 1
If k > 1 Then k = 0: End
row = Range("A65536").End(xlUp).row
If Range("B" & row) = "" Then
Set mrg = Range("B" & row)
ElseIf Range("C" & row) = "" Then
Set mrg = Range("C" & row)
Else
Set mrg = Range("A" & row + 1)
End If
If Target(1, 1).Address <> mrg.Address Then
MsgBox "当前只能选" & Replace(mrg.Address, "$", "") & "单元格"
mrg.Select
ElseIf Target.Columns.Count > 1 Then
MsgBox "当前只能选" & Replace(mrg.Address, "$", "") & "单元格"
mrg.Select
else
k=0
End If
End Sub
|
|