Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1479 / 13646 ツリー ←次へ | 前へ→

【74175】強制終了(問題が発生したため〜) ペコ 13/4/26(金) 11:55 質問[未読]

【74175】強制終了(問題が発生したため〜)
質問  ペコ  - 13/4/26(金) 11:55 -

引用なし
パスワード
   はじめて投稿させて頂きます。
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

1479 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free