| 
    
     |  | はじめて投稿させて頂きます。 WinXP、エクセル2000で、顧客情報のデータベースを作成しているのですが、
 エクセルを立ち上げると、
 顧客情報入力フォームが表示され、顧客情報入力フォーム上に、
 顧客情報を入力するテキストボックスや
 別フォーム(アフターフォーム)を立ち上げるコマンドボタンを設置しております。
 
 顧客情報入力フォームまでは、立ち上がるのですが、
 別フォーム(アフターフォーム)を立ち上げるコマンドボタンをクリックすると、
 エクセルが強制終了する不具合が生じております。
 
 使用環境として、共有ドライブにて、ブック共有にして使用おり、
 特定のPC(WinXP エクセル2000)のみ強制終了する不具合が起きております。
 他のPCでは利用頻度が少ない為、現時点ではたまたま不具合が起きてない
 だけかもしれません。(明確な切り分けは、出来てません)
 
 不具合発生頻度としては、
 PC立上げ後、エクセルを開くと毎回必ず強制終了するわけでもなく、
 3回に1回は、強制終了しますが、
 1回強制終了しだすと再度エクセルを立ち上げると、必ず強制終了します。
 
 不具合対応として、
 ・問題PCのOS/Officeのアップデート
 ・xldファイルの再構築
 ・仮想メモリの増大
 ・イベントビューアログサイズの増大
 ・DoEventsコード追加
 を行いました。
 
 一応ではありますが、私のPC含め他のPCでは、表示出切る為、
 コード起因では無いと考えておりますが、
 VBA初心者の為、コード起因orPC起因の切り分けすら出来てない状況です。
 (エラーコードを表示するコードを組み込みましたが、強制終了する為、
 表示してくれません)
 
 下記に、コードを記載しますので、
 ・コード上の問題点
 ・PCの問題点
 ・その他要因
 など、改善方法を含めご意見頂ければ幸いで御座います。
 又、拙い文章ですので、
 内容について、不明な点などのご意見も頂ければと思います。
 
 ・コード
 Private Sub コマンドアフターのフォームを開く_Click()
 Dim 氏名 As Range
 Dim n As String
 Dim sadr2 As String
 
 Worksheets("Sheet2").Activate
 Set 氏名 = Worksheets("Sheet2").Cells(ActiveCell.Row, 1)
 フォームアフター.LabelコードNo2.Caption = Cells(ActiveCell.Row, 1).Value
 フォームアフター.Label氏名フリガナ2.Caption = Cells(ActiveCell.Row, 3).Value
 フォームアフター.Label氏名3.Caption = Cells(ActiveCell.Row, 2).Value
 フォームアフター.Label郵便番号.Caption = Cells(ActiveCell.Row, 8).Value
 フォームアフター.Label住所3.Caption = Cells(ActiveCell.Row, 9).Value
 フォームアフター.Label住所4.Caption = Cells(ActiveCell.Row, 10).Value
 フォームアフター.LabelTEL2.Caption = Cells(ActiveCell.Row, 11).Value
 sadr2 = 氏名.Address(False, False)
 Worksheets("Sheet3").Activate   ’ここから
 Range(sadr2).Select
 フォームアフター.TextBox依頼日1 = Cells(ActiveCell.Row, 1).Value
 フォームアフター.TextBox受付者1 = Cells(ActiveCell.Row, 2).Value
 フォームアフター.TextBox対応者1 = Cells(ActiveCell.Row, 3).Value
 フォームアフター.ComboBox定型1 = Cells(ActiveCell.Row, 4).Value
 フォームアフター.TextBoxアフター内容1 = Cells(ActiveCell.Row, 5).Value
 フォームアフター.TextBox処理内容1 = Cells(ActiveCell.Row, 6).Value
 フォームアフター.TextBox依頼日2 = Cells(ActiveCell.Row, 7).Value
 フォームアフター.TextBox受付者2 = Cells(ActiveCell.Row, 8).Value
 フォームアフター.TextBox対応者2 = Cells(ActiveCell.Row, 9).Value
 フォームアフター.ComboBox定型2 = Cells(ActiveCell.Row, 10).Value
 フォームアフター.TextBoxアフター内容2 = Cells(ActiveCell.Row, 11).Value
 フォームアフター.TextBox処理内容2 = Cells(ActiveCell.Row, 12).Value
 フォームアフター.TextBox依頼日3 = Cells(ActiveCell.Row, 13).Value
 フォームアフター.TextBox受付者3 = Cells(ActiveCell.Row, 14).Value
 フォームアフター.TextBox対応者3 = Cells(ActiveCell.Row, 15).Value
 フォームアフター.ComboBox定型3 = Cells(ActiveCell.Row, 16).Value
 フォームアフター.TextBoxアフター内容3 = Cells(ActiveCell.Row, 17).Value
 フォームアフター.TextBox処理内容3 = Cells(ActiveCell.Row, 18).Value
 フォームアフター.TextBox依頼日4 = Cells(ActiveCell.Row, 19).Value
 フォームアフター.TextBox受付者4 = Cells(ActiveCell.Row, 20).Value
 フォームアフター.TextBox対応者4 = Cells(ActiveCell.Row, 21).Value
 フォームアフター.ComboBox定型4 = Cells(ActiveCell.Row, 22).Value
 フォームアフター.TextBoxアフター内容4 = Cells(ActiveCell.Row, 23).Value
 フォームアフター.TextBox処理内容4 = Cells(ActiveCell.Row, 24).Value
 フォームアフター.TextBox依頼日5 = Cells(ActiveCell.Row, 25).Value
 フォームアフター.TextBox受付者5 = Cells(ActiveCell.Row, 26).Value
 フォームアフター.TextBox対応者5 = Cells(ActiveCell.Row, 27).Value
 フォームアフター.ComboBox定型5 = Cells(ActiveCell.Row, 28).Value
 フォームアフター.TextBoxアフター内容5 = Cells(ActiveCell.Row, 29).Value
 フォームアフター.TextBox処理内容5 = Cells(ActiveCell.Row, 30).Value
 フォームアフター.TextBox依頼日6 = Cells(ActiveCell.Row, 31).Value
 フォームアフター.TextBox受付者6 = Cells(ActiveCell.Row, 32).Value
 フォームアフター.TextBox対応者6 = Cells(ActiveCell.Row, 33).Value
 フォームアフター.ComboBox定型6 = Cells(ActiveCell.Row, 34).Value
 フォームアフター.TextBoxアフター内容6 = Cells(ActiveCell.Row, 35).Value
 フォームアフター.TextBox処理内容6 = Cells(ActiveCell.Row, 36).Value
 フォームアフター.TextBox依頼日7 = Cells(ActiveCell.Row, 37).Value
 フォームアフター.TextBox受付者7 = Cells(ActiveCell.Row, 38).Value
 フォームアフター.TextBox対応者7 = Cells(ActiveCell.Row, 39).Value
 フォームアフター.ComboBox定型7 = Cells(ActiveCell.Row, 40).Value
 フォームアフター.TextBoxアフター内容7 = Cells(ActiveCell.Row, 41).Value
 フォームアフター.TextBox処理内容7 = Cells(ActiveCell.Row, 42).Value
 フォームアフター.TextBox依頼日8 = Cells(ActiveCell.Row, 43).Value
 フォームアフター.TextBox受付者8 = Cells(ActiveCell.Row, 44).Value
 フォームアフター.TextBox対応者8 = Cells(ActiveCell.Row, 45).Value
 フォームアフター.ComboBox定型8 = Cells(ActiveCell.Row, 46).Value
 フォームアフター.TextBoxアフター内容8 = Cells(ActiveCell.Row, 47).Value
 フォームアフター.TextBox処理内容8 = Cells(ActiveCell.Row, 48).Value
 フォームアフター.TextBox依頼日9 = Cells(ActiveCell.Row, 49).Value
 フォームアフター.TextBox受付者9 = Cells(ActiveCell.Row, 50).Value
 フォームアフター.TextBox対応者9 = Cells(ActiveCell.Row, 51).Value
 フォームアフター.ComboBox定型9 = Cells(ActiveCell.Row, 52).Value
 フォームアフター.TextBoxアフター内容9 = Cells(ActiveCell.Row, 53).Value
 フォームアフター.TextBox処理内容9 = Cells(ActiveCell.Row, 54).Value
 フォームアフター.TextBox依頼日10 = Cells(ActiveCell.Row, 55).Value
 フォームアフター.TextBox受付者10 = Cells(ActiveCell.Row, 56).Value
 フォームアフター.TextBox対応者10 = Cells(ActiveCell.Row, 57).Value
 フォームアフター.ComboBox定型10 = Cells(ActiveCell.Row, 58).Value
 フォームアフター.TextBoxアフター内容10 = Cells(ActiveCell.Row, 59).Value
 フォームアフター.TextBox処理内容10 = Cells(ActiveCell.Row, 60).Value
 フォームアフター.TextBox依頼日11 = Cells(ActiveCell.Row, 61).Value
 フォームアフター.TextBox受付者11 = Cells(ActiveCell.Row, 62).Value
 フォームアフター.TextBox対応者11 = Cells(ActiveCell.Row, 63).Value
 フォームアフター.ComboBox定型11 = Cells(ActiveCell.Row, 64).Value
 フォームアフター.TextBoxアフター内容11 = Cells(ActiveCell.Row, 65).Value
 フォームアフター.TextBox処理内容11 = Cells(ActiveCell.Row, 66).Value
 フォームアフター.TextBox依頼日12 = Cells(ActiveCell.Row, 67).Value
 フォームアフター.TextBox受付者12 = Cells(ActiveCell.Row, 68).Value
 フォームアフター.TextBox対応者12 = Cells(ActiveCell.Row, 69).Value
 フォームアフター.ComboBox定型12 = Cells(ActiveCell.Row, 70).Value
 フォームアフター.TextBoxアフター内容12 = Cells(ActiveCell.Row, 71).Value
 フォームアフター.TextBox処理内容12 = Cells(ActiveCell.Row, 72).Value
 フォームアフター.TextBox依頼日13 = Cells(ActiveCell.Row, 73).Value
 フォームアフター.TextBox受付者13 = Cells(ActiveCell.Row, 74).Value
 フォームアフター.TextBox対応者13 = Cells(ActiveCell.Row, 75).Value
 フォームアフター.ComboBox定型13 = Cells(ActiveCell.Row, 76).Value
 フォームアフター.TextBoxアフター内容13 = Cells(ActiveCell.Row, 77).Value
 フォームアフター.TextBox処理内容13 = Cells(ActiveCell.Row, 78).Value
 フォームアフター.TextBox依頼日14 = Cells(ActiveCell.Row, 79).Value
 フォームアフター.TextBox受付者14 = Cells(ActiveCell.Row, 80).Value
 フォームアフター.TextBox対応者14 = Cells(ActiveCell.Row, 81).Value
 フォームアフター.ComboBox定型14 = Cells(ActiveCell.Row, 82).Value
 フォームアフター.TextBoxアフター内容14 = Cells(ActiveCell.Row, 83).Value
 フォームアフター.TextBox処理内容14 = Cells(ActiveCell.Row, 84).Value
 フォームアフター.TextBox依頼日15 = Cells(ActiveCell.Row, 85).Value
 フォームアフター.TextBox受付者15 = Cells(ActiveCell.Row, 86).Value
 フォームアフター.TextBox対応者15 = Cells(ActiveCell.Row, 87).Value
 フォームアフター.ComboBox定型15 = Cells(ActiveCell.Row, 88).Value
 フォームアフター.TextBoxアフター内容15 = Cells(ActiveCell.Row, 89).Value
 フォームアフター.TextBox処理内容15 = Cells(ActiveCell.Row, 90).Value
 ’ここまで
 ※ここから〜ここまでの記述は、Sheet4〜6まであります。
 
 DoEvents
 フォームアフター.Show
 Worksheets("Sheet1").Activate
 Worksheets("Sheet1").Select
 End Sub
 
 
 |  |