나는이 다음 코드 : 변수가 케이스 사이에 설정되지 않습니까?
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'에 나타나지 않을 것입니다.
이 바닥에 문이, 당신이 + '의미'와 '에'사용하는 것으로 표시합니다. 방금 시도했는데 그 행동은 예상 한 것과 다를 수 있습니다. 그들을 리터럴 문자열'and'로 대체하십시오. – Vicky
"재시작 상자"란 무슨 뜻인지 이해가 안됩니다. select 문 앞에 2 개의 변수를 설정하지 않으면 매번 0이됩니다. 제발 더 많은 코드를 게시 할 수 있습니다. – glh
@Vicky 고맙습니다. 저는이 문제를 해결했지만 여전히 변수에 문제가 있습니다. – SCGB