08/11/13 17:21:48
>>848
名前か。それは厄介だ
挿入に insert 使ってコピー書き戻すと名前付き範囲の内容書き変わるし
insert だけでも 2回目は遅くなるし
後は、編集時にシートコピーしたシートを使っといて、deactivate されたら
シートごと削除とかかなあ。イベントあるからいろいろめんどくなるんだよな、、、
850:デフォルトの名無しさん
08/11/13 17:26:26
シートのコピーから戻す方式を試したら更に時間が掛かる様になってしまった
851:デフォルトの名無しさん
08/11/13 18:16:20
>>850
データ量や数式、書式設定その他によってかなり違うだろうね
オレのはあくまで>>827の条件で試しただけだし
852:デフォルトの名無しさん
08/11/13 21:52:40
>>847の処理における名前付き範囲は、挿入時に
range("namedarea").offset(20000).name = "namedarea"
コピーバックの後に .offset(-20000) で、わりと簡単に対応できた
画期的なやり方は見つからんね。構成とか見直すしかないかも、、、
853:851
08/11/14 00:13:24
とりあえず、A2:Z3000 をテキトーな数式で埋めて試して見たけど、
やっぱ>>847のが早かった。calculation 切れば数式なしの時とあんま変わんない
とにかく insert (特に 2回目)が遅いんで、insert とコピーバックの組み合わせでは
効果ないかも
854:デフォルトの名無しさん
08/11/14 21:41:28
はじめまして、こんばんは。
今日はじめて本屋にて VBA の存在を知りました。
初心者質問ですみません、例えば、、、これができるようになるとなにができるようになるのですか?
詳しいかた教えてください。
855:デフォルトの名無しさん
08/11/14 22:05:58
>>854
例えば野球データベース
選手名を入力すればその選手のプロでの全成績が一覧表示されるとか
インベーダーゲーム作ってる人もいるよ
とにかくExcelをVBAプログラムで自在に操れるって事
856:デフォルトの名無しさん
08/11/15 19:22:40
>>854
業務で言うと、データベースをexcelに展開して、
色んなチェックプログラムを掛けて品質保証したりとか。
ワークシートで使える関数を作って会社内に配布したり。
excel上に検索エンジン作ってる人もいるし、まぁ、何でもあり。
857:無職カス
08/11/16 02:50:07
みなさん、こんばんは、 >>854 です。
>>855
>>856 さん 返答ありがとうございます。かなり使える機能ですね。
最近アルバイトをやめました。時間はたっぷりありますのでそこそこ使えるレベルまでもっていきます。
これからVBAを勉強していきます。
多々質問すると思いますが、みなさんよろしくおねがいします。
858:デフォルトの名無しさん
08/11/16 03:45:10
下に全員の成績表があって、
そこから各部門のトップ5を上の小さい表に抽出したいんだけど、
ランクとは違う気がするし行き詰っています。
どなたかご教授願えますでしょうか?
859:デフォルトの名無しさん
08/11/16 05:08:38
officexpのマクロと関数の処理順(と思われる事項)で知恵を貸していただきたく書き込みいたします。
セルAの値によってセルBの値が変わるよう関数を設定しているの状況で、
セルBの書式が自身の値によって変わるようにマクロを組もうとしています。
(書式は4種類以上なので条件付き書式は使えません)
worksheet_changeで書式変更を自動実行するようにしたのですが、
マクロを実行してみるとAの値を変えてもBの書式が変わりません(Bの値は通常通り変わります)
その状況で、まったく関係ないセルCの値を変更するとBの書式が変わったので、
マクロ自体には問題はないようです。
おそらく、A変更→マクロ自動実行→関数でBの値変更、という内部処理があるために
マクロによる変化が見られない状況であると思っています。
(違っているなら根本から考え直さないといけないかもしれませんが)
このような構成の場合、関数による値の変更が反映された後で
書式変更などのマクロが実行されるようにすることはできないのでしょうか?
ご教示お願い申し上げます。
860:デフォルトの名無しさん
08/11/16 10:11:55
Calculate
861:デフォルトの名無しさん
08/11/16 10:51:08
>>860
ご回答ありがとうございます。
5分前にcalculate使えばいいと気づいて、自己解決した旨書きにきたら
既にお答えくださっていたのですね。
初歩的な事でお手を煩わせてしまい、申し訳ございませんでした。
862:デフォルトの名無しさん
08/11/16 19:13:30
>>857
基礎を勉強するには独学でも全然問題ないけど、
プログラム未経験で、かつ仕事に就いてないとなると、
プログラムの基本的な事を理解するまでに半年か1年かはかかると思う。
んで、そこから先は明確な目標が無いと無理。
やれる事が多いんだけど、ぶっちゃけた話、特化したプログラムには敵わない。
例えば>>855でゲームの話が出てたけど、確かに作る事は出来る。
けど、VBAからAPI呼び出してるに過ぎないし、更に言えば
タイムラインって概念がある&ドローツールのFlashなんかには到底及ばない。
ExcelVBAはあくまでExcelの処理系統のプログラムだと俺は考えてる。
Excel上での処理に関してはVBAがぶっちぎり。当然だけどね。
何か目標持った方が良いよ。
863:デフォルトの名無しさん
08/11/16 19:15:00
>>859
calculate使う理由が分からん・・・。
VBAで処理してるなら、VBAでBの値も弾き出せば良いんじゃないか?
864:独り言(ちら裏)
08/11/17 01:24:05
というか、条件付き書式を複数設定(優先順位付)出来ないExcelの仕様に
問題ありかと...
それがExcelのポリシーというのであれば、そういうアプリめいたものを
Excelで作ることが間違いだったということになるか...
865:デフォルトの名無しさん
08/11/17 10:16:53
> 条件付き書式を複数設定(優先順位付)出来ないExcelの仕様に
> 問題ありかと...
という意見が多いので、2007で設定数が 3 から 無制限 に、
優先順位も設定を書き直さずに変更できるようになった。
866:デフォルトの名無しさん
08/11/17 14:02:59
ということで、Excel2007以降の購入をお勧め
867:デフォルトの名無しさん
08/11/17 15:07:26
てゆーか、条件によって変化するセルの書式の種類は3つに留めておく
というのが無難かと
868:デフォルトの名無しさん
08/11/18 00:50:10
>>864
selection changeイベントで好きなだけ設定しろ。
おまいのVBAは飾りもんか?
869:デフォルトの名無しさん
08/11/18 17:07:45
これのFSO(FileSystemObject)使ってテキストデータの読み込みすると文字化けします。
URLリンク(www.asahi-net.or.jp)
strRECをUTF-8→SJISにエンコードするには、どう記述したらいいですか?