我有以下代码:变量之间没有设置的情况下?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
On Error Resume Next
Dim StartBox As Long
Dim StartBox2 As Long
Select Case UCase(Target.Value)
Case "NEW-BOX"
StartBox = ActiveCell.Row
StartBox2 = ActiveCell.Column
MsgBox (StartBox)
MsgBox (StartBox2)
Selection.Offset(-1, 2).Select
Selection.ClearContents
Selection.Activate
Selection.Offset(1, -2).Select
Case "RESTART-BOX"
MsgBox (StartBox)
MsgBox (StartBox2)
If StartBox = 0 And StartBox2 = 0 Then
MsgBox "Cannot restart box without scanning a new box first!", vbCritical
ElseIf StartBox <> 0 And StartBox2 <> 0 Then
ActiveSheet.Range(Cells(StartBox, StartBox2), Cells(ActiveCell.Row, ActiveCell.Column)).ClearContents
End If
End Select
End Sub
我扫描一个新的对话框,设置正确的列和行的变量,但是当我重新开始扫描箱,消息框都拿出0?为什么是这样?我需要将这些变量传递到我的代码以清除内容,但由于某些原因,即使我设置它们,它们也不会出现在“RESTART-BOX”中。
在你。我刚刚尝试过,行为可能不是你所期望的。将它们替换为文字串'和'。 – Vicky 2013-02-20 12:57:33
我不明白你的意思是“重启盒子”。如果在选择语句之前未设置2个变量,则每次都会得到0。请你可以发布更多的代码。 – glh 2013-02-20 12:59:17
@Vicky谢谢你,我已经纠正了这一点,但是我仍然对变量有问题。 – SCGB 2013-02-20 12:59:50