- 1 名前:デフォルトの名無しさん [2025/01/24(金) 03:31:15.25 ID:l239yW+P.net]
- ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK 次スレは>>980が立てること 無理なら細かく安価指定 関連スレ Excel VBA 質問スレ Part79(ワッチョイあり) https://mevius.5ch.net/test/read.cgi/tech/1674875532/ Excel VBA 質問スレ Part80(ワッチョイあり) https://mevius.5ch.net/test/read.cgi/tech/1700826110/ ※前スレ Excel VBA 質問スレ Part79 https://mevius.5ch.net/test/read.cgi/tech/1674874007/ Excel VBA 質問スレ Part80 https://mevius.5ch.net/test/read.cgi/tech/1685489018/ Excel VBA 質問スレ Part81 https://mevius.5ch.net/test/read.cgi/tech/1713416618/
- 762 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 13:16:57.81 ID:gg1Rd+aD.net]
- >>746
そういう、いかがわしい新興宗教にのめり込んだ人のような発言はそろそろ控えたら? 書いてることが支離滅裂だよ? >オーダーメイドでマクロを作成しても 要望通りでダメなら、どこをどう改善すればいいかじっくり話し合いの機会を持てばいいだけ 作成したと言い切れるのは、試作品を改良改善した末に仕上がったものに対して使う言葉 >これは嫌だ、あれも嫌だ、と言われるなら 事前の要件や仕様を満たして無いんだろ? 打ち合わせの時に聞くだけの態度で居たとかで その制作物が仕上がった時の概要がじぶんのアタマの中にできていないからそういう事態に陥る 経験不足もあるだろうし打ち合わせが打ち合わせの体を為していなかった、てだけ >絶対不満しか出てこない その業務アプリに移行しましょうと先導した人間の責任 流行りの言葉なら任命責任 >全ての要望を取り込んで作成したマクロが属人化した闇Excelファイル これがまったく理解不能 属人とか闇とか言いたいだけちゃうんか、と そんな発言に賛同してくれるのは、あんたがた宗教の身内だけ
- 763 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 13:20:09.77 ID:a2F5EjYc.net]
- TreeViewなどにはライセンスの問題もあったような
- 764 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 13:24:41.83 ID:4tKBDgn4.net]
- 顧客も打ち合わせしても話し通じないならAIと打ち合わせしてコード出してもらった方がいいってなるよな
- 765 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 13:28:08.25 ID:RMq3dtvy.net]
- ぶっちゃけシステムなんてそんなもんだよ
コンサルや名の知れたSIerに頼んだって必ず不満は出るし、結局使い物になりませんでした、なんてことも珍しくない ただし、VBAはユーザー側の人間が作ることが多いので、SIerみたいに「要件定義で決まった通りです」で逃げるわけにもいかないんだよね
- 766 名前:デフォルトの名無しさん [2025/05/21(水) 15:22:55.64 ID:r/haQ8U2.net]
- 仕様変更に合わせて納期も延長でいいんじゃね
- 767 名前:デフォルトの名無しさん [2025/05/21(水) 17:20:56.31 ID:RhMOdQAE.net]
- だいたい配布前提で整備したコード書けば属人化なんてほぼしないわけで
取り込む要望も無理にまとめず適度に分割してやればいいし 敵に抵抗できないコミュ障コーダーが悪いまである
- 768 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 17:33:31.94 ID:7nPavp7R.net]
- >>753
属人化の根源はコードそのものじゃなく脳内にしかない仕様だよ コードからwhatを読み取れないから属人化する
- 769 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 17:33:52.05 ID:7nPavp7R.net]
- whatじゃない、whyだな
- 770 名前:デフォルトの名無しさん [2025/05/21(水) 17:42:23.76 ID:RhMOdQAE.net]
- 根源とかどうでもいいんよ
VBA少しできますくらいの他人が 適当にメンテしながら使っていけるコード書けって話でしかない
- 771 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 18:08:10.91 ID:7nPavp7R.net]
- >>756
配布前提で書いたコードだろうと属人化するって話だから、 メンテしながら使おうが属人化はするよ
- 772 名前:デフォルトの名無しさん [2025/05/21(水) 18:16:53.95 ID:HDnlDCyv.net]
- こんげんかせんといかん
- 773 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 07:49:16.16 ID:ZB7yrtfi.net]
- Excel属人化教の方々は、その属人の定義をして欲しい
属人の何がいけないのか? 全員が同じレベルに成れと言い募ってるのか? フルオープンにしてコード見れば説明書に成ってる程の成果物を作れと言ってるのか? それとも、いけない事は無いがただ単に属人って言葉に魅了されて使ってるだけなのか?
- 774 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 07:59:10.35 ID:ZB7yrtfi.net]
- WhyやWhatが読み取れないからメンテ出来ない ってんなら、じぶんのWhyやWhatで作り直せばいい
それを持ってた奴が前作を作ったんだしそれが使えてきてたって事実は変わらん おれにはできねえってんなら、前任者より能力が劣ってるということになるし、才能ある奴を 新たに採用するように働きかけする必要がある シン成果物を作れる能力あるなら、前任者をつべこべこき下ろしてる時間はムダでしかない 成果物-1.0でもいいけど
- 775 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 08:28:50.00 ID:cWZ2SmFA.net]
- >>760
書き間違えたのは申し訳ないが
- 776 名前:、whatはコードから読み取れるんよ
whyは何故その処理をしているか?何故その方法を選んだか?何故そのアルゴリズムなのか? それら意図を完全に示す術はない コメントを残せって言われるのはつまりwhyを残せってこと whyを知らなければVBAに限らず、言語にも依らず、 あらゆるものごとは属人化する 属人化は必ずしも悪ではないけれど、 昨日の自分は別人ってことを鑑みれば効率が悪いことは明らか [] - [ここ壊れてます]
- 777 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 08:29:26.28 ID:uEqc52DQ.net]
- 数年後の自分がメンテできるように作ればOK
人の能力はマチマチ、まだいない後任者のことを考えてもしゃーない
- 778 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 08:42:19.33 ID:cWZ2SmFA.net]
- 属人化はリスク要因となりえ、VBAは属人化する蓋然性が高いってことをわかった上で許容するのと、
わからず使う・属人化しないと信じて使うのとは大違いって話をしているに過ぎない 能力だの才能だの、シン成果物だの成果物-1.0だの、 手も頭も動かさない奴の言葉遊びほど虚しいものはないな
- 779 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 08:49:14.19 ID:iwrIvlAH.net]
- 属人化教なんて言葉を使っている時点で、もう何を言われても属人化の弊害なんて絶対認めないぞっていう雰囲気をぷんぷんさせているじゃない。このスレだけで何回この話題やるの?
一般に言われる業務の属人化というのは、特定の人がいなければ業務が回らない状態のことで、当該特定の人が休んだり退職したりしたときに業務が止まってしまうリスクがあることから好ましい状態ではないとみなされている。会社側としては業務内容を把握する従業員を複数人にしたり(1人に依存しない)、マニュアル化したりすることでリスクを低減化するのが通常の対応。 VBAはコード作成も実行もExcelだけでできるという特徴があり、このVBA固有の事情により、?専門のプログラマーが作成するコードに比べて一般にコードの質が低い、?会社側が把握しないうちに業務にコードが使われるという事態が生じがち。属人化の弊害が、特にVBAについて言われることが多いのはこれらの事情によるところが大きい。 要するに会社側から見て、属人化リスクを低減化する機会自体がなかったり(上記?)、コストを掛けて属人化リスクを低減化するほどの価値が見出せなかったり(上記?)というケースがVBAの場合には少なくない。 VBAがアイデンティティになっちゃっている人にはどう説明しても理解しないだろうなと思いつつ、一応説明するとこういうことね。しかし、属人化の弊害を否定したがる人って、見事なまでに会社側の視点が抜け落ちているのね。担当者個人の視点で、業務が多少効率化できるのならそれはいいことだという発想から出発してそこから一歩も抜け出ないのならそりゃ議論も噛み合わんわな。
- 780 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 08:52:23.13 ID:cWZ2SmFA.net]
- >>760
才能ある奴wがマニュアルをじぶんのWhyやWhatで作り直して大惨事になった、 東海村JCO臨界事故ってのもあったな
- 781 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 09:12:43.00 ID:ZB7yrtfi.net]
- Excelは属人化しやすい だからExcelで効率化を図る場合には、それに関わる部署・チーム・グループが
一丸と成ってそうならないような対策を施さなければならない 今後、対策されていない自動化は禁止する とかならまだわかる Excelは属人化ガー VBAは尚更ー を連呼してるだけで、何の生産性向上に繋がるんだ? アタマがひどく悪い一族に至っては「だからVBA禁止」のお触れまで出す始末 問題発生しないよう努力する必要もあるし、問題発生したらすぐさま対策を講じなきゃならないのは 何もExcelに限らんだろうに とりわけここ20数年で急に変遷進歩し続けてきてしまったPC作業に取り残された奴らの繰り言に近い そんなだから失われた40年とか揶揄されちまう 先を見て向上心持ってもっととんがらないと VBAに問題あるなら、それを解消することに全身全霊で打ち込みゃあいいだけ 何の解説者だか評論家気取りだか知らんが、悪いものを悪いと言う事なんか阿呆でもできる 悪い処は直し続けるてだけ
- 782 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 09:31:16.38 ID:cWZ2SmFA.net]
- >>766
属人化を悪いって言ってるのはあなた自身だろ 俺は属人化を悪いなんて言ってない 属人化を問題だと思うなら解決すべきなのはそりゃそうだし、 解決策の一つとしての全面禁止だって、俺なら選ばないけど理解はできる 属人化が何故生じるのかを議論することは、それを解消することにも繋がる 属人化する/しないの幼稚な二元論でまとめようとするのは、 頭を使ってない・使えないことをひけらかしてるに過ぎないよ
- 783 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 09:35:02.46 ID:mUoHJ/op.net]
- 従業員目線なら、属人化はイコール自分への依存度で価値だから、そりゃ手放さないわな
- 784 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 09:40:52.16 ID:cWZ2SmFA.net]
- 会社をプロフェッショナルの集まりだとすれば、
結局のところ仕事自体がどこまで属人化を突き詰められるかだから、 しょーもないことを属人化すんなって話なだけ
- 785 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 09:46:17.63 ID:ZB7yrtfi.net]
- 念仏唱えてるだけで、一向に前向きに対処しない・対策しようともしないバカ共を嘲って「教」を付けてる
属人の意味を、じぶんの中で咀嚼・消化してない/しようともしないで、ヨソで聞き齧った言葉をなぞってるだけ 「前にならえ・右にならえ」がDNAに刻み込まれてるこの国の人間にゃあ、それが心地いいのかも知らんが 誰がやらなくともおれはやる ぐらいの気概が欲しいところ と書くと、内容読まずに言葉尻だけ捉えて「それが属人化に繋がる要因だろ!」とか言い募る奴が居そうだが オープンな属人化なら大いに結構だろ ←これも語弊がある物言いだがw オープンにする努力を怠るな、と言ってる 制作する側もそれを使って効率を上げようとする集団も 共有ってそういうもんだろ そのグループ・集団は同じ目的(収益の向上)を持った集団のハズなんだ その目的達成の方にこそ目を向けろ 足引っ張って他人の粗探ししてつべこべ文句言ってるだけじゃあ、そのうち滅びる
- 786 名前:デフォルトの名無しさん [2025/05/22(木) 10:05:21.01 ID:cejl8MgF.net]
- >>760
時間が無限にあるのが前提ならそうだね
- 787 名前:デフォルトの名無しさん [2025/05/22(木) 10:07:32.69 ID:cejl8MgF.net]
- >>765
あれ実はノーベル賞もらえるレベルの改良だよな
- 788 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 10:23:06.55 ID:bEEUFRBb.net]
- >>765
裏マニュアルとは別の? ググっても分からなかった。
- 789 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 11:03:11.01 ID:j+nxGcrc.net]
- 質の低いコードを公開されたって迷惑なだけなんだって。VBA命の人は、まさに収益向上の観点からVBAはメリットより害の方が大きいと判断する会社が少なくないってことをどうしても受け入れられないみたいね。
VBA = 生産性向上・業務効率化という無邪気な信念を持っているみたいだけど、多くの会社はVBAをそのようには
- 790 名前:評価していない。会社が本気でコードによる生産性向上・業務効率化をするつもりなら、どのような言語を選定するにせよ継続的な管理コストは必要になるわけだけど、それならVBAではなく、もっとちゃんとした言語でやりたいというのが普通なわけ。非プログラマ社員の内製VBAの改変履歴を管理したり、マニュアル作ったりなんてしたくないのよ。 []
- [ここ壊れてます]
- 791 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 16:37:21.75 ID:ZB7yrtfi.net]
- さすが >>774を取るだけの素質を持ち合わせた人間の発言だなw
ExcelVBAスレでExcelVBA不要論を、あまり意味の無い言葉を並べ立てて講釈するとは 内製であれ外注であれ、その業務を賄うにはExcelで充分という案件は想定して無いだろ? そういう案件に限ってという前提ならExcelVBAでいいじゃないか ダメな理由を語りたいがためだけに持ち出した事例が、一向にその役目を果たしてない どんなコードだろうと「質が低い」と判断できる能力を持ち合わせてるんなら、それを ブラッシュアップするなり作り変えるなり その方が百万倍コストの面でメリットだろうに どんな大袈裟なプロジェクトと比較してンの? んで、それ比較する意味あンの? あんたの中ではあるのかも知らんけど、世間一般では無意味だ とおれは思うよ
- 792 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 17:36:10.44 ID:cWZ2SmFA.net]
- >>775
少なくないってのを100%と解釈してるのか? ダメだと判断する会社が多いってだけで、 良いと判断する会社が無いなんて書かれてないぞ 変なバイアスかけてレス読んでる様に思える んで、ブラッシュアップなり作り変える(替える?)ことのどこにコストの優位性があるんだよ 無駄なコストを支払ってることに気づけないような奴が、 他人の発言の意味の多寡の判断なんてできないだろ 可か不可か、良いか悪いかみたいな単純な話にしないと理解できないポンコツ自慢はもうやめてくれよ
- 793 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 17:36:37.38 ID:Fv3bLhDj.net]
- Excelで十分かどうかというのはあまり意味のない尺度だと思うけどね。
Excel VBAの案件って既存物のメンテを除けば基本的に現状ワークシート等での手作業を省力化したいというものだから、 そりゃExcelで十分に決まってる。元々人力でできる程度に細分化された業務なんだから。 VBAが批判されるのは、まさにそういう個別最適化の積み重ねによって細切れ(≒属人的)で非効率な業務プロセスが保存される傾向があるため。
- 794 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 19:51:20.63 ID:RAnqaH1V.net]
- 多くの会社から見て業務でVBAを使ってもトラブルが起きにくいパターンというのは主に2パターンあって、@重要なコードだが、何らかの理由で他の言語が使いにくい事情があるため、専門のプログラマに頼んできちんとしたVBAコードを書いてもらう場合。この場合、当然、VBA社員の出番はない。要するに、通常のシステム開発と同じだが、特定の事情により選定言語がVBAになるケース。もう一つは、Aあまり重要な業務ではないので、質の低いコードでも構わない場合。個人の裁量の範囲内でVBAの使用を認める会社というのはこっち。要するに個人で責任を取れる範囲内なら、会社は管理コストを掛ける必要もないし、担当者の裁量でVBAを使うことを禁止するまでのことはしないくても良いのではないかいう発想。それなりに合理的ではある。
逆にいうと、上記@Aいずれにも当てはまらないような使い方は、会社からするとリスク・コストを感じやすい。個人の裁量の範囲を超えて、非プログラマの書いたコードを業務に使用するような場合とかね。書いた本人はコードをオープンにしてブラッシュアップすれば良い、コストの面でも有利だなんて無邪気にのたまうけど、会社からすればそんな価値の低いものに管理コストを掛けたくない。仮に継続的な管理コストを掛けるならもっと価値のあるものに掛けたいわけ。はっきり言えば、新しく書き直すときでさえそういう既存のコードなんかない方が良い場合も多い。業務に使われている既存のコードがあるとなれば、どんなに酷いものであっても一応読まないわけにはいかないからね。 非プログラマの書くコードという括りで論じる限りは、Excelで十分な業務というより、低質なコードで十分な業務かというのが基準になるかな。それだって会社の方針次第だが。会社が全面的にVBAの使用を禁止しているような場合もあるからね。
- 795 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 21:02:03.17 ID:aXwvtPcZ.net]
- VBA禁止な
reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f
- 796 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 22:58:58.92 ID:zdx+eNOi.net]
- 名前付き引数省略は害悪。全てキッチリ書け
- 797 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 08:26:51.53 ID:oLOrCYhj.net]
- 「多くの会社」を、それぞれが想定してる規模が違うような気がする
経産省のサイトを参考にすれば、商工業それぞれの規模から比較したら 小規模(社員数20人以下)のが俄然大半を占めてる(かつては零細と呼ばれてた) 製造業は九割に近付く勢いだし、小売業や飲食業も八割、卸売業は五割程度だが 「多くの会社」とひとまとめにする場合は、これらを指すのでは無いのか? 社員数2,000名以下の中規模とかをもって「多くの会社」と呼び為してる気がしてならない 小規模は、持ち合わせてる武器で戦うのがいちばん効率的なんだが 持ち合わせてるExcelだけで戦えるなら、それをフルに活用しない手は無いだろうに その実態を知ったうえで「多くの会社」と書いてるんだろうか
- 798 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 09:06:27.49 ID:RtFNfP1s.net]
- 人手に余裕のない小さい会社こそ差別化要因にならない業務にはSaaS使うべきなんだよ
SaaSは企業規模に対する課金が多いため、むしろ小規模な企業の方がコスト効率も良くなる場合が多い
- 799 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 10:16:56.42 ID:38AbBGg0.net]
- VBAの属人化リスクの議論って、むしろそういう小規模な会社こそが最も意識すべきことでしょ。中規模以上の会社なら、そもそも低質なVBAコードに業務を依存させるような間抜けなこと自体があまりないだろうし、仮にそういう事態を生じさせてしまっても、最悪追加コストで何とかできなくはない。
小規模会社には、VBAを「効率的」な「武器」だと思いこんで飛び付いて、必要な管理もしないまま「フルに活用」した挙句、にっちもさっちもいかない事態にしてしまったところが少なくなかった。その教訓としてVBAの属人化リスクが意識されるようになったんだよ。 「武器」にならないとまでは言わないが、そんなに大したものではないし、トータルで見れば「効率的」でもない。好んで「フルに活用」するようなものでもない。そういうVBAの等身大の実像が会社サイドに把握されるようになっただけの話。 「小規模は、持ち合わせてる武器で戦うのがいちばん効率的なんだが 持ち合わせてるExcelだけで戦えるなら、それをフルに活用しない手は無いだろうに」(>>781) 多くの会社はこの後半部分が幻想に過ぎないことに既に気付いているが、VBAerには未だにこの幻想にしがみついている人が居るということ。
- 800 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 13:22:41.57 ID:oLOrCYhj.net]
- >必要な管理もしないまま「フルに活用」した挙句、にっちもさっちもいかない事態にしてしまったところが少なくなかった
ここの事例を具体的に読ませてくれるサイトとかあるん? 統計とか? 文末を「・・してしまったところはほぼ無い」と書き換えてどっかで紹介して、それを鵜呑みにした読者がヨソでお披露目しても 気付かれないでしょ? おソースプリーズな言説 判り易く例として社員20人だとして、事務要員4人は
- 801 名前:規模に対して多い 大抵は現場と掛け持ちで4〜5人ならまだ普通
事務専任で1〜2人なのが一般的な見立てだろうと思う そのうち一人が丹精込めてVBA育ててたけどあいにく辞めた 他の人間は便利に使わせてもらってたけど、いざ辞められたらVBAだれもチンプンカンプン ならまだ有り得る だからって、それが直接「だからVBA禁止!SaaSに移行!」って成ると頑なに信じてる?それ薦める? 小規模なら小規模なほど環境の変化を嫌うんだ あるものを何とかして使い続けられるならそうしたいってのが人の世の常 多少の手直し必要に成って助力が必要な状況なら、コネ使うなりしてでもそのものを使い続ける工夫に走る タイミング良く同質のものを安価で提供できる業者とかが出てきて、それのサポートも請け負ってくれたりしたなら ソッチに移行していくことはあったとしても、未知のサービスに賭けて投資してそれが自社の実態に即さなかったら 目も当てられない そっちのがリスキーだしその費用は丸々損害に等しい(授業料てか どこの会社も業種が一緒なら業務も一緒だと思ってたら大間違いで、その会社独自の仕組みを持っていたりする それに即して自在に加工できる道具として見ればExcelほど便利なものは無いのも事実 上では商工業を書いたけど、他にも建設、運輸・運送、士業えtc あらゆる業界で現実にExcel VBAが幅広く活用されてる 現実を鑑みても「ExcelのVBAは属人化しやすいから禁止」を言い張って止まないンなら、言い続けてりゃいいけどさ 書かれるたびにおれがしゃしゃり出てつべこべ反論してりゃいいんだろうし [] - [ここ壊れてます]
- 802 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 13:35:20.91 ID:+XeHUCKJ.net]
- どのように属人化するか・どの様に防ぐかの話題から、
属人化対策として禁止するか否かの話に
- 803 名前:デフォルトの名無しさん [2025/05/23(金) 15:19:50.38 ID:eOaMEV2I.net]
- 最後に 知らんけど ってつけた方がいいんじゃんね
知らんけど
- 804 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 15:21:21.07 ID:mEX1XvmT.net]
- >>784
他の手段と比較してどうかはともかく、事実としてVBAが問題を起こすことが多いからあんたに仕事があるんだろ? だったら属人化万歳くらいで流しときゃいいのに、いちいち突っ掛かってたら余計なストレスを作るだけだぞ 心配しなくても、あんたが顧客としているような会社は、全体最適云々を語るコンサルやシステム屋は相手にしない まあSaaSについては結構小さいところもわりと積極的に営業するから敵になるかもね
- 805 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 15:53:12.83 ID:dHvUhuhP.net]
- 長くてわかりにくい
スパゲッティ文章はやめろ
- 806 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 16:24:52.89 ID:oLOrCYhj.net]
- うん、途中からどうも話が噛みあわないな、とかは思っていた
ひと頃「ExcelのVBAは属人化しやすいから禁止する企業が増えてる」とかのたまう輩が徘徊してて おま、それ、何もExcelに限らんだろ っつー意味で反抗してたし、そんなアホ論をこのスレで 平気で吹聴してる奴に向けて言葉のげんこつしてたんだけど どっか行っちゃったんか? 所詮、世間は、世の中は属人三昧だろ? それで右往左往世界が悪い方向に向かってる実例を まざまざと目の当たりにしてる真っ最中だろ? で、それが悪かどうかなんか、もう少し様子を 見極めなきゃいけないまである なんでわざわざこのスレをターゲットに、VBAは属人化!!!とか言い募らなきゃならん? どこの回し者だ?、と 細かいこと言えば、じゃあってんでこれでもかっつー関数並べ立てて複雑怪奇な数式を組んだ WorkSheetはどうなんだ? 属人化の極みだけどそれはいいのか? 見た目xlsxならおkなのか? と 至るスレで属人化!属人化!!属人化!!!と連呼してるならまだわかるが、なんでExcelスレ限定 で、こないだ別件で「Excel 売上管理」とかでネットをモゾモゾしてたら、そこら中の売上管理アプリの 宣伝サイトが、形ばかりのExcelのサンプル載せて「しかしExcelは属人化」っつー文言を決まり文句の ように添えてたんだ ははぁ〜ん、とね、ある意味腑に落ちたし別の意味でがっかりしてたんだ 言い募る連中が自分の言葉でその悪弊を語れなくて「ネット見ろ」とか返すしか能が無かった理由が判明 そんなサイトだけじゃ無いのは承知してても、結局自分の意見として主張してンじゃなくて、受け売り 余所で聞きかじったのをなぞってるだけのレベルなんだな、と しかし、少なくともこのスレに居続ける人間なら、ExcelのVBAで効率を図ることに意欲的であって欲しい 他のがいいよ、って奴はその宣伝だけして書き逃げしてて欲しい まだまだExcel もっともっとVBA であり続けることが、このスレの健全化に貢献するはずなんだから すぱげってぃwww 読み飛ばせばいいじゃんか 読んでくれなんて頼んで無いぞ?
- 807 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 16:44:22.04 ID:HIpPOdnz.net]
- スレタイ
- 808 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 16:53:05.49 ID:fshmIkkH.net]
- xlsmって唐突に未知のウイルスの疑いのあるファイル扱いになったりする事もあるから何も知らない人は扱うのが怖いかもね
- 809 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 17:18:49.63 ID:4lmOgu2G.net]
- VBA職人が揶揄されるのも分かるわ。
ところで、仮にVBA職人、Ruby信者、Haskell信者、Rust信者で比べられたら、やっぱりVBA職人が圧倒的に格下扱いされちゃうのかな。ちょっと悲しみ。
- 810 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 17:28:32.52 ID:U7YdU8g0.net]
- VBAがそれらと同列に比較されることはないから互いに眼中にないと思うよ
Excel VBAはピボットテーブルとか分析関数とかと同列の、Excelの上級スキルの一つに過ぎない 一般的なプログラミングとは別物 そのへんのエンジニアより、むしろBIツールがメインのデータアナリストなんかの方がVBA意識してるよ
- 811 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 17:34:04.21 ID:4lmOgu2G.net]
- なるほど、そんなものかねぇ。
- 812 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 17:39:18.56 ID:+XeHUCKJ.net]
- >>789
文意の分からん文章書いてて噛み合わないもクソもないだろ 伝える気ないなら書くな 読ませる気無いなら書くな 話を曲解して変な方向に話を誘導してるのはあんた自身だ
- 813 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 18:31:41.70 ID:5vSRBrjF.net]
- 言語にすぐ上だ下だ騒ぐ奴いるからな
- 814 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 18:59:01.81 ID:BlARSTzn.net]
- 言語じたいは下の下
反論する奴すらいない
- 815 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 19:12:24.88 ID:K4ioF38n.net]
- 構文として最低限どんなものがあって欲しいかっていうのは人によって違うからねぇ。いまは、JavascriptとかPython辺りが平均的なラインなのかな。まぁ、関数型言語等のユーザーから見ればJavaScriptとかPytnon辺りでも足りないものだらけということになるんだろうし、VBAでも慣れればそんなに不自由ではないよという人も大勢いるわけだしね。
- 816 名前:デフォルトの名無しさん [2025/05/23(金) 19:54:42.34 ID:ybuGJY2P.net]
- C言語育ちのワイ、VBA始めた頃「えっ、ポインタってどうやって使うの?」って戸惑った思い出
自分の仕事が楽になる
- 817 名前:p途で使いまくってるからまぁ属人化しまくりだけど、
自分が退職した後(2年後)は知らんと思っている [] - [ここ壊れてます]
- 818 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 20:17:02.36 ID:dHvUhuhP.net]
- この辺がつらい
・tryがない ・for eachがバリアントのみ ・continueがない
- 819 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 21:01:05.99 ID:61koEGUg.net]
- まぁ、なければないで何とかやっていけるもんだよ。
このスレではそう言っておくのが無難。
- 820 名前:デフォルトの名無しさん [2025/05/23(金) 21:05:52.61 ID:fxCKrz9G.net]
- >>799
C言語にはfor eachがない、なぜならもっと原始的、シンプルな言語だからってCopilotに聞いたのですが本当なのでしょうか?
- 821 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 21:21:09.60 ID:eG6EJpyW.net]
- >>802
ポインタに++すれば次の要素になるからむしろCのほうが融通が効く
- 822 名前:デフォルトの名無しさん [2025/05/23(金) 22:01:59.52 ID:ai481srR.net]
- 4行以上のレスは読む必要無いってマジだな
- 823 名前:デフォルトの名無しさん [2025/05/23(金) 22:09:05.20 ID:4KSUIwLz.net]
- ぬるぽ
- 824 名前:デフォルトの名無しさん [2025/05/23(金) 23:17:20.35 ID:fxCKrz9G.net]
- >>793
データアナリストならパワークエリーしてほしいな
- 825 名前:デフォルトの名無しさん [2025/05/24(土) 06:17:34.64 ID:OSW0csek.net]
- 属人化し易い言語と言うことは融通の利く言語と言うことでもある。
例えば、CやC++ではポインタが使えたけどC#では「それは危険だ」ということで使えなくなってしまった。 代わりにデリゲートを使ってセーフティーに参照しなさい、ってことなんだろうけど、まぁお仕事用の開発だったらそれでもいいのかもしれないけど、 昔PS-VITAってゲーム機があって、これがエクスペリアってスマホとクロスプラットフォームで開発できるように開発言語をC#にしてしまった。 ポインタは確かに参照先間違えると吹っ飛んだりメモリリーク起こしたりと危険なものではあったけど、扱いが面倒ではないし融通の利く機能だった。 それを潰してしまったことがPSPシリーズがVITAで終わってしまった原因ではないかと今でも思ってる。
- 826 名前:デフォルトの名無しさん [2025/05/24(土) 06:41:52.12 ID:OSW0csek.net]
- >>798
JavaScriptをやったときには 前から.Net系の言語や、まぁVBAでもそうなんだけど、 何でクラスのインスタンスや文字列とかは変数に入れられるのにメソッドは入れられないんだろ? って思ってた時期があって、 JavaScriptに当たったとき、 あ、出来る言語もあるんだってなって、あれVBAに欲しいなぁとは思った。 後はスクリプト系の言語はスカラー変数で型の指定がないから型の指定に慣れてると逆にそれが面倒だったかな。 VBAで言えば全部Variantで扱ってるようなもんだし。厳密には違うらしいけど。
- 827 名前:デフォルトの名無しさん mailto:sage [2025/05/24(土) 10:35:16.26 ID:sJ/mZ3mU.net]
- 若いコにはやっぱPython辺りが人気とか?
- 828 名前:デフォルトの名無しさん mailto:sage [2025/05/24(土) 13:44:59.73 ID:3VNn3d5Y.net]
- スピル周りやLET,LAMBDAなどの関数が充実し
Excel=ビジュアルな関数型言語だと勝手に思っている
- 829 名前:デフォルトの名無しさん [2025/05/24(土) 14:39:09.90 ID:a4AdJqTs.net]
- ビジュアルな関数型言語はemacs-lispだろ
- 830 名前:デフォルトの名無しさん [2025/05/24(土) 15:44:49.02 ID:0gUvgwlc.net]
- 表検索するのにSQL使ってたけど、FILTER覚えたら単純な検索ならこれでいいかー、ってなった
- 831 名前:デフォルトの名無しさん [2025/05/24(土) 20:17:19.55 ID:c7V+L981.net]
- このスレはバカの話はなぜ長いのか考えるスレになりました
- 832 名前:デフォルトの名無しさん mailto:sage [2025/05/24(土) 20:41:36.84 ID:6QA0+Pxw.net]
- 頭の良い人は難しいことを簡単に説明出来る
馬鹿は簡単なことを長々と判り難くする
- 833 名前:デフォルトの名無しさん [2025/05/24(土) 20:44:24.68 ID:OSW0csek.net]
- >>813
正直すまんかった 久しぶりにVBAスレ来たからつい・・・ でもVBAはいい言語だと思うよ
- 834 名前:デフォルトの名無しさん mailto:sage [2025/05/24(土) 21:07:47.86 ID:cYe6QRvj.net]
- VBAは言語なのだろうか
VBは言語だけども
- 835 名前:デフォルトの名無しさん [2025/05/24(土) 21:42:51.33 ID:ZMjSY/PV.net]
- A1セルはこのフォルダのパスを記入する
A2セルはこのフォルダのパスを記入する 流石にこれは通じる、、、よね?
- 836 名前:デフォルトの名無しさん [2025/05/24(土) 21:44:12.53 ID:ZMjSY/PV.net]
- >>816
チューリング完全がプログラム言語の定義なのでしょう? だったらVBAはプログラミング言語なのでは
- 837 名前:デフォルトの名無しさん mailto:sage [2025/05/24(土) 22:37:10.39 ID:iK5rs3WU.net]
- A1 Write this folder pass.
- 838 名前:デフォルトの名無しさん [2025/05/25(日) 12:18:28.20 ID:IvH5YvLQ.net]
- dictionaryやFileSystemObjectのfunction関数を使っているけど、dictionaryに登録する処理や取得したファイル名やファイルパスに対する操作は事なる
こう言う場合、どうすれば個別の条件にも対応できるfunction関数が作れますか?
- 839 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 12:36:22.85 ID:ubpRgCst.net]
- 異なる操作をひとつの関数で行いたいという質問ですね!
まずはどういう操作を行っているのか教えてください!
- 840 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 12:45:27.58 ID:czPn1bap.net]
- dictionaryは死ぬ予定だから使うのやめなよ
- 841 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 12:53:50.40 ID:ubpRgCst.net]
- >>822
そうですね! Excelなのだからデータはワークシートに格納するのがスジですね!
- 842 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 13:20:14.05 ID:fZ8kzLje.net]
- AIみたいな解答ワラタ
- 843 名前:デフォルトの名無しさん [2025/05/25(日) 16:48:27.92 ID:zOE9ehCa.net]
- ホントにAIに聞いた。
個別の条件にも柔軟に対応できる function を作るには、いくつかのアプローチが考えられます。例えば、以下のような方法を試してみてはいかがでしょうか。 1. パラメータを活用する 2. Enum または定数を使う 3. コールバック関数を使う
- 844 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 17:36:59.25 ID:QBoxveBd.net]
- 何をしたいのかが謎
型によって処理を分岐させたいってことかね Function 関数(処理対象) 型名 = TypeName(処理対象) Select Case 型名 Case "Dictionary" Case "File" Case "Folder" End Select End Function
- 845 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 18:31:50.10 ID:czPn1bap.net]
- >>823
そういう話じゃなくVBS廃止の副作用で連想配列や正規表現が死ぬって話
- 846 名前:デフォルトの名無しさん [2025/05/25(日) 18:42:26.13 ID:rOBfPREU.net]
- >>827
VBS廃止の副作用で死ぬのは噂や推測じゃなくて公式の情報なの?
- 847 名前:デフォルトの名無しさん [2025/05/25(日) 19:07:30.81 ID:IvH5YvLQ.net]
- ファイルシステムオブジェクトでフォルダの中のファイル名一覧と、ファイルパスを取得したい時もあれば、
ファイル名に部分一致するファイルのパスを取得したい時もある
- 848 名前:デフォルトの名無しさん [2025/05/25(日) 19:13:49.79 ID:5C/Jye7Q.net]
- 従来の正規表現の代用って無いの
- 849 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 19:54:07.08 ID:czPn1bap.net]
- >>828
逆にあれだけ情報出ててなんで死なないと思うの? https://techcommunity.microsoft.com/blog/windows-itpro-blog/vbscript-deprecation-timelines-and-next-steps/4148301 >>830 vba-regex by sihlfallっていう、 RegExp代替のフルVBAで書かれた正規表現エンジンがある
- 850 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 19:58:13.45 ID:bo3VS07C.net]
- >>829
はい! if文で条件分岐すれば、簡単に実現できます!
- 851 名前:デフォルトの名無しさん [2025/05/25(日) 20:04:43.89 ID:IvH5YvLQ.net]
- 私はVBAの正規表現が死んだら、パワークエリーでJavaScriptの正規表現を使うわ
set オブジェクト = nothingって必ずした方が動作が確実になるのでしょうか? Wordのドキュメントやアプリ
- 852 名前:ケーションを処理する時にエラーが出たのでそう思いました。 []
- [ここ壊れてます]
- 853 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 22:03:34.39 ID:QBoxveBd.net]
- 正規表現はREGEX関数が実装されたのでVBAでやる必要なし
- 854 名前:デフォルトの名無しさん [2025/05/25(日) 22:32:05.60 ID:d/seLvao.net]
- >>822
知ったか乙 良く調べて書き直せ
- 855 名前:デフォルトの名無しさん mailto:sage [2025/05/26(月) 02:34:52.38 ID:J879X3+V.net]
- >>835
Microsoft Scripting Runtimeに依存してるからVBSと共に死ぬ FSOなんかはScripting Runtimeには依存してないから引き続き使える 間違ってるなら指摘して 認識改めるから
- 856 名前:デフォルトの名無しさん mailto:sage [2025/05/26(月) 09:38:22.00 ID:G1Vrdcz4.net]
- >>820 が聞きたいのは
https://www.limecode.jp/entry/syntax/bind-set-filesystemobject この辺の処理の仕方なんでは? 最後まで精読すれば、どういう書き方をすれば より都合が良くなるか、それなり理解が深まるような
- 857 名前:デフォルトの名無しさん [2025/05/26(月) 09:53:10.39 ID:wHcYCN0P.net]
- >>833
>set オブジェクト = nothing それ書かないで過去に何度か問題起きてたような ファイルopenして、close書かなくても勝手に閉じてくれるとしても、書いたほうがいいようなもん たった1行各程度で未然にトラブル防げるなら書いとけと (かと言って、親オブジェクトから連なる小オブジェクトはいちいちnothingせずに、親オブジェクトだけ書いちゃうことも多いけどな。小さい処理だと特に)
- 858 名前:デフォルトの名無しさん [2025/05/26(月) 12:08:21.83 ID:chNfFSjB.net]
- >>836
間違えている どのDLLに何が入っているかだ
- 859 名前:デフォルトの名無しさん [2025/05/26(月) 13:55:33.90 ID:cvwCoF8H.net]
- >set オブジェクト = nothingって必ずした方が動作が確実になるのでしょうか?
した方が良いじゃなくてするべき
- 860 名前:デフォルトの名無しさん [2025/05/26(月) 17:21:30.90 ID:c1JRhLC0.net]
- コピペ荒らしこのスレだけ来ないの面白いな
- 861 名前:デフォルトの名無しさん [2025/05/26(月) 18:35:02.01 ID:FaOK97dk.net]
- >>837
すみません 今の私は例えばファイルシステムで言えば、 フォルダの中の全てのフォルダ名とフォルダパスを取得 フォルダの中の全てのファイル名とファイルパスを取得 フォルダの中に指定のファイル名と異なるファイルがあれば削除 と言う様に、 それぞれのサブプロシージャを作成する事しかできていません なので、一つのサブプロシージャに条件に応じて複数の処理が行えないかなと思いました 原作論で言えば、一つの処理しかできないサブプロシージャこそ正しいのかもしれませんが あと、それぞれのプロシージャでファイルシステムオブジェクトを宣言とセットをしてしまっています nothingは今までプロシージャを抜けた時点で解放されるから特にする必要がないと思っていましたが、Wordを操作する様になって、nothingをしないと処理が止まってしまうので意識する様になりました
- 862 名前:デフォルトの名無しさん mailto:sage [2025/05/26(月) 19:11:18.49 ID:mCaBFscc.net]
- Sub Yaritai(i as integer)
if (i and 1) <> 0 then Call Sub1() elseif (i and 2) <> 0 then Call Sub2() End Sub
|

|