- 1 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 02:23:41.78 ID:2t63WK/jM.net]
- !extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512 ↑2行に減ってるけど、同じ内容を3行に増やして貼り付けること ExcelのVBAに関する質問スレ コード書き込みや作成依頼もOK 次スレは>>980が立てること 無理なら細かく安価指定 ※前スレ Excel VBA 質問スレ Part75 https://mevius.5ch.net/test/read.cgi/tech/1644384272/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
- 799 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 14:30:17.44 ID:par7A0IW0.net]
- はい次の方
- 800 名前:デフォルトの名無しさん [2022/06/29(水) 14:59:30.13 ID:0RCF24VI0.net]
- .Netでもひとつの壁と言われているラムダ式が
VBAどころかEXCELで使えるようになるのか。 胸熱だが脱落者も増えるだろうな。
- 801 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 15:07:56.16 ID:Ajq9RLSRM.net]
- 一般的な意味での高階関数は数学的な抽象概念としての話ではあるけど、プログラム言語としては第一級関数の実装のことを言う場合が多い
(C言語の関数ポインタのように擬似的に実現する方法もある) 高階関数 https://ja.wikipedia.org/wiki/%E9%AB%98%E9%9A%8E%E9%96%A2%E6%95%B0 第一級関数 https://ja.wikipedia.org/wiki/%E7%AC%AC%E4%B8%80%E7%B4%9A%E9%96%A2%E6%95%B0
- 802 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 15:09:05.56 ID:JurptZkT0.net]
- 脱落者なんて増えないさ
世の中にエクセルの全機能使いこなしてる奴なんていないからな 理解できない機能は使われないだけだよ
- 803 名前:デフォルトの名無しさん [2022/06/29(水) 17:35:51.56 ID:0RCF24VI0.net]
- >>791
読んでてよく分からんかったけど 要はアセンブラでいうところのアドレスの間接参照とか 間接修飾とか言われているやつで .NetではDelegate、VBAではCallByNameによるコールバックって理解でいい?
- 804 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 17:43:32.68 ID:8wQcCZ0gd.net]
- VBAでできない事をダラダラと話さず別スレいけばいいのに
- 805 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 17:56:17.53 ID:vfJ3sAv3M.net]
- Excelで例えるなら関数を特定のオブジェクトのメソッドとしてではなく、それ自体を実体のあるオブジェクト(あるいはコレクション)と見做すようなもの
利用側の関数内で関数オブジェクト(のようなもの)を参照する手段として関数そのものをラムダとして扱う
- 806 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 18:54:09.74 ID:zPLPBKg6H.net]
- エクセルもVBAも詳しくないんですけど
VBAは非同期処理でコールバック関数を使わないんですか?
- 807 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 19:06:05.99 ID:tW8kR1cqM.net]
- イベント駆動型ですから
- 808 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 19:13:20.08 ID:i0xj9Opya.net]
- >>794
高階関数っていうのを最近覚えたんだろうな 関数内関数に1mmも関係ないのにしつこく語ってる 他の言語スレだと瞬殺されるレベルだからこんなスレで管巻くしか無いんだろうw
- 809 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 19:15:29.13 ID:uu2mw40gD.net]
- >>796
使おうと思えば使える
- 810 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 21:47:59.24 ID:zPLPBKg6H.net]
- >>799
コールバック関数を使えるのなら 引数に関数参照できるということです? なら変数に関数を代入できそう
- 811 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 21:55:21.60 ID:zPLPBKg6H.net]
- >>797
非同期処理はイベント処理に依存してるってことでしょうか? コメントありがとうございました VBA初心者なのでいろいろ勉強していきます
- 812 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 22:13:03.71 ID:sZpGYWcf0.net]
- >>800
特定のオブジェクトやクラスに所属する関数やAPIなどシステムで定義された関数(メソッド)であればコールバック関数で参照することはできる グローバルのユーザー定義の関数はラムダ式で記述するなどの手段を使わない限りは無理
- 813 名前:デフォルトの名無しさん (ワッチョイ 4f2f-BYhf) mailto:sage [2022/06/29(水) 22:45:43 ID:JurptZkT0.net]
- コールバック「関数」とはなにを指してるんだろうかねぇ
コールバックを実現する手段はイベント以外に CallByNameとかApplication.Runとかでまあ実現できなくはない
- 814 名前:デフォルトの名無しさん (JP 0Ha3-tCSL) mailto:sage [2022/06/29(水) 22:55:30 ID:zPLPBKg6H.net]
- コールバック関数は何を指しているのか
なぜラムダ式が存在するのか 即時関数とラムダはどこから分岐していったのか 関数プログラミングは本当に有益なのか 本当に変数は悪者で動的型付けは悪なのか それらはもはや哲学なのかもしれません
- 815 名前:デフォルトの名無しさん (ワッチョイ ff68-TsA2) mailto:sage [2022/06/29(水) 23:01:15 ID:L0Xzxy470.net]
- 慣れれば別にどっちでも・・・って感じになるけどな
- 816 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 23:50:10.86 ID:HQQahVZ60.net]
- >>783
自作の階乗作らせりゃ一発だろ。Cの関数へのポインタとか、可読性0に近い。組んでて楽しいけど、1ヶ月後の自分はこれを理解できるだろうかという疑問が湧くw
- 817 名前:デフォルトの名無しさん [2022/06/30(木) 05:47:49.15 ID:P7B/AZjs0.net]
- まぁでもあんまりVBAでコールバック使う機会ないかな
呼び出しや生成元のモジュール側の関数を 呼び出された側や生成された側から呼び出すときに 密結合になるのを避けるためくらいにしか使ってない
- 818 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 07:16:43.81 ID:1TbRNwlJH.net]
- >>807
エクセルVBAでDBのデータやファイルデータを読み込むとき 非同期にならないように処理するってことなんでしょうか? 例えばフラグを立ててdo-while、breakで処理待ちしてから次の処理に進むとか? webのように処理と表示のタイムラグを気にするようなことがないのかもしれませんね
- 819 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 07:32:44.20 ID:wDIpT9iQ0.net]
- それすんごい資源食わないか?
- 820 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 07:37:53.64 ID:1TbRNwlJH.net]
- >>809
vbaはコールバックを使わないということらしいのですが コールバックを使わずに非同期処理する方法があるのでしょうか?
- 821 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 07:47:00.24 ID:NKnrqd7g0.net]
- ない(もしくはめちゃ面倒だ)から諦めろ
非同期やりたいなら他の言語使え
- 822 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 07:59:35.80 ID:wyi1xEzY0.net]
- VBA走らせている間に漫画でも読んどけよ
- 823 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 08:04:39.54 ID:1TbRNwlJH.net]
- え、昨夜のレスでは非同期使えるって言われたので
多言語と同じようにpromise的な処理があるのかと思いました 非同期めちゃくちゃ面倒ってことは エクセル処理で非同期を使うという発想が間違っているのですね なんかいろいろ勘違いしていたみたいでした 神様、先輩方、すみませんでした
- 824 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 08:14:56.75 ID:CdZVH0NpM.net]
- vbsとか使って外部プロセスに追い出すのが簡単だな
で、何を並列処理したいのかな?
- 825 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 09:30:19.73 ID:TLf+rFOod.net]
- JavaScriptの経験があるなら今更VBAなんかに手を出さなくてもOfficeスクリプト使えばいいでしょ
デスクトップでもサポートされたからもうVBAいらないよ
- 826 名前:デフォルトの名無しさん [2022/06/30(木) 10:09:22.67 ID:P7B/AZjs0.net]
- >>815
え、マジ? もう企業や教育者向けのじゃなくても開発出来るの?
- 827 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 10:36:29.60 ID:3IHNP7gZd.net]
- ブック1開いてマクロ実行
待ってる間にブック2開いて手作業 ブック2保存して閉じたら、そのタイミングでブック1のマクロが停止 これって仕様?
- 828 名前:デフォルトの名無しさん (アウアウウー Sad3-sbT5) [2022/06/30(木) 11:24:18 ID:l3rHcZB/a.net]
- 排他処理なにそれおいしいの?
ファイル保存したらマクロが止まるのは仕様
- 829 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 15:49:46.55 ID:RZ5lqdEjd.net]
- VBAいじっている間にいつの間にかボタン表面が白くなって
userformの背景色や、userformで使われているボタン表面のも同じ白色に変色 まったく新しくファイルを作っても同じ現象が起きる オフィスをインストールし直しても同じ 例外的にいつもの正常なボタンの表面色で表示されるケースがある https://i.imgur.com/t5RFNKa.png この現象が起きる前に作ったファイルのコピーを作る。このコピーを開く。 このとき、セキュリティ警告が出てる間はなぜか正常なボタン表面色 コンテンツ~のボタンを押した瞬間にボタンが白くなる Workbook_Openとかはそもそもない 今のおかしな状態が黒線の左側で、右側がセキュリティ警告が出ている状態 VBEでUserForm自体・ボタン・テキストボックス、これらの背景色BackColorの値は &H8000000F& これって正常な値ですよね? つまり内部的には正常な値なのに表示はいずれも真っ白 windowsやモニタの設定の影響であればセキュリティ警告が出てようが無関係に白色化しているはず 何か原因わかる方いますか? そもそもVBAが関係しているかどうかも分からないのですが。 ちなみに他のエクセルとは無関係のソフトウェアの色は特に変化はないように思います
- 830 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 15:56:36.78 ID:RZ5lqdEjd.net]
- >>819ですが、文章ちょっとおかしなところがありました
ユーザーフォーム上のボタンも、ワークシートに直接おくボタンも同じように白色になっているということです そもそもボタンだけじゃなくて&H8000000F&で色が表示されている部分は どれもおかしくなっているような状態です
- 831 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 16:27:38.04 ID:CdZVH0NpM.net]
- たいして白くない件
- 832 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 16:32:48.48 ID:RZ5lqdEjd.net]
- >>821
真っ白です →は例外的に正常に表示されるケース ←が現状 https://i.imgur.com/3Hy4Ot8.png
- 833 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 17:41:14.60 ID:1+oYjPxt0.net]
- >>810
非同期と並列処理の区別をつけろよ 非同期=コールバックでもないしな
- 834 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 17:47:02.54 ID:1+oYjPxt0.net]
- >>819
テーマが適用されてるだけな気がする
- 835 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 18:26:58.93 ID:m1ZMAziu0.net]
- システムカラーの値
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/system-color-constants
- 836 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 21:06:49.66 ID:1TbRNwlJH.net]
- >>823
そうですね コールバックがマルチスレッドって言ってるわけでも プロセスを分けるって言ってるわけでもないです 全ての非同期処理は並列処理でもないですし コールバックは処理なので、非同期でもないですし VBAは初めてなのでいろいろ勉強していきます なんか変なこと言っていたらごめんなさい
- 837 名前:デフォルトの名無しさん (スッップ Sd5f-gXkX) mailto:sage [2022/06/30(木) 22:28:19 ID:SUgmTyTCd.net]
- 自分はやりたい事の手段の一つにExcelVBAがあるだけでExcelVBAでどこまでできるかってのは気にしてない
別の言語を選択すれば可能ならExcelVBAにこだわることもないしね 勉強するあたりのレベルならExcelVBAだけでなくほかの言語も勉強したほうがいいかもね
- 838 名前:デフォルトの名無しさん mailto:sage [2022/06/30(木) 23:19:39.52 ID:1TbRNwlJH.net]
- エクセルの参加人数はすごいと思います
参加人数の多いエクセルをプラットフォームとしてデータ処理できるVBAは 他の言語には見られない参加者人数の価値があります(これを英語で何と言ったか忘れましたが) ハードもプラットフォームも、潜在的な参加者の数で価値を測るという考え方が正しければ エクセルVBAは他の言語をはるかに凌ぐ学習価値があると思うのです 他の言語を学習しつつもVBAも使えるというのは とても素晴らしいことなのだと、VBA初学者としても感じています 先生方、これからもご指導いただける機会がありましたらよろしくです
- 839 名前:デフォルトの名無しさん [2022/07/01(金) 00:44:30.82 ID:iVoRsqHDd.net]
- >>828
お前は二度と来なくていいよ
- 840 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 00:49:35.03 ID:T8FFb7IX0.net]
- >>828
ちょっと何いってるか分からない
- 841 名前:デフォルトの名無しさん [2022/07/01(金) 01:26:43.65 ID:miA2ycF9M.net]
- 魔界に転生するとしたら、リザレクの次くらいに持っていたいスキルですもんね。
転生するまでに習得したいと思います。
- 842 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 01:41:24.35 ID:wxGP1WcO0.net]
- シート上に実行ボタンがあり、いろいろなBookから値を取得してメインのブックに張り付けるマクロがあるのですが、
Windows7+Excel2010とWindows10+Excel2016では、2016方が数倍動作が遅いです(数秒程度が10秒程度になる)。 ただし、時々2010と同程度で終わることがあり、原因がよくわかりません。 なんか、実行ボタンの押し方によって(クリックしてマウスポインタをすぐExcelのウィンドウ外に移動)、 速度が速くなるような気がしているのですが、そのようなことはあるのでしょうか? あるとすれば、なにか対策や原因はあるのでしょうか?
- 843 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 02:14:42.23 ID:u7q4KnhWd.net]
- >>832
2013あたりからExcelの内部構造が大幅に変わったらしい Windowsも新しいほど重くなってる マウスポインタの位置によって速度が変わるのは多いにあり得る 昔はボタンを押したままにするとアプリの動作が止まってたのが、いつのまにかずっと動き続けるようになったし
- 844 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 06:59:23.11 ID:JTFoUJU2H.net]
- >>829
DBシステムとしては 操作のバリエーション、検索、演算エンジンともに 最高峰の素晴らしい言語システムなのに 初心者に冷たいコミュニティなのですね >>830 ネットワーク経済性と似た発想の価値測定方法で ソフトやハードの経済価値を推定する思考方法です
- 845 名前:デフォルトの名無しさん [2022/07/01(金) 07:51:36.56 ID:m7rasyZv0.net]
- >>834
いやいや、DBシステムとして使うとすると シートにSQL投げようとしたとき インデックス貼れない時点で欠陥品だよ。 EXCELの本分はあくまで表計算。
- 846 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 08:45:57.76 ID:Dqsnfi220.net]
- >>834
まずDBシステムじゃないし COMから学んではどうか
- 847 名前:デフォルトの名無しさん (ブーイモ MM4f-2lfq) mailto:sage [2022/07/01(金) 09:01:55 ID:2BH0SskNM.net]
- 今どき簡易DBアプリはPowerAppsみたいなローコードツールを使えばよい
オンライン共有のAccessみたいなアプリがクソ簡単に作れてExcelやスプレッドシートとの連携も容易
- 848 名前:デフォルトの名無しさん [2022/07/01(金) 11:26:48.78 ID:MWfPFNZsa.net]
- >>832
気のせいだからほっとけ
- 849 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 11:27:33.06 ID:B1H2Mtvqd.net]
- 自分としては質問があればそれにこたえるだけでいいと思うが
技術者が他の事にも手を広げるならクソ簡単かもしれないが 一般ユーザーが背伸びしてVBAを理解しようとしてるなら保守なんかも含めてハードル高いと思うんだよね まあ言いたい人は好き勝手に言うだけだから止められないが
- 850 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 11:46:09.70 ID:Kpd5ohp2M.net]
- 自分としては質問があれば質問するだけでいいと思うが
一般ユーザーが背伸びして回答なんかハードル高いと思うんだよね まあ言いたい人は好き勝手に言うだけだから止められないが
- 851 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 15:15:30.41 ID:Bx5b0a9x0.net]
- 大事な事だから二度と言うな
- 852 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 15:46:06.01 ID:Ry4wIvAM0.net]
- どっちだよw
- 853 名前:デフォルトの名無しさん [2022/07/01(金) 15:50:37.55 ID:E3WEdYada.net]
- 背伸び?逆やろ
背伸びしようとするタイプはVBAなんて使わない 伸びない香具師がVBAに固執してる
- 854 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 15:51:42.30 ID:S5EpTQdXM.net]
- 昔
「いいですか?1回しか言いませんからよく聞いてくださいね」 って言われたけど、なんで大事なことなのに1回しか言わないんだろう そんなに大事なら確実に伝わるまで何回でも言うか書いて渡すかすべきだろ
- 855 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 15:56:44.16 ID:wWku/Klda.net]
- 俺、一回しか教えねーぞ!
やるから見て覚えろ盗んで覚えろな! これ、昭和の意地悪い上司。 それが当たり前だった時代
- 856 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 15:57:57.34 ID:Ry4wIvAM0.net]
- >>844
そうそう アホちゃうの
- 857 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 15:59:37.00 ID:wWku/Klda.net]
- >>843
めっちゃ分かる 何がなんでもマクロでやっているヤツって何なんだろうね
- 858 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 17:12:32.89 ID:B9UYAOsl0.net]
- >>844 みたいな考えの奴はたいていちゃんと聞いてないしメモ渡しても無くしたりするしw
- 859 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 17:35:59.70 ID:Ry4wIvAM0.net]
- >>848
メモ渡すってアホなん
- 860 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 17:57:54.04 ID:Dqsnfi220.net]
- >>848
そういう奴でも同じ事何回か教えりゃ覚えるから、 分かんなかったらいくらでもまた聞けって言ってる 目的は教育コストの削減とかそいつの成長とかじゃなく仕事の完了な訳だから
- 861 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 18:43:10.74 ID:miA2ycF9M.net]
- いやこれ、あわしろっていう新手の荒らしですよ。
- 862 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 19:33:27.88 ID:rTaPWcb90.net]
- 昭和からEXCEL使ってた人いる?
- 863 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 19:34:18.95 ID:B9UYAOsl0.net]
- >>850
その場限りの相手ならそれが正解だけど>>849 みたいなポンコツは成長しないから今後とも仕事させるならとっとと切り捨てないと結局仕事の完了が遅れるだけ
- 864 名前:デフォルトの名無しさん [2022/07/01(金) 19:41:46.04 ID:m7rasyZv0.net]
- >>852
そもそも昭和の時代にEXCELあったっけ? あの頃ってロータス123とか マルチプランの時代じゃないの?
- 865 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 19:42:01.43 ID:Gg+5fIBkM.net]
- >>853
そういうことを言い出したら極論VBA使いもクビにして優秀なエンジニア雇えという結論にしかならん 雇用維持も企業の責任
- 866 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 19:52:08.13 ID:lB7C8CJv0.net]
- >>833
複数のブックを別ウインドウで開くようになったからな 個人的にはユーザーフォームが最前面に来ないのがめんどい
- 867 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 19:52:42.66 ID:lB7C8CJv0.net]
- あと最小化するとユーザーフォームも消えるのが嫌だな
- 868 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 20:32:48.53 ID:B9UYAOsl0.net]
- >>854
最初の日本語版は1989年(平成元年)リリースだから日本語版を使ってた人は居ないはず 最初のExcelはMac用に1985年(昭和60年)にリリースされてるみたいだからもしかしたら触った人がいるかもしれない
- 869 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 20:38:52.77 ID:B9UYAOsl0.net]
- >>855
別に辞めさせなくてもポンコツはポンコツで務まるような職場に移せば良いだけだろ
- 870 名前:デフォルトの名無しさん [2022/07/01(金) 21:05:26.47 ID:0+5KhUlf0.net]
- vbエディターを開いたときに開いているブックのモジュールやらUFやらがバーっと開くのを止めさせたいんですが、どなたかご存じないですか?毎回重ねて並べて閉じるのがめんどい。
- 871 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 21:10:05.40 ID:CjhzObSj0.net]
- ラジオボタンがクリック1回で反応しなくて2回マウスでカチカチって指定しないといけないんだけど、直し方わかる人いますか?(´・ω・`)PCの問題なんかな?
- 872 名前:デフォルトの名無しさん mailto:sage [2022/07/01(金) 21:42:37.97 ID:kFE+Jjo70.net]
- マルチプランならあるな。
と言っても平成のはじめだけど。 あの時代はPC買うとおまけで違法コピーモノがもらえる時代だからな、 マルチプランも123も両方あったわ。 当時は123のほうが強かったんだよね。 Excelとマルチプランて名前が変わっただけじゃないの?
- 873 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 00:17:07.82 ID:7TC/SMOx0.net]
- Excel3.0から使っていたら人ならいたよ。
とっくに定年退職されてます。 最近のExcelはごちゃごちゃしていて苦手と言っていたかな。
- 874 名前:デフォルトの名無しさん [2022/07/02(土) 00:35:50.92 ID:eLIQ72LUM.net]
- Collectionについての質問なのですが
Collectionの要素をソートする場合 それ用のSubを作って、その中でソート後のCollection変数を作ってその中に順番に要素を1つ1つ入れていって最後に set 元のcollection=新collection とやる方法を考えつきました。 この方法で問題ないですか?それとももっとスマートな方法がありますか?
- 875 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 00:50:08.19 ID:vnn63W/20.net]
- 懐かしいの。
当時 IBM 5550とかいうパソコン使ってた記憶がうっすらある そこでマルチプラン動かしてた ところが海外拠点ではロータス123 の方が評判でどこかでそれに切り替えた記憶がある。同時に IBM 55505何かに変更したような記憶があるな マック使ってたやつが Excel を自慢して確かに羨ましかったな DOS V パソコンで Windows 3.1が動いてその上で Excel が動いた時は感激したな
- 876 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 01:12:48.41 ID:yZ67dQaR0.net]
- 昭和ならロータス123とアシストカルク使ってたな
あれはDOSだったかな?
- 877 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 01:21:18.54 ID:yZ67dQaR0.net]
- DOSの頃はファイラーはFD、ネットはエアクラフト、お絵描きはkid98、音楽はMIMPIがデファクトスタンダードだった
- 878 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 01:36:45.55 ID:7TC/SMOx0.net]
- 昔は企業で使うPCソフトといえば表計算と文書ソフトぐらいだったもんね。
- 879 名前:デフォルトの名無しさん [2022/07/02(土) 06:04:41.51 ID:kG8DYDgz0.net]
- >>864
良いんじゃない?それで。 用途にもよるけどコレクションにキーくっつけといて 別にキー一覧みたいのをソートして作っといて そのキーからソートした順番に引っ張るっていう方法もあるけど。
- 880 名前:デフォルトの名無しさん [2022/07/02(土) 06:14:46.63 ID:v1xY47GsM.net]
- >>869
あれれそうですか。 キーの方法も良さそうですね。 でもこんなひとはよく使用しそうなのに話が盛り上がらないのは みんなのVBAのスキルが低レベルだからでしょうか?
- 881 名前:デフォルトの名無しさん [2022/07/02(土) 06:15:13.26 ID:v1xY47GsM.net]
- x こんなひと
o こんなこと
- 882 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 06:29:09.78 ID:BdV6t7uW0.net]
- すげーな、普通の人が寝る夜中に盛り上がらないからって他人を低レベル呼ばわり
- 883 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 06:35:31.84 ID:yZ67dQaR0.net]
- >>870
かまってもらえないからみんなまとめて低レベル扱いですかそうですか くさっ
- 884 名前:デフォルトの名無しさん [2022/07/02(土) 06:52:10.92 ID:kG8DYDgz0.net]
- >>870
なるほど、ただの煽りかも知れないけど あまり人前でそう言うことは言わない方がいい。 人を嫌な気分にさせるし 自惚れ屋と思われて周りからも疎まれることになる。 自分の為にも思ったことは口にしたり書き込んだりする前に一度考えてから実行する方が良いよ。
- 885 名前:デフォルトの名無しさん [2022/07/02(土) 07:31:29.49 ID:LyZZMtStD.net]
- >>870
当たり前の処理のどこに盛り上がる要素があると思うのか そもそもソートが必要なものにcollection(リスト)使おうって時点で データ構造の選択を間違ってる可能性が大きい
- 886 名前:デフォルトの名無しさん [2022/07/02(土) 07:35:58.08 ID:+UfCFyJWM.net]
- わかった
じゃあいい
- 887 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 07:38:04.43 ID:Vi0lNJ4o0.net]
- 釣られすぎ
- 888 名前:デフォルトの名無しさん [2022/07/02(土) 07:40:07.80 ID:+UfCFyJWM.net]
- For-Next文の中だけで使う局所ローカル変数を定義する場合は
そのFor-Nextブロック内で Dim a as String でいいんですっけ? それともモジュールの先頭で? たしかVBAでは局所ローカル変数の概念がなくて Sub/Function内すべての場所で使える気がするのだけど。
- 889 名前:デフォルトの名無しさん [2022/07/02(土) 07:49:38.67 ID:kG8DYDgz0.net]
- >>878
局所ローカルという呼び方をするのかは兎も角 関数やメソッド以下のスコープ変数は基本的には設定出来ない。 変数宣言をする場所についてはVBAに限らず そのスコープが始まる頭のところに書くのが一般的だよね。 ただ、言ってる通り別に先頭に書かなくても問題なく実装は出来る。
- 890 名前:デフォルトの名無しさん [2022/07/02(土) 07:49:48.13 ID:vz70zrJPM.net]
- >>870
盛り上がったじゃないか 良かったな
- 891 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 07:49:50.15 ID:LyZZMtStD.net]
- >>878
言うとおり局所ローカル変数は存在しないのでFunctionやSubの中ならどこでもいいよ モジュール先頭(Function、Subの外側)だとグローバル変数かパブリック変数になるからその目的ならダメ
- 892 名前:デフォルトの名無しさん [2022/07/02(土) 07:58:43.11 ID:+UfCFyJWM.net]
- >>879
>>881 なるほどありがとうございます。 やっぱりできないのですね。 でもSub/Function先頭に書くと可読性が著しく下がる(この意味が分からない人はスキル低すぎ)のでやめときます。 われわれのように複雑なプログラミングをしてる人にとってはVBAの言語はいろいろ不便に感じますね。
- 893 名前:デフォルトの名無しさん [2022/07/02(土) 08:01:20.13 ID:kG8DYDgz0.net]
- >>882
だからそう言った言い方はやめた方がよいかと。 モロに自分が「単一責任原則も知らずにスパゲッティコード組みます」と言ってるようなものだから。
- 894 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 08:27:22.57 ID:bQuvSXdqD.net]
- >>882
COBOL書いたら死んでしまいそうな人
- 895 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 09:00:40.59 ID:At3W7bIA0.net]
- >>878
まあ好みだけど俺は変数宣言は可能な限り使う直前って決めてるからそのケースならループ内で宣言する
- 896 名前:デフォルトの名無しさん (ワッチョイ 0a63-63P4) mailto:sage [2022/07/02(土) 09:30:40 ID:6d3aqhyk0.net]
- チゲ鍋みたいだな局所ローカル
- 897 名前:デフォルトの名無しさん mailto:sage [2022/07/02(土) 09:41:11.94 ID:qJpeB53K0.net]
- DSのプチコンでローカル変数のありがたさを思い出したな
- 898 名前:デフォルトの名無しさん [2022/07/02(土) 09:55:37.37 ID:COZLaCzbF.net]
- 局部もろ観え
- 899 名前:デフォルトの名無しさん (ワッチョイ 87da-3xOz) mailto:sage [2022/07/02(土) 12:13:59 ID:vnn63W/20.net]
- >>885
何回も変数宣言を実行することになるのかな。そうなら理論的にはメモリの無駄と速度の低下が発生するんじゃないの
|

|