TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
【悲報】斧が強いゲーム、存在しない [324064431]
【速報】栃木女児殺害事件 控訴棄却 勝又被告に無期懲役 [455679766]
フィンランド新首相「うーん、週5日・1日8時間労働だと生産性悪いなあ。週4日・1日6時間労働にします!」 [111921565]
【速報】 安倍さん、過去4例しか無い「特定非常災害」に今回の豪雨を指定!水害では初 仕事してる!! [219241683]
日本政府さん、旅行と外食限定の商品券配布へ 減税も現金給付もポイント還元もなし [579384507]
【朗報】PS5、ゲーム機で過去最大の大きさの快挙!ATX規格のマザーボードとPCケースを流用か? [743191609]
沖縄旅行って面白いか? [724762378]
新型コロナウイルス、60°Cで 1時間加熱しても生存…夏にも高い感染力が予想 [439967154]
赤坂自民亭、官邸の孤立が鮮明にw 自民党重鎮や被災地の自民党員も次々と安倍内閣に苦言を呈してまさに四面楚歌w [483468671]
いつも戦争するのは男 女性の統治者がより良い世界作る 戦争の可能性は低下 [659060378]

【プログラミング部】 厚生省のエクセルVBAのコードが凄すぎると話題に! どうやってこんなコード思いつくんだ [623653551]


1 :2019/05/23 〜 最終レス :2019/05/24
http://img.2ch.sc/ico/purin.gif
ソース


厚労省で配布されている
https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/000116890_00001.html
にある
https://www.mhlw.go.jp/content/10900000/000494621.xlsm

2 :
全文貼って

3 :
東大出てやる事がエクセルVBAねえ

4 :
http://img.2ch.sc/ico/nida.gif
1は知障

5 :
面倒だからスクショで貼れや無能

6 :
>>5
これメンス

7 :
中小企業か!😀
これで統計が違ってましたとかいうんか?

8 :
スマホがぶっ壊れた

9 :
何も考えずに習いたての中学生が作ったレベル

10 :
'--市町村別用シート用--

Const 健診HI法_件数_列 As String = "I"
Const 健診HI法_件数_行 As Integer = 23
Const 健診HI法_金額_列 As String = "J"
Const 健診HI法_金額_行 As Integer = 23
Const 健診HI法_税込金額_列 As String = "K"
Const 健診HI法_税込金額_行 As Integer = 23

Const 健診EIA法_件数_列 As String = "I"
Const 健診EIA法_件数_行 As Integer = 24
Const 健診EIA法_金額_列 As String = "J"
Const 健診EIA法_金額_行 As Integer = 24
Const 健診EIA法_税込金額_列 As String = "K"
Const 健診EIA法_税込金額_行 As Integer = 24

Const HI法_件数_列 As String = "I"
Const HI法_件数_行 As Integer = 25
Const HI法_金額_列 As String = "J"
Const HI法_金額_行 As Integer = 25
Const HI法_税込金額_列 As String = "K"
Const HI法_税込金額_行 As Integer = 25

Const EIA法_件数_列 As String = "I"
Const EIA法_件数_行 As Integer = 26
Const EIA法_金額_列 As String = "J"
Const EIA法_金額_行 As Integer = 26
Const EIA法_税込金額_列 As String = "K"
Const EIA法_税込金額_行 As Integer = 26

Const 夜間休日HI法_件数_列 As String = "I"
Const 夜間休日HI法_件数_行 As Integer = 27
Const 夜間休日HI法_金額_列 As String = "J"
Const 夜間休日HI法_金額_行 As Integer = 27
Const 夜間休日HI法_税込金額_列 As String = "K"
Const 夜間休日HI法_税込金額_行 As Integer = 27

Const 夜間休日EIA法_件数_列 As String = "I"
Const 夜間休日EIA法_件数_行 As Integer = 28
Const 夜間休日EIA法_金額_列 As String = "J"
Const 夜間休日EIA法_金額_行 As Integer = 28
Const 夜間休日EIA法_税込金額_列 As String = "K"
Const 夜間休日EIA法_税込金額_行 As Integer = 28

Const 通常_件数_列 As String = "I"
Const 通常_件数_行 As Integer = 30
Const 通常_金額_列 As String = "J"
Const 通常_金額_行 As Integer = 30
Const 通常_税込金額_列 As String = "K"
Const 通常_税込金額_行 As Integer = 30

Const 予防_件数_列 As String = "I"
Const 予防_件数_行 As Integer = 31
Const 予防_金額_列 As String = "J"
Const 予防_金額_行 As Integer = 31
Const 予防_税込金額_列 As String = "K"
Const 予防_税込金額_行 As Integer = 31

11 :
'--総括表用シート用--

Const 総括_健診HI法_件数_列 As String = "E"
Const 総括_健診HI法_件数_行 As Integer = 22
Const 総括_健診HI法_金額_列 As String = "F"
Const 総括_健診HI法_金額_行 As Integer = 22
Const 総括_健診HI法_税込金額_列 As String = "G"
Const 総括_健診HI法_税込金額_行 As Integer = 22

Const 総括_健診EIA法_件数_列 As String = "E"
Const 総括_健診EIA法_件数_行 As Integer = 23
Const 総括_健診EIA法_金額_列 As String = "F"
Const 総括_健診EIA法_金額_行 As Integer = 23
Const 総括_健診EIA法_税込金額_列 As String = "G"
Const 総括_健診EIA法_税込金額_行 As Integer = 23

Const 総括_HI法_件数_列 As String = "E"
Const 総括_HI法_件数_行 As Integer = 24
Const 総括_HI法_金額_列 As String = "F"
Const 総括_HI法_金額_行 As Integer = 24
Const 総括_HI法_税込金額_列 As String = "G"
Const 総括_HI法_税込金額_行 As Integer = 24

Const 総括_EIA法_件数_列 As String = "E"
Const 総括_EIA法_件数_行 As Integer = 25
Const 総括_EIA法_金額_列 As String = "F"
Const 総括_EIA法_金額_行 As Integer = 25
Const 総括_EIA法_税込金額_列 As String = "G"
Const 総括_EIA法_税込金額_行 As Integer = 25

Const 総括_夜間休日HI法_件数_列 As String = "E"
Const 総括_夜間休日HI法_件数_行 As Integer = 26
Const 総括_夜間休日HI法_金額_列 As String = "F"
Const 総括_夜間休日HI法_金額_行 As Integer = 26
Const 総括_夜間休日HI法_税込金額_列 As String = "G"
Const 総括_夜間休日HI法_税込金額_行 As Integer = 26

Const 総括_夜間休日EIA法_件数_列 As String = "E"
Const 総括_夜間休日EIA法_件数_行 As Integer = 27
Const 総括_夜間休日EIA法_金額_列 As String = "F"
Const 総括_夜間休日EIA法_金額_行 As Integer = 27
Const 総括_夜間休日EIA法_税込金額_列 As String = "G"
Const 総括_夜間休日EIA法_税込金額_行 As Integer = 27

Const 総括_通常_件数_列 As String = "E"
Const 総括_通常_件数_行 As Integer = 29
Const 総括_通常_金額_列 As String = "F"
Const 総括_通常_金額_行 As Integer = 29
Const 総括_通常_税込金額_列 As String = "G"
Const 総括_通常_税込金額_行 As Integer = 29

Const 総括_予防_件数_列 As String = "E"
Const 総括_予防_件数_行 As Integer = 30
Const 総括_予防_金額_列 As String = "F"
Const 総括_予防_金額_行 As Integer = 30
Const 総括_予防_税込金額_列 As String = "G"
Const 総括_予防_税込金額_行 As Integer = 30

12 :
Sub Soukatu_shukei_Click()

Dim Shuukei_cell
Shuukei_cell = 2

Dim HI法_件数 As Long
Dim EIA法_件数 As Long
Dim 夜間休日HI法_件数 As Long
Dim 夜間休日EIA法_件数 As Long
Dim 健診HI法_件数 As Long
Dim 健診EIA法_件数 As Long
Dim 通常_件数 As Long
Dim 予防_件数 As Long

Dim HI法_金額 As Long
Dim EIA法_金額 As Long
Dim 夜間休日HI法_金額 As Long
Dim 夜間休日EIA法_金額 As Long
Dim 健診HI法_金額 As Long
Dim 健診EIA法_金額 As Long
Dim 通常_金額 As Long
Dim 予防_金額 As Long

Dim HI法_税込金額 As Long
Dim EIA法_税込金額 As Long
Dim 夜間休日HI法_税込金額 As Long
Dim 夜間休日EIA法_税込金額 As Long
Dim 健診HI法_税込金額 As Long
Dim 健診EIA法_税込金額 As Long
Dim 通常_税込金額 As Long
Dim 予防_税込金額 As Long

HI法_件数 = 0
EIA法_件数 = 0
夜間休日HI法_件数 = 0
夜間休日EIA法_件数 = 0
健診HI法_件数 = 0
健診EIA法_件数 = 0
通常_件数 = 0
予防_件数 = 0

HI法_金額 = 0
EIA法_金額 = 0
夜間休日HI法_金額 = 0
夜間休日EIA法_金額 = 0
健診HI法_金額 = 0
健診EIA法_金額 = 0
通常_金額 = 0
予防_金額 = 0

HI法_税込金額 = 0
EIA法_税込金額 = 0
夜間休日HI法_税込金額 = 0
夜間休日EIA法_税込金額 = 0
健診HI法_税込金額 = 0
健診EIA法_税込金額 = 0
通常_税込金額 = 0
予防_税込金額 = 0

13 :


14 :
NGワードでちゃったんでこれ以上は無理だけど
こんな感じ

15 :
え?これ何かツールで自動生成したコードだよね?

16 :
C触った程度の俺に分かるように説明しろ

17 :
なにこのジェンガ造り

18 :
excel職人実在してて草

19 :
>>10
こういうのは名前つきRangeとかいう
ちっとはマシな機能がある

20 :
どうせ下請けのSEがやったんだろ
俺もNなんたらで仕事してたときはこんなもんよ
COBOLはそこで覚えた

21 :
変数名日本語でかいてんの?

22 :
ひえっ

23 :
>>12
Shuukei_cellちゃんだけ型がわからなくてかわいそう

24 :
>>21
保守性は日本語の方がいいだろ

25 :
さすがに手入力じゃなくて、マクロ機能とかで自動生成してるのでは

26 :
>>21
そっちのがよくないか

27 :
でたー日本語変数名

28 :
>>21
専門用語なら下手に英語やローマ字にするより可読性あるぞ

29 :
これ人力じゃないだろ

30 :
構造体位使えや
あとセルを直接操作するようなコードは処理が重くなるだけ
まともなvba使いなら計算処理は配列で処理して結果だけをセルの突っ込む

31 :
>>23
直ぐしたの行でわかるやん
C#で言うvar なんたら=型明記のやりかたやろ

32 :
変数名日本語は下手な英語にするよりは正直ありだと思ってる
マジックナンバー減らそうとして頑張ったんだろうな…

33 :
クソ低レベルだけどもっと酷いの想定してたからスパゲッティになってないだけマシだわ
つーかVBAの中身なんて普通公開しないようにしとくだろ

34 :
ソース見てみたけど何かおかしいか?
変数に日本語使ってるからおかしいとか気持ち悪い事言うなよ。
俺やったら何たらチェックとかやってる部分は関数に飛ばすけど
こんだけのステップ数であれば一筆書きにしてても特に違和感ない。
やりすぎと思うのは、こんだけのステップ数であれば列・行をコンストする所くらいやけど
他のマクロとかも大量にあるやろうから、統一書式なんやろうなーと思うと寧ろ良く部署内
で統制されてると思う。

35 :
きちんと定数で用意してる辺りSEが作ってるだろ
ほんとの素人に作らせたらもっとガイジやぞ

36 :
日本語変数はやべえだろ
あと構造体使えよ

37 :
わかりやすくていい

38 :
日本語で定義したらコード打つときいちいち変換するのがめんどくさそう

可読性は知らんが効率落ちるだろ
どうなん

39 :
>>23
VBAの型指定なんか飾りよ

40 :
>>30
と、思うだろ?
出力先のセルがばらばらでどうしようもないなんてのはよくある話
神エクセルの撲滅から始めないとこの国ダメだ

41 :
整理されてるじゃん

42 :
ほんとの素人コードならこんな論理的に作られる訳がない

43 :
vbaてエディタ何つかうん
Excelに付いてるのはゴミって知ってるけど

44 :
>>38
役人は効率なんて言葉知らんだろ

45 :
()で関数を呼び出せないのか?

46 :
キチガイすぎワロタw

47 :
>>38
それはある。いちいち切り替えないといけない。
でもコーディングってカタカタ全部文字打つのではなく、基本コピペやからな。
意味不明の日本語か英語か分からん単語の頭文字だけを繋げた変数を用いるより
変数に日本語をはっきりと書いてしまう方が余程ロジックが分かり良い。データベースの項目名もな。

48 :
>>43
vscodeでok

49 :
いや日本語はありだ
下手な事してあとでわからなくなる俺よりは賢い

50 :
電車関係で専門用語多すぎて日本語変数名にしたことはあるけど予測ができないくらいで
仕様変更なんかのときにはすぐわかるから楽だったわ

51 :
>>48
知らなかった…

52 :
>>48
vscodeいけんの?
ありがとう

53 :
プロに頼んだら3ヶ月300万円とか言われるし稟議通すのだから素人が試し試し作った方がマシ
業務のプロが書いたコードの方が有用なんだよ

54 :
これが東大官僚の力か

55 :
こんなんキモくて吐きそうになる

56 :
昔のCOBOLなんて日本語変数余裕であったぞ?

文字コードがUTF-8で事実上統一されている現在
日本語変数を使っちゃいけない理由は特に思いつかない

57 :
どうせ下請けがやってんじゃね

58 :
.NETでconstってめちゃくちゃパフォーマンス要求される場面でもないと使わなくないか?
普通はreadonlyじゃね?

59 :
Javaは変数名に日本語使えないから
もうそりゃSQL周りの変数定義の変数名はひどいの何の、人によってヘボン式やら訓字式やら[ん]やらちっちゃい[つ]の書き方がごちゃごちゃ

60 :
日本語変数名が超気持ち悪い
コメントと見分け付きにくいし
送り仮名の振り方とかでブレやすいし
こんなんめっちゃ嫌だわ

61 :
今はなにが流行ってるの?

VBAやっとけば無難だと言われたのだが

62 :
なるほど激務じゃん

63 :
>>58
これVBAマクロだから
VB.NETとちゃう

64 :
>>61
パイソンやろなぁ

65 :
>>21
専門分野で使われる用語はちゃんと決まってるからな
下手に独りよがりな英語とか使っちゃうとわけわからなくなる

66 :
>>50
保守できなくなるより余程いいと思うがねえ

そもそも2バイト文字使えるのかよ

67 :
変数名日本語にできるんだ
ぱっと見バカじゃねえのって思ったけど自分用ならどうでもいいな

68 :
>>23
Variantちゃん…

69 :
IT土方に鼻で笑われるレベル

70 :
>>64
pythonはだいぶ落ち着いたって聞いたが

71 :
>>36
全くヤバくない
むしろなんでヤバイと思う?

72 :
まあ、後で見た人間がかろうじて理解できそうだからこれでいいんじゃないの
自分が組んだら変数が必要になる度に後付でどんどん追加していくから、大体自分以外には解読不能なクソの山になるし

73 :
何故、日本語なんだ

74 :
これおまえら後で保守しろって言われたらどうすんの

75 :
命名の基準まで決まってんのか知らんけどそら仕様書があれば保守できるだろ

76 :
単純だから保守はしやすいんじゃね

77 :
Dim JokyuKokumin_name As String
より
Dim 上級国民_name As String
のほうが分かりやすいだろ

78 :
コメントで意図だけ書いてソース短くしたほうがわかりやすいだろ

79 :
>>74
少なくとも俺の書いたPSスクリプトやらに比べりゃ分かりやすい
普通は自分で書いても数ヶ月後には訳ワカメになってる
それに比べたら全然読みやすい
変にトリッキーやらスマートな書きかたするよりかVBAなら、こういう書き方の方がいいと思う
流石東大

80 :
>>74
保守考えたらありがたいコードだろこれ

81 :
型を変数に含めないと気持ち悪く感じるようにさせられたからなあ

82 :
これを最初に定義することで業務ロジック部のコードをパッと見てわかるようになる

83 :
>>21
日本語直訳の英語変数名やられるより良い

84 :
人事異動の際に引き継ぎやすいようにしてあるのかな

85 :
日本語の方が後任者に引き継ぐとき分かりやすいだろ

86 :
計算機の専門家でもなんでもないひとがつくって
計算機の専門家でもなんでもないひとが引き継ぐんだから
日本語変数のほうがよほどまし

87 :
>>77
俺ならクラスか構造体にするかな
kokumin.name="飯塚"
kokumin.jyoukyu=True

88 :
誰が見てもわかるコードこそが至高のコードだろ
これはまだマシだろ
お前らの頭が良いのはわかるけどわけのわからんコード書くな!
バカでもわかるようにしろ!

89 :
行と列適当に追加したら死ぬのか

90 :
俺レベルのIT土方マイスターになるとコピペラミングしかしねぇから
何の問題もねぇ

独自コード書くとソースレビューでイチャモン付けられるからな。。。。
オタクらが書いたコードでっせ?というのが基本だわ

91 :
これなにがダメなの?

92 :
多分、職員が作業しやすいように基幹DBシステムのデータを
スナップショットで抜いたデータをエクセルにエクスポートしてる

93 :
見ずに言うけど仕様追加を繰り返したソースはこうなる

94 :
これ全部外注だろ。
あいつらがプログラム書けるわけねーもん。
たとえ一部に書ける奴いても責任問われる仕事は絶対逃げるし。

95 :
変数名考えるのが面倒くさいんだろ
ローマ字にするとややこしくなるし

96 :
最初ギョッとしたわ
でも分かりやすいか分かりやすくないかで言えば分かりやすいからまあアリなんじゃないかと思えた
特に理解力にばらつきのある多数がいじる可能性考えると効率よりも極力見た目の分かりやすさと1つ理解できていることでそのまま転用・類推できる構造っていうのは重要

でもこんなん自分では書きたくねえ

97 :
仕事でVBA書きまくってるワシとしては
きれいな良いコードだと言わざるを得ない

98 :
いや生産性低いから日本語変数嫌いなんだが。。。

99 :
>>4
くやしいか?

100 :
http://img.2ch.sc/ico/nida.gif
日本語変数が良くないって、
コーヒーはスターバックス以上じゃないと認めないみたいな美意識入ってるよね

101 :
あとEの24だのJの25ってセルの位置情報か?

102 :
いろいろがんじがらめの中で大変そうだなとしか

103 :
>>101
そう

104 :
>>20
役所は普通に職人いるんだよ。
しかもそれ片手間で作っているような化け物がさ。
普通にこれ製品として売れるじゃんみたいなのをおばちゃんがニコニコ作ってたりする

105 :
セルの位置って変数で表せるんだっけ
できなくて悩んだような

106 :
変数の有用性の全てを損なってるな

107 :
外注でしょ?
行数多いほうが儲かるからこんな書き方してるんじゃないの?

108 :
機械的に吐き出されたコードじゃね?

109 :
>>94
普通に書いてるぞ。
結構ガッツリ。予算ないんだもんで通っちゃう

110 :
税込み金額をセルから取ってくる必要性とは

111 :
>>105
できるっちゃできる
R1C1にしたほうがはるかに扱いやすいけど

112 :
>>30
へー
VBAかじった事務員だが計算は基本的にセルに入れてやってたわ

113 :
設定シートのセルの位置なんだろうけど
I23みたく行と列を一緒に持ったらあかんのか
型が違うIと23を同居させるのが気持ち悪いってことなんかな

114 :
生々しい

115 :
宣言以外のロジックも見たいわ
すげえ興味あるわ

116 :
>>103
それじゃあcellsがつかえないじゃないですかー

117 :
ステップ数が多いほうがお金もらえるんだろ?

118 :
「変数は使う場所の近くで宣言しろ」って習わなかったのか?

119 :
今って厚生省じゃなくて厚労省だろ

120 :
VBぽくて良い

121 :
>>117
なるほど東大そういう頭の使い方するのか
天才だったわ

122 :
日本語変数名は日本人しか保守できなくなるが歓迎
イケてないのはA1参照だな

123 :
どんな処理したいのかしらんけど絶対こんなに変数使う必要ないことだけはわかる

124 :
日本語変数は別にいいだろ
オライリーのJavaScriptの本にも変数は日本語でやるのが流行るって書いてあったしな��

125 :
https://livedoor.blogimg.jp/benigasira/imgs/8/5/85ea87cb.jpg
https://livedoor.blogimg.jp/benigasira/imgs/1/d/1dc04883.jpg

126 :
変数なんて意味わかる方が大事だしな

127 :
VBAの変数全部先頭で宣言するみたいな慣習何なの?
VBEはせめて宣言したけど使ってない変数をチェックとかしてくれよ��

128 :
>>125
これまとめてトリミングできんのか?
そんな拷問か?

129 :
>>72
ちょっと時間が経つと自分でもわからないぞ

130 :
JavaScriptのクソな仕様のせいで変数の宣言を全部関数の先頭でやるみたいなクソ慣習になったのは理解出来た

ググって出てくるVBAのコードも全部変数宣言先頭でやってるのは何なの?
基本情報の試験とかでも変数宣言先頭でやってたけど
C言語とかもそうしてんの?

131 :
俺っちジムOLが作るエクセルと全然そん色ないし何が問題やねん
日本語変数何がわるいんやねん
わかりええやろぼけ

132 :
Constが何か分からんけど、Dimは変数の宣言だろ
Longは何ビットかの数字にしますっつーことだろ
で、変数宣言して初期値の0を入れてそれの何がおかしいんだよ

133 :
>>128
こんな状態だとどのカンマが本当に邪魔かどうか個別に見ないとわからないだろうな

134 :
>>127
巻き上げあるJavaScriptぐらいだな
基本的には使う寸前までは宣言しない方が良いと言われるんだがな

135 :
>>125
なんで手作業で修正してるんだよ
VBA使えるって1ページ目で自慢してんだからデータを古いファイルから引っ張って新しいファイルに作り直せよ

136 :
>>132
定数

137 :
http://img.2ch.sc/ico/monaazarashi_2.gif
>>90
スクラッチで開発する時はどうするんだね?

138 :
>>125
置換すればいいだろ

139 :
【募集】構造体にする意味について

140 :
>>125
一括置換じゃいかんのか?

141 :
>>128
何に使われてるか分からんからなあ
信用ならん

142 :
討論 .NETはなぜ開発しづらいのか

143 :
いまだにvbaってエクセルのマクロ?
ソフトハウスに行ってもCOBOLとvbだけは使いたくない

144 :
>>142
開発しやすいだろ
visualstudioなめんな

145 :
Dim HIHOU_KENSU As Long   /* HI法_件数 */
コメントってどうやってつけるか忘れた
こんな感じか

146 :
カンマをいれると+マイナスがっていう説明がもうようわからんわ
大昔のエクセルはそうだったのかな?書式とかなかったような時代とか?
しょうがくせいーのころのお小遣い帖をエクセルでしこしこSUM関数のみ使って作ってたころは
たしかなんか結構ひどかった記憶がある
親父に花子よりこれからはエクセルだとか意味わからんことを言われて泣きながらエクセルって多記憶がある

147 :
役所が作るものとしては理想的なコードだろう
手間がかかろうが誰でも保守できて誤解やミスが発生する可能性を極力減らす方が大切
これを叩く奴は用途や目的を考えられないバカ

148 :
>>21
こないだ初めてVBA触ったけど変数は日本語のほうがわかり易いときもあるって気付いたわ特に専門用語とか。
目からウロコだった

149 :
>>139
DBのエンティティみたいにまとめたくならない?

150 :
>>125
エクセルエアプで草

151 :
Dictionaryさん仕事してください

152 :
>>142
画面周りあんなに簡単に出来る言語もないだろ

153 :
これを事務のおばちゃんが作ってたりするから感心する

154 :
EXcelは偉大だな

155 :
このスレをみてエクセルで構造体を使えることをはじめて知った

156 :
エクセルのvbaエディタで組むのは拷問
あれほど糞な環境は無い

157 :
http://img.2ch.sc/ico/monaazarashi_2.gif
変数の宣言はまとめてしてある方が便利なんだが
使う直前に宣言派は何かメリットあるのかね?

158 :
>>152
Delphiどーなん?

159 :
>>125
これカンマじゃなくてシングルクォーテーションの事だよな

160 :
>>137
Webサイトからコピペに決まってんじゃねぇか・・・

俺はソースにコダワリなんてねぇーんだよ
動きゃいいだろ?
ブランクが一個多い程度で鬼の首を取ったように突っ込んで来る奴とかね
もう疲れたよ

161 :
>>127
だいたいのプログラムそうじゃね?
あらかじめ宣言するだろう

162 :
>>157
読みにくいのとスコープを絞るため
変な挙動のを防ぐ意味でもあるし
あと長ったらしくコードしないとこからも来てる

163 :
>>90
オタの書いたコードが必ずいいとは限らんだろ

164 :
>>157
おっさん教えてくれ
変数をあらかじめ宣言しとかないといけない場合とメソッド内でいきなり使っていい場合の違いってなんだ?

1スクリプト内で使いまわすのはあらかじめ宣言してメソッドの中でちょっとだけ入れておくのはそのままの認識でいいか?

165 :
>>159
文字列にしたかったのか

166 :
>>125
代入

167 :
>>20
SEを馬鹿にしすぎ

168 :
http://img.2ch.sc/ico/monaazarashi_2.gif
>>162
スコープ毎に宣言するのは大前提だろ
まとまってる方が読みやすいべ
エディタを分割して宣言部分を表示させておけばいちいちどこで宣言されたか探さなくて済む

169 :
日本語変数名のデメリットってなんかあるの?

170 :
http://img.2ch.sc/ico/monaazarashi_2.gif
>>164
その認識であってる
変数のスコープ毎に宣言すればいい

171 :
>>169
環境が日本語を許してるなら特にない
英訳しにくい用語なら日本語変数のほうがいい

172 :
>>125
なんで手入力?

173 :
セルに名前付けられるの知らんのか?

174 :
http://img.2ch.sc/ico/monaazarashi_2.gif
>>169
コーディングする際に、いちいち日本語入力に切り替えるのが面倒くさい
ソース読むときも文字列検索する時に日本語入力に切り替えるのが面倒くさい

175 :
日本語(漢字)変数は予約語回避のためにはいいと思うけどね
あとは漢字圏の人間なら一目で何の変数かわかるところも
確かVBAとC#は漢字や仮名の変数が使えるんだよな

176 :
>>10
これならtypeのほうがスマートにできる

177 :
>>12
部位ビー😓は初期化する必要はない

178 :
>>125
なんで ' じゃなくて , なの?
エラー出るやん

179 :
セルの場所を日本語変数に置き換えてるということだから使うか使わないかの問題じゃないんだろ

180 :
好きにやらせとけよ

181 :
>>170
サンキューな
長生きしろよ

182 :
>>174
オヤジはコメントも英語なのか?

183 :
どっちかっつーとワザとやってるようにも見えるけどね
コレ

184 :
>>125
無能すぎだろ
前者じゃなくてうんこ君がさらに

185 :
俺はpythonでやるよ
直接エクセル読めるし

186 :
これが霞が関文学ってヤツなのか

187 :
まあ、ありといえばありだな
引き継ぎ楽だな

188 :
意外と合理的な気もする

189 :
プログラミングで日本語がNGなのは、一文字違いとか送り仮名の揺らぎがおおくて、
間違いが見つけにくいからだろうな。
たしかに、母国語がそのまま予約語になっていれば親しみはわくだろうが、
そんなの最初の一日でクリヤするだろ。ぱっと見て「ああこれは税金関係のプログラムなんだな」
と理解したところで、本当の処理内容を理解してバグを潰したりするのに手助けになるとは思えん

190 :
http://img.2ch.sc/ico/monaazarashi_2.gif
>>182
コメントも英語だよ
職場には中国人もいるし、他の外国人も入ってくるかもしれない

191 :
MATLAB使えよ
Pythonよりも生産性高いわ

192 :
>>169
ギフハブで全世界に公開するのが恥ずかしい

193 :
変数名日本語は言語で許可されてるから別にいいんじゃねーの?変数にコメント書くのと大差ない

194 :
日本語変数名を嫌がるのはジジイだろ
変数を適当な英語にするよりよっぽど保守性がいいわ
ただVBAはモジュール名を日本語にすると不具合がでたり若干怖いところはある

195 :
>>125
ctrl + h

vba知らない僕でも知ってる。

196 :
>>1
ただ、仕様がチンプンカンプンの謎システムの場合、敢えてベタベタの泥臭いコードを書いといて、後世に現れるであろう賢人に全てを託すほうが正しい判断というのもあるわけよ。
このスレの皆んなが笑えるくらいの泥臭いコードなんで、コード構造の可読性は高いから、誰かが改修するのも容易いだろうな。

197 :
今更VBAで書く気にならいんだけど
代わりにもっとマシな言語を入れてくれませんかねMSさん

198 :
セルの位置をマクロ内にベタ打ちするリスクはあるけど、コードのあっちこっちにベタ打ちされるより変数でまとめてベタ打ちされたほうがマシ

199 :
なんでVBA触れるようになってんの

200 :
>>125
見た瞬間に「置換で終わるやろ」と思ったがやっぱりみんなそう思うよな

201 :
でも長老みたいな人がこういう目的で使っている'を目視確認せず一括置換とか怖すぎるだろ
作者の気持ちも分かるわ

202 :
>>70
人工知能がある限りつよい

203 :
灰皿飛んでくるのも置換じゃなくて手作業で修正するのも漫画にするための誇張表現でしょ

204 :
>>125
痴漢しろ定期

205 :
>>125
むしろこーゆーのこそvbaで対応しろよ
ファイルごとに数字の列が違うとかうんこすぎるのは知らん

206 :
これVBA使う意味ないだろ
頭おかしい

207 :
一個一個書いていったん?

208 :
時間かけてやった方が給料増えるんじゃねーの?

209 :
>>125
置換じゃ全部のカンマとっちゃうからなあ

210 :
コード邪な組手宣言じゃん

211 :
Constの列と行を二行に分けて宣言するの何とかならないのかな

212 :
今日…ってか既に昨日か…
ゴミコードを見て来て頭を抱えて帰ってきたら
こんなスレかよ…あぁ〜〜

母さん…俺…なんか悪いことしたのかな…?

213 :
>>197
COMコンポーネントと.NETでええやん
リソース解放をちゃんと考えないとexcelのプロセスだらけになるけど

214 :
>>10
なんのためのエクセルだよ
このためのシートを用意して読み込めばいいだけだろ

215 :
変数名も関数名も中国語(pinyin表記)のソースコードが丸投げされてきたときの絶望感

216 :
宣言文しかないスクリプトか

217 :
constダラダラ並べるくらいしかできんの?
なんか配列化して宣言でまとめて並べちゃうとか
クラス化したくなる

218 :
他人のコード一切見ない老害が書いた感じだな

219 :
>>1
この税金泥棒っぷり

220 :
>>218
まあコピペすりゃいいからなあ
おじさんだがN88BASIC覚えたころにサブルーチン化すれば済むコードを只管コピペしてた感覚

constの配列作って初期化で[]みたいなので代入できそうなんだがなあ
VBAにはないの?

221 :
只管x
ひたすら

222 :
>>159
俺もそう思う
状況によるけど、文字列にキャストするのに'使うのはわりとあると思う

223 :
>>127
関数スコープの言語の場合、関数のはじめに変数宣言するのは割と普通だと思う
特に初期化と宣言が別だったりすると

224 :
>>56
まだお前さんみたいに符号化方式と文字セットを混同してるバカが沢山いるよな
UTF-8がデフォなのに環境によって文字化けが起きてしまう理由を考えてみようね

225 :
>>56
全角スペース問題は大丈夫なんだっけ

226 :
エクセルって便利だけど混乱の元だよね
近年ロボットができたとか聞いて結局bat時代に逆戻りかよと思った

227 :
弥生時代ぐらいのコード

228 :
>>16
見てわからんか

229 :
>>21
その方がわかりやすいだろう

230 :
1〜100を足すのに

変数1 = 1+2
変数2 = 変数1+3
変数3 = 変数2+4
変数4 = 変数3+5
変数5 = 変数4+6

ってやってるようなもんか?

231 :
ゴミすぎて逆にすごいってこと?

232 :
セルのxとyを別々に列挙してるだけなのが虚しい

233 :
rangeかcellsでセル指定して変数に入れられなかったっけ

234 :
これは日本一の優秀な頭脳が集まる官僚が作成したコードだぞ?
実質的に日本最高峰のコードだ

235 :
日本の完了は世界一優秀なんだぞ

236 :
何をしたいかわかんないから何もいえねえ

237 :
>>233
できる
多分、cells(〇〇_行,〇〇_列)みたいにしたかったのかも
ソース見てないからわからないけど

238 :
俺の作ったクソマクロに比べたら十分整ってる

239 :
こういうのに繰り返し処理を作らせると最初からループ展開する
アセンブラの最適化じゃねえんだよ

このスレに『これの何が悪いのか』が多くて驚いたが、VBAを今でも使っている層はそんなふうなんだろう

パラメータ数が一緒で、ロジックが同一のものはコードを1回だけ書く
処理対象はコードと分離したデータとして持つ
DRY (Don't Repeat Yourself) 原則という奴だ
ロジックが正しいかどうかのチェックは1箇所だけやれば済む

Excelが本質的に悪なのは、ロジックとデータとプレゼンテーション(見た目)を不可分にするところだが、この例はそんなところまで行っていない

240 :
>>52
vscode 作ってるのマイクロソフトたぞ
いけるにきまってるやん

241 :
ワークシート関数を使えばこんなに定数、変数は使わなくてもいいのに。

242 :
>>239
早口

243 :
お前ら分かってないな


行数が長くて保守しにくい方が金になるんだよ
精神は病むけど

244 :
>>209
範囲指定できるって知らない?
セル選択するだけなんだけど

245 :
>>239
「俺ならこうする」みたいな具体例が無くて典型的口だけ野郎

246 :
普通じゃないの?これ

247 :
流石に自動生成コードじゃないの

248 :
>>159
それだと話は通じるんだけど画面の絵を見ると位置が下だし
何十ファイルも手作業でやったみたいに書いてるから流石に記憶違いはないと思うしよく分からん

249 :
強い人は基本VBA触ってないからな
モダン言語の感覚で読むのもなんか違うし
読んでわかるレベルで書かれてれば充分だよ

250 :
>>125
pythonかなんかで全部読み出して消せばいいじゃん

251 :
>>245
これで分からん奴は無能

こんなもんコード部分の行数は1/10になる

252 :
>>251
可読性考えろ

253 :
>>230
めまいがしてそんなのを追う気も起きない

お金いっぱい貰えるなら見てやるかレベル

254 :
金額にlongとかありなん?

255 :
>>253
なお実際に見ることになるケースでは……
🐙「お得意に頼まれたからこれバグ探しといて。はい、ヨロシクぅ」
😭マアアアア

256 :
バカが入力しても稼働するようにしてデータを出力しやすいとかするとわけのわからないのが完成したりする。

257 :
>>254
というかvbaの型がポンコツだからスクリプトレベルではこれしかなさそう
IntegerがまさかのShortレベルとは

258 :
俺はvbaづかいを称してるつもりだが、クラスとかメソッドとかの用語がわからないんだ。
このスレッドで語られてることも全部を理解できない
教えてけろ〜

259 :
型の見直しとかなかったんだな

エクセルって確かゴミvba以外もサポートするって話はどこへいったんだ

マジでエクセルって便利そうで生産性を悪くするゴミだろ

260 :
>>21
「できれば今後内製できるようにしたいので、プログラムはわかりやすくしてください」

そんなやり取りの結果でこんなソースが生まれがち
でも、結局は「スピード遅いからなんとかしてください」って言われて全く別のものをもう一個作るハメになる

261 :
>>258
処理にデータがくっついてるか
データに処理がくっついてるか

262 :
あれ?VBAってハッシュテーブル使えなかったっけ?

263 :
下請けのバイトが作ってんだからそんなもんだろ

264 :
なんでクラスと連想配列使わないの?
ガイシなの?

265 :
>>59
なんでそういう知ったかするの?

266 :
前例主義

267 :
>>222
会員番号とかそれこそ電話番号入れるセルとかでよくあるよな。
ふつうにやると頭の0が省かれちゃうから。

268 :
>>239
>パラメータ数が一緒で、ロジックが同一のものはコードを1回だけ書く
エクセルのなにがクソって
ユーザが他でいうフロントエンドの仕様を下手にいじれてしまうせいでロジックが同一ってのは保証されなくなる事が多い気が

269 :
>>267
それは表示方法の設定で変えない?

270 :
>>268
Excelって、あれ見た目がスタイリッシュになるってだけで
本質的にやってることは
シェルスクリプトやらperlスクリプト内部に数値も計算式も書いて
それ走らせてるってのと同じだからな。

所謂普通のアプリケーションと違って、アルゴリズムとデータを同じ場所に書いてあるから
ユーザーがアルゴリズムを簡単に破壊できる。
少なくとも「破壊できないように設計する」ことをしない限り。

だから、実は「Excelで入力された計算結果を手計算で検算」ってのは、
コストやかかる時間の事を除けば実は合理性はある。
なぜなら、「計算式をいつの間にか破壊されている可能性」があるからだ。

271 :
>>269
それだと、ナチュラルにやったら他は右寄せなのにそれだけ左寄せになるとか、
それじゃあ不格好で見た目イラってなるからセルの寄せをそこだけ右寄せに再設定するとか、
まあそんなのが色々面倒くさくなることがあるから「それなら'でキャストする方が早い」ってなるんだよねぇ。

272 :
せっかくMVCやMVVNだっけ
役割を分離する考えがある時代なんだし何らかの再構築をしたほうがいいよな

エクセルは便利そうで混乱の元になってる

273 :
エクセル勉強したら実用レベルまで一日何時間で何日くらいかかる?

274 :
>>273
他の言語の習得度合いとかで変わる
まあ表示系がエクセルシートとして存在するからトライアンドエラーで勉強はしやすいんだが
そもそもシートとスクリプトの関係性とか素人目は把握できるのかねえ

275 :
素人目x
素人

276 :
これだけ間違いを叩く人がいるのに、熟知した風の人間が間違ったことを解説してるページとかは放置な現状
ガチで低レベルなのものだけを叩いて自尊心を保ってる連中が多いんだよな

277 :
>>274
何を言ってるかさっぱりだよ。このスレですごく詳しい人はそういう専門学校で学んだ人なのかな?

278 :
vbaのクソエラーは殺意が沸く
問題箇所がどこか出さない上にエラーの内容が不鮮明すぎて意味不明だし
トドメの一撃がエラったときのインスタンス喪失
なんであんなもの後生大事にのっけてんだあのボケソフト
今頃になってjsのっけるとかって言ってるらしいけどいらねえからはやくしね

279 :
>>273
プログラミング習得って一日何時間で何日とかそういうのじゃねえから
絵とか音楽と同じで簡単なものなら素人でも数分でできるし難しいことやるときだけ難しくなるの

280 :
お前ら会社の人からエクセルくんて呼ばれてそうだな

281 :
東大じゃプログラミング習わないんだろ

282 :
>>277
仕事サボりたい一心でネットで調べながら学んだで
普段からEXCELでルーチン的な作業してるのがあれば、そこから始めるのが楽しい

283 :
一行一万円とかの条件で発注したんんじゃねーの?

284 :
>>277
プログラムというかまあコンピューターと付き合うならノイマン型コンピューターと向き合うってことだから人間にわかるように表示をどうするかとは切っても切り離せないのよね

最近のプログラム開発はめんどくさい手続きを覚えないと簡単な表示くらいしかできないけどエクセルvbaはエクセルのセルなどを相手するための物なのでめんどくさい手続きは無くていいのよね

285 :
クソコードじゃねぇか

286 :
>>265
対象年月度ひとつ取っても
taisyo_ngtd
taisho_ngtd
ts_ngtd
ts_nnd
ts_ym
が混ざりまくるんだが?

287 :
エクセルVBAはDB付きみたいなもんだしな

288 :
>>287
それが問題をややこしくするんだよな
ビューでありRDBであり

289 :
どう書き換えるかわからんからな
備えでしてるのかもしれんし何とも言えなくね

290 :
そのうち似たようなものがPythonで作られるのである

291 :
そういやEXCELにpython搭載されるのいつになるん?

292 :
>>291
VBAを廃止してVB.NET・C#に移行するほうがいいと思うがなあ

MSは今後VBAに関する投資を一切行わないと明言している
現在のクソ仕様が最終形態

293 :
>>292
VBAはExcelのバージョンが変わるとapiの破壊的変更があるのが痛い

.NETとClosedXMLでExcelを操作するのが良いのかも

294 :
これがアジャイル開発か…

295 :
http://stocks-kabunews.myiphost.com/vitob?c3184/3637217998425

296 :
>>294
ペア・プログラミングの相手が止めるだろ

297 :2019/05/24
>>274
そうそうブック、シート、標準モジュールの紐付きがさっぱりわからんかったな。そもそもエントリポイントはどこやねんって感じだったわ。vbaが初心者向けかと言われると抵抗あるわ。

まんさん「女の医者が増えたら緊急医療が崩壊するって言うけど夜の病院とかに何なら医者より多くいる女性看護師はどう説明すんだ?あ?」 [471942907]
本田望結さん、おっぱいが成長かされていることが判明 これ半分嫌儲のママだろ……  [502016552]
NEC、富士通、東芝といった国産パソコンが中華パソコンに完敗した原因はなんなの [533895477]
【大喜利】アニメ「嫌儲」の第1回のタイトルは? [324064431]
【立憲】「半年以上前から、山本太郎氏に『一度話し合いの機会を』と話しているが、一切返事ない」元々共闘する気ない模様 [455169849]
東京五輪の中止も視野?五輪「東京ダメならロンドンで」新型肺炎で市長候補ら [977417812]
【画像】ホリエモン、見た目がオカマっぽくなってしまう [748768864]
なぜ日本の芸人は海外のコメディアンと比較して低学歴ばかりなのか [906079382]
安倍首相「悪夢のような民主党政権の時代に戻るわけにはいかない」 参院選勝利に向け結束呼びかけ [152726127]
トイレットペーパー「1週間程度で品薄感解消」日本製紙連会長 [374943848]
--------------------
彼氏のいない40〜44歳の独身女性 part2
ビジュアライズミュージックという悪徳業者に注意!
MTBで山を走る人たちのスレ 65本目
【神奈川県浜市】 野村香ちゃん行方不明事件 ★
【フリゲ】霧雨が降る森
【うちの娘。】ラティナは踊る虎猫亭のアイドルかわいい Part.2
【諫山創】進撃の巨人Part447【別冊マガジン】
■■速報@ゲーハー板 ver.50784■■
6月って夏なの?
【薄すぎ/消毒/ウソ】アルコール薄すぎ…“消毒”ジェル「71%」はウソ [5/19] [新種のホケモン★]
年寄りの、たわ言だで、
初心者・日本在住者誘導スレ
伊藤雄之助
ガイナックスさん、あの木下グループ傘下になってしまう [858334796]
昭和の懐かしいツウな外人レスラーを挙げていくスレ
コレもスポーツだよねpart2
【アズレン】アズールレーン アンチスレ Part71
【錦織以外】テニス総合実況スレ Part.19
● ライトワーカー竹下雅敏 シャンティ・フーラ Shanti Phula
とんねるずで笑える奴に障害者手帳を発行するべき2
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼