2016-06-15 19 views
1

だから、ブックを開くときにExcelフォームを開くときにユーザーフォームが含まれるExcelに関するアンケートを行った。ユーザーフォームは、使用する言語(フランス語または英語)をユーザーが選択できるようにします。私の問題は、ユーザーフォームが最初にユーザーがファイルを開くときにポップアップするようにしたいということです。彼はファイルを開き、言語を選択し、質問に答えてファイルを保存します。彼がファイルを再オープンすると、彼は再び言語を選択しないようにしたいと思います。初めて使用するユーザーフォーム#excel-vba

初めて使用するときにユーザーフォームを表示させる方法はありますか?

質問が表示されたときにそのアンケートの特定のボックスの値を変更し、その値をuserformにリンクすると、値が変更されたときに次回に開くことはできません。それが可能かどうかはわかりません。

は一般的で簡単な方法は、あなたが保存した後、値を格納するために、細胞を使用することができます隠されたワークシートを持っているだろう

ヴィンセント

+2

アンケートに記入した後に、たとえば非表示のシートに値を設定できます。このシートには、フォームが以前に記入されたことを知っている価値がある場合は、ロード時の値をチェックすることができます。 –

+0

ええ良いアイデアありがとう – petithomme

答えて

0

、あなたの助けをいただき、ありがとうございます。

Private Sub Workbook_Open() 
    'Where HiddenSheet is the name of your hidden worksheet 
    If ActiveWorkbook.Sheets("HiddenSheet").Cells(1, 1).Value = 0 Then 
     'Code to open the form 
    End If  
End Sub 

ユーザーが質問を完了したら、セルの値を変更して再度開くことができます。

ActiveWorkbook.Sheets("HiddenSheet").Cells(1, 1).Value = 1 
+0

ええ良いアイデア。 したがって、基本的にHiddeSheetは私またはユーザーがアクセスするシートではありませんか? ユーザーがファイルを保存したときに、そのシートのA1にあるセルの値を変更できますか? @Alex – petithomme

+0

@petithommeうん、あなたが隠すことができ、パスワードロックができるシート。あなたはそれにアクセスすることができますが、ユーザーはそれを見ることも知らないこともあります。任意の種類の設定や保存したいデータに対して任意のセルを選択できます。 –

+0

ああ、私はシートの名前の下に書いたコードでは "隠しシート"と思っていました。だから、私はそれを私が望むように名前を付けることができますが、コードに正しい名前を挿入しますか? – petithomme

0

私は非表示にするワークシートでこのステートメントを使用します。

Private Sub Worksheet_Activate() 
    If ActiveSheet.Visible Then ActiveSheet.Visible = False 
End Sub 

基本的に、ユーザーはシートを試して再表示できますが、すぐにシートを非表示にします。もちろん、コードを保護するためにパスワードが必要ですが、心配する必要のないユーザー情報を表示しないようにすることが役立つことがわかりました。

私はこれを質問の一部に関連しているように見せます。それが役に立つと願っています。

+0

ああ、私はそれをチェックアウトします。 今、私はちょうどプロテクトを解除する前にユーザーがアクセス権を持たないようにブックブック機能を保護しています。 – petithomme

+0

本当にシートを隠したい場合は、 'Visible'プロパティを' False'の代わりに 'xlSheetVeryHidden'に設定することができます –

+0

私はそれを知りませんでした。 –

関連する問題