[過去ログ] Excel VBA 質問スレ Part68 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
613: (テテンテンテン MMe6-B6QP) 2020/10/23(金)01:26 ID:ykqFrr6rM(1) AAS
>>610
出来ない
614: (アウアウウー Sa45-TzND) 2020/10/23(金)02:25 ID:YKSIT3mga(1) AAS
>>610
出来まい
615: (スッップ Sda2-AC5c) 2020/10/23(金)02:48 ID:bmMgVHIId(1) AAS
競馬のオッズの取り込み教えて欲しい。
616(2): (ワッチョイ 02ad-dZ3m) 2020/10/23(金)08:33 ID:TKI7l+v40(1/4) AAS
複数のセルに纏めて背景色を付けたい場合についてです
指定のセルは離れているためRangeで範囲選択では済ませられないです
Unionを使用するのも手ではありますが動作速度に影響を及ぼすので最終手段としたいです
そこで背景色をつけるセルのAddressを取得して一次元配列に格納し
.Range(Join(Array, ",")).Interior.CoIor = CLng("&H00FAFAFA″)
で着色しようとしたのですが、どうもこの連結方法の場合、連結数が一定数を超えるとエラー停止してしまう様です
なので何か別のアプローチはないものかと模索している最中なのですがもしよろしければお知恵をお借りしたいです
617: (アウアウカー Sa89-VmZc) 2020/10/23(金)08:37 ID:WT7JJPgTa(1) AAS
自分で思いつかないようなテクニカルなやり方してもあとで読む人が大変だし普通に配列ループでいいじゃん
618: (ブーイモ MM76-H07y) 2020/10/23(金)09:16 ID:0vnMylCPM(1) AAS
VBAで済む事をわざわざ他言語でやる池沼よりマシ
619(1): (ワッチョイ 05da-tMQb) 2020/10/23(金)10:42 ID:9+IFx01J0(1/3) AAS
>>616
一定数を超えるとエラーになるってわかっているんだから一定数を超えないようにすればいいんじゃね
620: (ワッチョイ 02ad-dZ3m) 2020/10/23(金)11:02 ID:TKI7l+v40(2/4) AAS
>>619
不特定多数が使用する業務のスケジュール管理をするツールで、描写したスケジュール表を平日、土曜日、日曜祝日の3パターンで着色する必要があるんですけど、業務期間が長いとどうしても超えてしまう場合が発生するんですよね
業務期間に制限を設けるわけにもいかないですし
配列に格納してんだからループで一定数おきに着色ってのも考えたんですけどUnionより遅くなるっぽいんで最適化を諦めてUnionで繋げちゃうかーって思ってはいるんですが、その前にここで聞いてみて何かヒント貰えたらなーと
621: (ワッチョイ 8249-5+f8) 2020/10/23(金)12:29 ID:u/a/wHRt0(1) AAS
あまり編集をしないのであれば、条件付き書式で勝手に色がつくようにするとか
622(1): (ワッチョイ 3901-3XbD) 2020/10/23(金)13:40 ID:DQVFwAwV0(1/3) AAS
>>616
Join(Array, ",") ← こいつがエラー起こすって感じなの?
String 型は最大20億文字数らしいね
あるいは.Rangeが受け付けないのか
一応ググってみるとRangeの引数は255文字までというのが出て来る
これに引っかかってるんじゃねえの
623: (ワッチョイ 3901-3XbD) 2020/10/23(金)13:51 ID:DQVFwAwV0(2/3) AAS
>一次元配列に格納し
これでループ回したところで体感できるような速度差は出ないと思うがな
むしろRange内の文字列引数処理のほうが時間食われるんじゃないかと
Union・・・どんなもんだろねぇ
624: (ワッチョイ 02ad-dZ3m) 2020/10/23(金)13:51 ID:TKI7l+v40(3/4) AAS
>>622
なるほど
引数上限の255文字が原因っぽいですね
んー……そうするとやっぱり複数範囲をカンマ区切りでーは上限が発生しちゃいますよねぇ
625: (テテンテンテン MMe6-FUnU) 2020/10/23(金)14:36 ID:ITa0Mrx5M(1) AAS
255件程度ならどんな方法でもさして時間変わらないのでは
screenupdating切れば一瞬で終わりそう
626: (ラクッペペ MMe6-E8a6) 2020/10/23(金)15:36 ID:wfU4S4ZzM(1) AAS
数秒が待てないというのはイベント駆動でもさせる気なの?
627: (ワッチョイ 8201-ZFHv) 2020/10/23(金)15:48 ID:BdUYZCjc0(1) AAS
エクセルでマリオカートを作ります
628: (ワッチョイ 21da-tMQb) 2020/10/23(金)18:52 ID:uwgUvjOA0(1) AAS
エクセルでねぇ・・。
実質DirectX頼りだろう。
セル書き換えじゃ60fps出ないし。
629: (ワッチョイ cd7c-z4aL) 2020/10/23(金)19:17 ID:knErP7D20(1) AAS
255個ぐらいで数秒もかかるのはおかしい
630: (ワッチョイ 05da-tMQb) 2020/10/23(金)19:24 ID:9+IFx01J0(2/3) AAS
ヒントならもらったろうに、あとはどう実装するかは自力で試行錯誤やればいいんじゃね
631(1): (ワッチョイ 02ad-dZ3m) 2020/10/23(金)19:38 ID:TKI7l+v40(4/4) AAS
処理範囲的には
.Range(”M11:Q1011,T11:X1011,【中略】,CF11:CJ1011“).Interior.CoIor
ぐらいです
全体で1万弱程のステップがあって他ファイルの読込やグラフの生成、データファイルの出力等があり、全体の処理時間が10秒前後なので
この処理を軽くした所で焼け石に水なのは分かってはいるんですが、
オブジェクトの操作を極力減らして動作時間を軽減したいなぁと思っています
次の操作箇所を強調する為にRange(″M20,M20″).Selectみたいな操作を使ったので、これの応用で広域処理も行けるかなぁと思ったんですがダメみたいですね
お騒がせ致しました
お忙しい中ご意見等頂きありがとうございました
632: (ワッチョイ 05da-tMQb) 2020/10/23(金)21:25 ID:9+IFx01J0(3/3) AAS
問題に取り組む姿勢がおかしい
上下前次1-新書関写板覧索設栞歴
あと 370 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.028s