2016-04-27 12 views
0

機能:ユーザーのフィールドが必要です。特定のフィールドが見つからない場合にユーザーを保存からブロックします。正しく保存されるまでこれらのフィールドを赤色に変えます。さて、どのように地獄私はこれを保存することになっています...必須フィールドは赤です。今すぐ保存する方法は?

私が望む何を::ワークシートが空白になっているので、私は必要なもの

。私は救うことができません。必須フィールドは赤です。私はそれをロールアウトするまで、私は細胞がいっぱいになるのを好むだろうが、私が保存することができたとしても。あなたは、開発の途中であり、「ルールを破る」とし、標準モジュールでは、あなたの現在の努力を保存したい場合は

View Original Post Here

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) 

Dim xlSht As Worksheet 
Dim cellsNotPopulated As Boolean 
cellsNotPopulated = False 

Set xlSht = ThisWorkbook.Worksheets("1st Call") 

    With xlSht 

     If .Range("F7") = "" Then 
      .Range("F7").Interior.Color = RGB(255, 0, 0) 
      cellsNotPopulated = True 
     Else 
      .Range("F7").Interior.ColorIndex = xlNone 
     End If 
    End With 

    If cellsNotPopulated = True Then 
     MsgBox "Please review the highlighted cells and ensure the fields are populated." 
     Cancel = True 
    End If 
End Sub 
+0

はあなたが別の値を確認することができます最初の行として追加し、そうであれば.Range( "F7")= "" と.Range( "G7")<> "" –

答えて

4

:もちろん

Sub MyPrivateSave() 
    Application.EnableEvents = False 
    ThisWorkbook.Save 
    Application.EnableEvents = True 
End Sub 

、開発が完了したら、ワークブックをユーザーに送信する前に、この小さな「保存ツール」を削除します。

+1

又は第一として追加environ( "Username")=あなたのユーザー名を入力してからサブ –

+0

@ Nathan_Savを終了してください。あなたは良いアイデアを持っています。 –

1

またはif environ("Username")=your username then exit sub

+0

これは最も理にかなっていますが、このコードを実装する際に問題があります。私は別の質問をするべきですか、ここに投稿することはできますか? – Solomon3y

+0

あなたはどんな問題を抱えていますか? –

+0

私はこのコードを追加すると、実際にはサブを終了しませんが、次の行に進みます。 – Solomon3y

関連する問題