虹裏img歴史資料館 - imgの文化を学ぶ

ここでは虹裏imgのかなり古い過去ログを閲覧することができます。新しいログはこちらにあります

21/03/27(土)23:05:13 Excelの... のスレッド詳細

削除依頼やバグ報告は メールフォーム にお願いします。個人情報、名誉毀損、侵害等については積極的に削除しますので、 メールフォーム より該当URLをご連絡いただけると助かります。

21/03/27(土)23:05:13 No.787402885

ExcelのVBAでプログラミングする時に こういう所は気を付けた方がいいとかあったら教えてほしい

1 21/03/27(土)23:06:02 No.787403243

未来の自分が見てもわかるようにすること

2 21/03/27(土)23:06:29 No.787403442

見りゃわかるだろうは見てもわからなくなる

3 21/03/27(土)23:06:35 No.787403470

まずOption Explicitを書く

4 21/03/27(土)23:07:41 No.787403902

ある日突然ぶっ壊れることを考えて使わないと死ねる

5 21/03/27(土)23:08:53 No.787404422

おろかなにんげんが使用しても壊れないようにすること

6 21/03/27(土)23:09:10 No.787404527

コールバック関数は標準モジュールでしか動作しない

7 21/03/27(土)23:09:25 No.787404632

愚かな人間しかいない…

8 21/03/27(土)23:10:19 No.787405014

On Errorは便利だぞ

9 21/03/27(土)23:10:25 No.787405067

分かりやすい関数にする

10 21/03/27(土)23:10:41 No.787405171

他人にマクロの存在をさとられないようにすること

11 21/03/27(土)23:10:58 No.787405290

>未来の自分が見てもわかるようにすること どうすればそれが出来るか…

12 21/03/27(土)23:11:03 No.787405321

グラフは超面倒

13 21/03/27(土)23:11:44 No.787405592

>On Errorは便利だぞ 便利だけど仕上げのスパイスだから開発途上では切っとけよ

14 21/03/27(土)23:12:57 No.787406097

>分かりやすい関数にする 日本語で書いとくとわかりやすいぜー!

15 21/03/27(土)23:13:09 No.787406188

>ある日突然ぶっ壊れることを考えて使わないと死ねる 素のVBと違ってモジュールがテキスト形式で保存されてないから 突然壊れてExcelで開けなくなるとコード回収できなくなるんだよね

16 21/03/27(土)23:13:12 No.787406221

>他人にマクロの存在をさとられないようにすること これを怠ると担当離れても自分に問い合わせ来るもんな…

17 21/03/27(土)23:13:42 No.787406421

selectしない

18 21/03/27(土)23:13:54 No.787406501

つまりマクロを使わなければいいってことだな!

19 21/03/27(土)23:14:04 No.787406573

EXCELってそれなりに知ってるはずだけど デフォで付いてる知らない機能盛りだくさんなんだろうな

20 21/03/27(土)23:14:12 No.787406631

Googleのスプレッドシートでもいきなり壊れたりはあるんだろうか

21 21/03/27(土)23:14:29 No.787406754

>コールバック関数は標準モジュールでしか動作しない まずコールバックかんすうというものを知らなかった こんなものがあるのか…

22 21/03/27(土)23:15:21 No.787407128

>EXCELってそれなりに知ってるはずだけど >デフォで付いてる知らない機能盛りだくさんなんだろうな Ctrl+;とかCtrl+:ですら知らん人は少なからずいるしな

23 21/03/27(土)23:16:48 No.787407779

元で用意されてる関数で出来ないことってどんなこと?

24 21/03/27(土)23:19:26 No.787408852

>元で用意されてる関数で出来ないことってどんなこと? 行列演算

25 21/03/27(土)23:24:07 No.787410770

Dim a,b As Integer としたときaはIntegerでなくVariant型

26 21/03/27(土)23:24:10 No.787410795

>>分かりやすい関数にする >日本語で書いとくとわかりやすいぜー! CountTukueIsuとかださいし…まさか漢字?

27 21/03/27(土)23:24:39 No.787411012

>Googleのスプレッドシートでもいきなり壊れたりはあるんだろうか あっちはロールバック効くから誰が壊したかわかる

28 21/03/27(土)23:25:16 No.787411264

そのファイルを扱う人数を考慮すること 人数が増えれば増えるほどアホアホ人間の混入率も増える

29 21/03/27(土)23:25:35 No.787411404

ボタン一発でシート内のセル幅を1文字にそろえるVBAがあれば弊社の業務の効率アップが期待できる

30 21/03/27(土)23:26:48 No.787411902

テキストファイルの処理とかならVBSにしてエクセル開かなくて良いんじゃないかと思ったけど エクセルの関数がないと心もとない

31 21/03/27(土)23:27:06 No.787412006

違うところで2回見かけた処理はモジュールにPublicで用意してそっちを使う 間違ってもPublicのプロシージャをPublicのままコピペして増やさない

32 21/03/27(土)23:27:51 No.787412277

>ボタン一発でシート内のセル幅を1文字にそろえるVBAがあれば弊社の業務の効率アップが期待できる 作れない事はないけど使うなそんなもの

33 21/03/27(土)23:28:34 No.787412529

>Dim a,b As Integer >としたときaはIntegerでなくVariant型 嘘ッ!?マジで!?!?

34 21/03/27(土)23:28:34 No.787412535

ExcelVBAのIntegerって32768までなんだっけ

35 21/03/27(土)23:29:40 No.787412920

全部Variantにしとけばいいんだよ

36 21/03/27(土)23:30:01 No.787413046

>ExcelVBAのIntegerって32768までなんだっけ Officeが32ビット版か64ビット版かで変わる

37 21/03/27(土)23:30:25 No.787413209

>全部Variantにしとけばいいんだよ すぞ

38 21/03/27(土)23:30:45 No.787413341

https://github.com/vbaidiot/Ariawase これ使ってgitなりでソースコード管理するのおすすめ

39 21/03/27(土)23:30:53 No.787413397

ExcelVBAのIntegerって32768までなんだっけ >-32768~+32767

40 21/03/27(土)23:31:32 No.787413655

>型は書かなくていいんだよ

41 21/03/27(土)23:32:01 No.787413809

>型は書かなくていいんだよ >すぞ

42 21/03/27(土)23:32:26 No.787413966

3万ぐらいは超えること割とあるから困る

43 21/03/27(土)23:33:07 No.787414191

>3万ぐらいは超えること割とあるから困る 「」Currencyを使え!

44 21/03/27(土)23:34:34 No.787414716

使うなら配列よりcollectionだぞ

45 21/03/27(土)23:35:29 No.787415051

なんでExcelちゃんはファイルの場所をフルパスでしか理解してくれないの

46 21/03/27(土)23:35:38 No.787415098

array()は要素を一行で書ける偉いやつだよ

47 21/03/27(土)23:35:42 No.787415122

>>3万ぐらいは超えること割とあるから困る >「」Currencyを使え! Longじゃダメなんです?

48 21/03/27(土)23:35:55 No.787415205

定義まとめてできるんだ…できないんだ…

49 21/03/27(土)23:37:15 No.787415693

>Longじゃダメなんです? 金の計算だとlongは結構超えるしlonglongは32bit版だとないから…

50 21/03/27(土)23:38:28 No.787416115

>Longじゃダメなんです? Currencyは-922,337,203,685,477.5808~922,337,203,685,477.5807のスゴイヤツ しかも整数演算

51 21/03/27(土)23:38:32 No.787416142

基本シングルスレッドと言うか他のマクロが走ってるところでマクロ走らせようとするとはまりがち

52 21/03/27(土)23:38:38 No.787416178

iPadでExcel使いたいなーと思ってるけどそもそもExcelの使い方なんて覚えてなかった…

53 21/03/27(土)23:38:39 No.787416186

integerは内部的にlongになって処理されるって噂聞いたんだけどマジなんです?

54 21/03/27(土)23:41:31 No.787417176

>integerは内部的にlongになって処理されるって噂聞いたんだけどマジなんです? んなこたーない dim a as integer dim b as long a = 32767 b = a + 1 ←エラーになる

55 21/03/27(土)23:42:49 No.787417670

>気を付けた方がいいとかあったら教えてほしい 気をつけることをお前に教える

56 21/03/27(土)23:43:03 No.787417768

変数名を英単語にしない

57 21/03/27(土)23:43:07 No.787417787

会社を辞める時に備えてメンテナンス性の悪さを追求した作りにすべき

58 21/03/27(土)23:43:32 No.787417944

セルに関数入れておけば済む程度のことならマクロ組まず関数で済ませろ

59 21/03/27(土)23:43:50 No.787418027

言われてみればaが32767を超えた場合に型がIntegerだったらエラーとする…なんて無駄な処理するわけもないしな

60 21/03/27(土)23:44:09 No.787418128

VBAを使わないようにする

61 21/03/27(土)23:44:27 No.787418235

30000とか行番号にしか使えねえ

62 21/03/27(土)23:44:28 No.787418246

マクロの記録でdb操作とか記録とれるくせにスクリーンキャプチャは記録できないとこ

63 21/03/27(土)23:44:40 No.787418308

変なコメント入れない

64 21/03/27(土)23:45:39 No.787418630

>>ExcelVBAのIntegerって32768までなんだっけ >Officeが32ビット版か64ビット版かで変わる 仕事で32bitマクロファイルを64bit化対応したがものすごく面倒だった VBA滅んでくれ

65 21/03/27(土)23:46:12 No.787418805

1マクロ1機能

66 21/03/27(土)23:46:55 No.787419039

変なコメントって何だ

67 21/03/27(土)23:48:05 No.787419446

>変なコメントって何だ ' なんか読みにくいからそのうち直す(笑)

68 21/03/27(土)23:48:09 No.787419462

>変なコメントって何だ 'おぺにす…

69 21/03/27(土)23:48:30 No.787419554

>1マクロ1機能 了解!! 全機能を1つのSUBで実装します!

70 21/03/27(土)23:48:53 No.787419667

破壊的な関数を作らないこと

71 21/03/27(土)23:49:04 No.787419724

sheetとかcellのプロパティはウォッチウィンドウにデバッグ中にオブジェクト適当に投げておくといいよ こういうのあるかなーって思ったら眺めてみるといいよ

72 21/03/27(土)23:49:06 No.787419737

>変なコメントって何だ '変数hageがtrueの場合 if hage then

73 21/03/27(土)23:49:57 No.787420030

一括コメントアウト機能はあるのでいちいち入力する必要はない

74 21/03/27(土)23:50:19 No.787420178

>>変なコメントって何だ >'変数hageがtrueの場合 >if hage then 要ら ねえ よ!!! 見ればわかるよ!!!

75 21/03/27(土)23:50:50 No.787420349

VBAでなく関数で出来る事は関数を使う 何をしたいかコメントで説明する 何してるかわかるように機能毎に分ける 人は裏側でやってる事はわからないので出来るだけ関数を使う 行数は少なくシンプルに 名前は分かりやすく認識しやすいものを使う VBAを保守できる人材は少ないので極力関数を使う

76 21/03/27(土)23:51:05 No.787420434

varを使うやつの頭と下の毛根焼き切りたい

77 21/03/27(土)23:51:35 No.787420582

>仕事で32bitマクロファイルを64bit化対応したがものすごく面倒だった しかも64bitって別に推奨されてないのにユーザーはなんで今時64bitじゃないんだと文句言う

78 21/03/27(土)23:51:56 No.787420683

標準モジュールじゃなく各シート内のマクロに2~3000行詰め込むやつは須く滅んでほしい

79 21/03/27(土)23:51:57 No.787420693

ただし関数書いてあるセルに値を直接入力される可能性は考慮しておく…

80 21/03/27(土)23:53:05 No.787421029

>ひとつのプロシージャに2~3000行詰め込むやつは須く滅んでほしい

81 21/03/27(土)23:53:36 No.787421205

>標準モジュールじゃなく各シート内のマクロに2~3000行詰め込むやつは須く滅んでほしい やっぱ標準モジュールに詰め込むのがスタンダードなのかな? 俺も一応そうしてるけど

82 21/03/27(土)23:54:23 No.787421419

>セルに関数入れておけば済む程度のことならマクロ組まず関数で済ませろ 再計算オフにしておかないと開くのに2分かかるようなワークブックが作られる作った

83 21/03/27(土)23:54:54 No.787421595

1行でいいからコメントはマメに入れる

84 21/03/27(土)23:55:46 No.787421867

とりあえずScreenUpdatingをFalseにする

85 21/03/27(土)23:56:19 No.787422051

>再計算オフにしておかないと開くのに2分かかるようなワークブックが作られる作った たまにあるよね関数だらけでグラフが100個くらい並んでるシート

86 21/03/27(土)23:57:07 No.787422330

クソデカ整数ってどうやって扱うのか知らない

87 21/03/27(土)23:57:11 No.787422356

IDEないとやってられないけど VBAはあるんだろうか

88 21/03/27(土)23:58:32 No.787422793

>やっぱ標準モジュールに詰め込むのがスタンダードなのかな? >俺も一応そうしてるけど だいたいそう 標準モジュールに関数を詰め込んだ上でダブってる処理があれば1つの関数にまとめる 各シートには標準モジュールの関数を呼ぶ処理ぐらいしか書かないくらいがいい

89 21/03/27(土)23:58:39 No.787422834

>IDEないとやってられないけど >VBAはあるんだろうか あるよ

90 21/03/27(土)23:59:18 No.787423027

>IDEないとやってられないけど >VBAはあるんだろうか ないよ でもラバーダックっていうアドインが近いかも

91 21/03/27(土)23:59:27 No.787423083

>IDEないとやってられないけど >VBAはあるんだろうか Excelがそれだな

92 21/03/27(土)23:59:35 No.787423129

客が業務ソフトにExcelみたいな機能付けてと言われると 出来るわけねーだろと返したいがグレープシティのライブラリ使えばそれっぽいのが実現できてしまう…

93 21/03/27(土)23:59:41 No.787423160

あんまり複雑になるならVBAやめる

94 21/03/28(日)00:00:09 No.787423310

よくエクセルマクロとかVBAのスレ立ってるけど使ったことないから気になってんだよな まあ気になったところで普段遣いするにはリッチすぎて多分使わないから業務で必要になったときに調べるようになるんだろうけど

95 21/03/28(日)00:00:45 No.787423533

画面再描画停止と再計算停止は有ると無いとでは速度が全く違う あとセルに書き込みをするのもなるべく回数をまとめること ただし他に開いているファイルの内容次第ではどうしても遅くなってしまうので諦めも必要

96 21/03/28(日)00:02:52 No.787424203

テーブルを使う

97 21/03/28(日)00:03:05 No.787424270

マクロはエクセル操作の記憶で VBAがスクリプト書いての自動化など マクロ記録したあとコード見れるけどVBAに包含されている機能と言えばいいのか…

98 21/03/28(日)00:03:32 No.787424430

VBAがかけるようになればVB6アプリの開発にもそのままスライドしていけるぞやったね! いや冗談じゃなくVB6の需要はあるよ(10数年前に納品したVB6アプリの保守業務を眺めながら)

99 21/03/28(日)00:04:20 No.787424663

>VBAがかけるようになればVB6アプリの開発にもそのままスライドしていけるぞやったね! >いや冗談じゃなくVB6の需要はあるよ(10数年前に納品したVB6アプリの保守業務を眺めながら) しかしVB6インストールできる環境が絶滅しかかって…

↑Top