|
>下記の件ですがどうしても直らないんでよね(困)
>他のシートを開いていると、そこにデータが書き込まれてしまうんです。
>
>
>>>2、他のシートで作業中にC:\systemにファイルを追加するとエラーになる。
>>> (データーの書き込む場所をシート1に指定していないからでしょうか?)
>
>>此れに就いては、意味が善く解らないのですが?
>
まだ状況、意味が善く解りませんが?
ただ単に、出力するシートを固定したいのなら、それは簡単に出来ますよ
変更ヵ所は、1ヵ所だけです
また、このコードの出力は、コードの有るBookだけに限りません
1ヵ所の変更だけで違うBook(開いてあれば)に出力する事もできます
「Public Sub CrossTabulation()」の中で
'ActiveSheetのA1セルを基準とする(Listの左上隅)
Set rngResult = ActiveSheet.Cells(7, "A")
と成って居るので、ActiveSheetに出力されるだけで
'Sheet1のA1セルを基準とする(Listの左上隅)場合
Set rngResult = WorkSheets("Sheet1").Cells(7, "A")
とすれば、ActiveWorkBookの"Sheet1”に出力されますし
'ThisWorkBookの"Sheet1"のA1セルを基準とする(Listの左上隅)場合
Set rngResult = ThisWorkBook.WorkSheets("Sheet1").Cells(7, "A")
とすれば、マクロの有るBookの"Sheet1"に出力されます
>それから
>FileListには65000件程度のファイル名の記録が可能ということになりますでしょうか?
確かに、シートの行数は、65536行で、2行目から書き込んでいますので
65535件のファイル名を記録できますが?、此れでは、フォルダの管理も出来ませんし
ただ単に、読み込みファイルを決定するだけで時間が食われ実用的では無いと思いますよ?
FileListシートに書き込まれるファイル名の意味は、前回マクロ起動時に指定フォルダに有る
該当処理ファイルのリストです
其処で、今回マクロが起動した時点で、指定フォルダに有る該当処理ファイルのリストが、
新規に作成され、FileListシートのリストと比較されます、そして新規のリストに有り、
FileListシートのリストに無いファイルを処理ファイルとして処理します
そして、新規のリストをFileListシートのリストと置き換え終了します
因って、FileListシートのリストに有り、新規のリストに無いファイル名は、削除されたものとして
当然、新規のリストから抜け落ちます(結果として、削除されます)
ただ、前で書いた様に余りファイル数が多い場合は、実用的で無いと思いますので
一定期間等でファイルを削除若しくは、移動してフォルダを管理するべきだと思います
(フォルダを人間の目で見て管理出来るのは、せいぜい1000件以下では?)
|
|