Excel総合相談所 70
at BSOFT
754:名無しさん@そうだ選挙にいこう
08/06/19 13:50:59
なんか眠くて仕事する気になれないんで作ってみた
Sub aaaa()
ChDir "C:\excel-data" 'データフォルダ指定
Workbooks.Open "まとめ.xls" 'まとめ先準備
Sheets("集計シート").Select
Range("B1").Select
N = Dir("aa-*.xls") 'ファイルを順に
While N <> ""
Workbooks.Open N '開いて
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Copy 'コピ
ActiveWorkbook.Close
ActiveSheet.Paste 'ペ
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
N = Dir() '次
Wend
ActiveWorkbook.Save
ActiveWorkbook.Close 'まとめ保存閉じ
End Sub
755:名無しさん@そうだ選挙にいこう
08/06/19 13:58:05
何度も走らせて遊んでたらまとめがおかしくなることに気付いた
Workbooks.Open "まとめ.xls" 'まとめ先準備
Sheets("集計シート").Select
Range("B:B").Clear '←これ追加
Range("B1").Select
まあ、ほかにもツッコミどころ満載だとは思うが、あとは好きに直してくれ
756:名無しさん@そうだ選挙にいこう
08/06/19 14:00:54
>>752
がんがれ
757:名無しさん@そうだ選挙にいこう
08/06/19 14:51:01
csvに吐き出す際、行末ではなく行頭に出力する方法はないのでしょうか?
もしくは、csvを検索する際、行末から読ませる方法はないでしょうか。
日毎に吐き出されるログをマクロに検索させるのですが、一万年二千年後には
一年で1レコードしか作成されなくても一万二千行を検索する必要があるので
年月に比例して処理が遅くなると思うのです。
行頭に新しいログが吐き出される形式、またはログの下から検索する形式
ならば、一億と二千年たっても見つかるまでの検索速度が同じになるのでは
と思ったのですがどうでしょうか。
758:名無しさん@そうだ選挙にいこう
08/06/19 14:53:13
>>757
ディスプレイを上下逆さまに置く。
759:757
08/06/19 14:56:35
八千年すぎた頃から「毎回降順にソートさせたらどうか」
とも思ったのですが、たった一行を先頭に持ってくるために
冗長すぎますよね?
760:名無しさん@そうだ選挙にいこう
08/06/19 14:58:10
>>759
ぶっちゃけ、8000年後のPCの性能なら8000行くらい余裕。
なので何も考えなくてよし。
761:名無しさん@そうだ選挙にいこう
08/06/19 15:21:05
ところで啓蒙君って何人いるんだ?
俺はドキュソ関数厨のみ叩いてるが。
762:757
08/06/19 15:29:39
ふざけないでください。一億とかそういうのは比喩であり
私が言っているのは追記方式では最新のデータを探す際に
月日に比例して無駄な処理時間が長くなってしまう、
ということなんです。これを改善する方法が見つかれば
僕の地獄に音楽は絶えない。
763:名無しさん@そうだ選挙にいこう
08/06/19 15:36:02
つFileLen
764:757
08/06/19 15:52:09
ファイルサイズを知ってどうしろと!?生き恥を晒せと!?
765:名無しさん@そうだ選挙にいこう
08/06/19 16:07:24
RDBを使えと
766:名無しさん@そうだ選挙にいこう
08/06/19 16:23:07
そんな嫌ならファイル分けて、百科事典みたいにあーさ行はAファイル、さーは行はBファイル、
まーわ、アルファベットはCファイル・・みたいに
入力にかかる時間は増大するけど><
767:757
08/06/19 16:35:14
>>765
確かに数万レコードいくなら素直にRDBでしょうけどね。
>>766
そういうやり方は好きじゃないんです。
池沼っぽく言うと好きくないんです。
でもコーディングの手間はかかるものの、
ファイルを分ける事でユーザーサイドの
入力に何ら支障はないのではないですかね?
768:名無しさん@そうだ選挙にいこう
08/06/19 16:36:26
>757,762
最新のデータを検索したいのであれば、検索に必要なログだけのファイルと
検索対象でない過去ログにわければよろしい。
処理時間云々言うならばエクセルでなくC言語あたりで専用アプリを作るだけの話。
ログ処理だけならperlでも快速ですよ。
769:名無しさん@そうだ選挙にいこう
08/06/19 16:56:33
テキストファイルなら、普通にランダムアクセスすればいいんじゃね?
open、seekあたりをヘルプで調べればサンプルそのまんまあるんじゃないかいな
770:名無しさん@そうだ選挙にいこう
08/06/19 17:04:26
基本的な質問かもしれないけど、折れ線グラフで2つの系列(線)が
交差するところだけをマーカーで表示するってのは可能?
771:名無しさん@そうだ選挙にいこう
08/06/19 17:36:54
エクセル2003でVBAの質問です
D1〜AH1に1と入力し、その入力した列を塗りつぶすマクロを作ろうと思っています
for~nextで回すつもりですが、どのように記述すればよろしいでしょうか?
また、R1C1形式で行全体、列全体を表すにはどのように記述すればよろしいでしょうか?
772:名無しさん@そうだ選挙にいこう
08/06/19 17:43:29
自己解決しました
ループ変数をoffsetと組み合わせればできました
773:名無しさん@そうだ選挙にいこう
08/06/19 18:11:48
何枚かに渡って表の項目を印刷するにはどうしたらいいのですか?違うとこで回答もらえませんでした。すみませんが、おわかりになる方いらしたら教えて下さい。
774:730
08/06/19 18:23:34
>>741-742
ありがとうございます。サンプルを試して、動作・理解できたので、実際のファイル向けにアレンジして仕様通り動作しました。
>>754さんのも後学のために試してみます。
ちなみに実際のファイルは、ソースファイルからいろんなデータを拾ってきます。ファイル操作の部分がまったくの素人なので参考になりました。
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4825日前に更新/227 KB
担当:undef