Excel VBA質問箱 IV

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

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


3416 / 13644 ツリー ←次へ | 前へ→

【62375】Private Subについて ムラ 09/7/15(水) 13:08 質問[未読]
【62376】Re:Private Subについて もも 09/7/15(水) 14:24 発言[未読]
【62377】Re:Private Subについて ムラ 09/7/15(水) 15:01 質問[未読]
【62378】Re:Private Subについて ムラ 09/7/15(水) 15:31 発言[未読]
【62379】Re:Private Subについて ムラ 09/7/15(水) 16:20 質問[未読]
【62382】Re:Private Subについて もも 09/7/15(水) 16:36 発言[未読]

【62375】Private Subについて
質問  ムラ  - 09/7/15(水) 13:08 -

引用なし
パスワード
   Private Subについて質問なんですが、

標準モジュール:
Sub a()
  Do Until Folder = 9
    fileopen 'ファイルを開くプロシージャ
    main '開いたファイルを処理するプロシージャ
    file = file + 1
  Loop
End Sub

 上記のコードは9つのフォルダについて、fileopenプロシージャで各フォルダに入っているファイルを全て開き、mainプロシージャでそのファイルを処理するというものです。
 そこで問題が生じたのですが、mainプロシージャについて、Sub main()でプロシージャを宣言すると、ファイルが正常に処理されるのですが、Private Sub main()で宣言するとファイルは予期せぬ処理をします。デバックも止まりません。標準モジュール内でPrivate Subでプロシージャは宣言するのはNGなのですか?御教授お願いします。

【62376】Re:Private Subについて
発言  もも  - 09/7/15(水) 14:24 -

引用なし
パスワード
   ▼ムラ さん:

こんにちは

>標準モジュール内でPrivate Subでプロシージャは宣言するのはNGなのですか?

そんな事はありません。

どのように不具合があるのかがわかりませんが
mainプロシージャが動作していないのであれば
コールするプロシージャとmainプロシージャが別のモジュールに
なっていませんか?
Private指定では同一モジュール内である必要があります。

同一なのであれば、どのようなコードでどのような不具合があるかを
記載されると回答が得られやすいと思います。

【62377】Re:Private Subについて
質問  ムラ  - 09/7/15(水) 15:01 -

引用なし
パスワード
   御回答ありがとうございます。

同一モジュールで間違いありません。

開いたファイルを管理ファイルに貼り付け

ActiveCell.Hyperlinks.Add Anchor:=Selection, Address:=ThisWorkbook.Path + "\Folder\" + Workbooks(FileName).Name, TextToDisplay:=ActiveCell.Value

で開いているファイルにリンクを張るというものなんですが、リンクが張られないものがあります。

張られないファイルで、
Private Subではリンクが張られないのですが、Subでプロシージャを宣言すると張られます。

原因を御教授頂きたいのです。

【62378】Re:Private Subについて
発言  ムラ  - 09/7/15(水) 15:31 -

引用なし
パスワード
   Private Subでもブレークポイントを張って、プログラムを止め、そして再び動かすとリンクは張られます。

【62379】Re:Private Subについて
質問  ムラ  - 09/7/15(水) 16:20 -

引用なし
パスワード
   申し訳ありませんが、
Private Subの中にSubでプロシージャが呼び出されていました。
そのSubで呼び出されているところで予期せぬ処理が行われていました。

Private Subの中にSubでプロシージャが呼び出された場合どうなるか御教授お願いします。

【62382】Re:Private Subについて
発言  もも  - 09/7/15(水) 16:36 -

引用なし
パスワード
   ▼ムラ さん:

同一のモジュールという事ですと
あとはコードの動作自体の問題になると思います。
タイミングなども関係するかもしれません。

細かく見ないとわからないことですのでコードを見ないと何も解りません。
今のコードを掲示する事はできませんか?

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