2016-03-26 9 views
0

数値をリモートで列に記入する際にExcelが終了しないようにするマクロが必要です。最初は、ユーザーにIDの入力を依頼します。次のステップは閉鎖を防ぐことです。どのようにそれを行うことができますか?リモートでデータを入力している間にExcelが終了しないように制限する方法

以下は、ID入力とセル選択のコードです。次のように

Sub Enter_1() 
Dim data_1 As String 
Dim sCell As Variant 
Dim rslt As Integer 
Dim x As Integer 

Do 
    ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
    data_1 = InputBox(Prompt:="Enter Employee No.", Title:="Employee", Default:="Enter Employee No. here") 

    If data_1 = "" Then 
     QuestionToMessageBox = "Exit?" 
     YesOrNoAnswerToMessageBox = MsgBox(QuestionToMessageBox, vbYesNo, "No") 
    End If 

    If YesOrNoAnswerToMessageBox = vbNo Then 

     data_1 = InputBox(Prompt:="Enter Employee No.", Title:="Employee", Default:="Enter Employee No. here") 

    Exit sub  
    End If 

     If Not IsNumeric(data_1) Or data_1 = "" Then 
      rslt = 0 
     Else: rslt = 1 
     End If 

     If rslt = 0 Then 
     MsgBox "You can only enter a number in this field" 

     Else: 
      Sheets("Oven After Assay Test").Activate 
      For x = 6 To 50 
       If Cells(x, 8).Value = "" Then 
        Cells(x, 8).Select 
        cancel = True 
        Exit For 
       End If 
      Next 
     End If 

    Loop While rslt = 0 



End Sub 
+0

Before_closeブックのイベントを使用する必要があります。閉じるときに停止するには、Cancelプロパティをtrueに設定します。しかし、ユーザーがExcelを強制終了したい場合、実際にExcelを停止することはできません。 [google](http://google.com) – vacip

答えて

0

あなたは要求された機能を実装することができます

は、コードモジュールを挿入し、次の行を追加します。ThisWorkbook VBAコードモジュールで

Public FlagToClose As Boolean 

Subを追加します。

Private Sub Workbook_Open() 
    FlagToClose = True 
End Sub 

Private Sub Workbook_BeforeClose(Cancel As Boolean) 
    If Not FlagToClose Then Cancel = True 
End Sub 

手順を次のように変更してください。

Sub Enter_1() 
    FlagToClose = False 

    'YOUR PROCEDURE 
    '..................... 

    FlagToClose = True 
End Sub 
+0

ありがとうございます。次は、最初はdata_1からの入力があります。 「閉じる」関数のロックを解除するには、別のサブボックスに入力ボックスを作成して同じ入力(data_2)をキー入力する必要があります。値data_1とdata_2の両方が一致すると、ロックが解除されます。 sub1からsub2への2つの入力をリンクするには?あなたは大丈夫ですか?同じサブ内でそれをすることは何も考えていません。Enter_1() –

+0

あなたは大歓迎です。私はそれがあなたのために働くことがうれしいので、質問は答えられたと考えられます。このコメントスレッドが「Russian Doll Question」の一種になるのを避けるため、別途質問を投稿してください。あなたのプロジェクトに幸運。宜しくお願いします、 –

関連する問題