|
>▼Hirofumi さん、こんばんは。ご指摘のとおりコードを入力しましたが、
>だめみたいです。私もコードの内容について勉強しているのですが、わかりません。
>それで、参考までに今現在のコードを添付致します。それでも判明できなかったら、
>非常に残念ですが、ここであきらめるしかないです。
>これ以上、ご迷惑をおかけすることはできないので、
>後は、私で、Hirohumiさんのコードを元に勉強して、
>解明してみます。
別に、大して迷惑では有りませんが、土日ぐらいしか頻繁に回答できなくて
ご迷惑をお掛けしています
ただ、私もこのコードが動かないのが癪に障りますので
もし、ハルコさんに試して見る気が有れば、デバグの方法をお教えしますので
此れを試して見て下さい
現在の状態は、「同一の店名が有ります」と言う所で引っ掛かっているのですよね?
これは、どのシートの店舗名を読んでこうなって居るのかを調べます
1、コードの実行を途中で止めるので
先ず、「Sub Classification2」の中の
'画面更新を停止
' Application.ScreenUpdating = False
'画面更新を再開
' Application.ScreenUpdating = True
をコメントアウトして下さい
コメントアウトとは、上記の様に先頭に"'"アポストロフィーを付け
コメント行にする事です
2、次に、「Function MakeStoreIndex」プロシージャを出します
'最初にIndexに追加されたシート番号に就いて
With Worksheets(lngSheetNo)
の位置で、Worksheets(lngSheetNo)をドラッグして反転表示にします
3、此れを、マウスでポイントして、右クリックします
メニューが出ますので、ウォッチ式の追加をクリックします
ウォッチ式の追加のダイアログが出て、式の所に
Worksheets(lngSheetNo)
が入って表示されるはずです
此れを
Worksheets(lngSheetNo).Name
に替え、Okを出します
画面下側に、ウォッチウインドウが出て、ここに、今入れた「Worksheets(lngSheetNo).Name」
が表示されているはずです
4、同様に「For i = 」のiを反転表示して、ウォッチ式の追加を行い、ウォッチウインドウに追加します
5、同様に、「'店舗名の先頭から終まで繰り返し」以下のコード中の「vntData(i, 1)」も、
ウォッチウインドウに追加します
6、次に、
'最初にIndexに追加されたシート番号に就いて
With Worksheets(lngSheetNo)
のWithの左側のウィンドウ枠の幅広の部分をクリックします、
枠に●が表示され、「With Worksheets(lngSheetNo)」が反転表示されます
私の環境では、反転表示、●共に茶色の色が付いています
これは、ここにブレークポイントを設定したと言います
7、これで準備が出来ました、表示をVBEからシートにし、マクロを実行します
8、マクロを実行すると、先ほど設定したブレークポイントの位置で実行が中断します
この時、ウォッチウインドウの「Worksheets(lngSheetNo).Name」の右側の値の所を見ると
店舗を読みに行っているシートのシート名が表示されています
まず、此れが転記先のシートの1枚かどうか確認して下さい
9、次に、ファンクションキーのF8を押すと、私の環境では、黄色の反転表示が現れます
此れは、スッテプ実行と言って、1行づつコードを実行していきます
F8を何回か押して、黄色の反転表示を「If Right(vntData(i, 1), 1) <> "店" Then」
の所まで持って行きます、この時、ウォッチウインドウのiの値、vntData(i, 1)の値
を見て下さい、この様にF8を押す毎に1行づつ実行され、黄色の反転表示の前の行まで
に変更された、iの値とvntData(i, 1)の値を見ることが出来ます
10、F8を繰り返していくと、何処かで「Beep」の所に反転表示が移ります
この時のiの値、vntData(i, 1)の値がハルコさんの心当たりの有る値かどうか確認してください
11、もし、シート名が転記先シートの1枚で無ければ、そのシートのE1の日付が有るはずです
また、シート名が転記先シートの1枚で有れば、vntData(i, 1)の値が店舗名で有るのかを
確認して下さい、有るなら、vntData(i, 1)の値に重複が有るか確認して下さい
12、ここら辺の事が解ったら報告して下さい
13、全てを確認したら、VBEのメニュバーの「実行」→「リセット」を選択して実行を中止します
次に、VBEのメニュバーの「デバッグ」→「すべてのブレークポントの解除」を選択して
すべてのブレークポントを解除して置きます
|
|