上司「集計VBA作れ」俺「どうせ後でバカみたいな仕様変更入るんだから修正楽なPython使わせてくれ」上司「VBA😡」 [296617208]
■ このスレッドは過去ログ倉庫に格納されています
PythonによるExcel自動化は何がスゴい?インストールからコードサンプルまで実践詳解
https://www.sbbit.jp/article/cont1/46162 >>21
他ができないから1人担当部署でこういうのやらせるしかねぇだろ 上司「集計VBA作る」
俺「どうせ後でバカみたいな仕様変更入るんだから修正楽なPython使ってくれ」
上司「VBA😡」 あとの苦労を今考えるな、やれるかやれないかだけだろ?
これから先疲れるのが嫌とか眠いは嫌とか関係ないんだわ、どっちにしろ大変で疲れるんだから そんな書き捨てならみたいなのなら互換性とかでだるいからVBAでいいんじゃない 弊社は属人化しちゃうからとかいう理由でVBAもマクロも禁止です
ザ・ジャップ 元データさえ入力されてれば
なんでもいいじゃん集計なんて 正規化されてないcsvにdfクソほど使いにくいからやめてくれ VBAってMicrosoftなのに未だにvscodeも使えずあのOffice組み込みのエディタなの? VBAもクラスとかあるから、小分けにして作れば修正しやすいけどな Pythonじゃ実行環境インストールになるだろ
許可されないよそりゃ 他の社員は勉強しないから最初に組んだ連中がずっと子守りしなきゃな Pythonは勉強しといた方がええんかね
AI遊ぶために環境だけはインスコしたけど。 >>42
そこよな
日本はできる人に負荷かかりすぎなんだよな
そのくせお金付かないし 糞VBAを回避してエクセルの外部から操作する方法を
調べたがやっぱり同じような事思いつく人いるんだな
すでにツールが存在してた そもそも集計ってどんなことやろうとしてるの?
大抵は数式オンリーでも同じ結果が出るフォーマット作れない? >>47
単なる二次元配列の指定レベルでしかないと思うが
片方が英字なだけで
プロセス間通信でコントロールできるなら
他の言語でも問題ねえな
C#でネームドパイプで遊んだ事ある
https://qiita.com/2019Shun/items/db0028a535297ef50184
xlwings
OpenPyXLと比較されがちなライブラリです。実際にExcelを起動してプロセス間通信でデータを扱うライブラリなので、Excelでできることはほぼ出来ます。しかしExcelを開くためオープン/クローズに時間がかかります。 >>49
まあ別ソフトが吐き出すcsvファイルを集計するんだろうな
いちいち開いて貼り付けるの面倒
PowerAutomateで出来そうだけど、
ノーコードはアレはアレで分かりにくいよな >>50
こういうのってExcelの方でデータが変わったとき
ライブラリ側も自動で更新されるもんなの? >>52
編集途中のエクセルファイルの話?
そんなのは想定してないんじゃ 3年前に作ったVBAツールを隣の部署のメンバーが今でも使ってくれてるの見るたびにニヤニヤしてる
全社的使ってるはず
3年間トラブルゼロだし >>49
数式オンリーは集計表の見た目変更しろって話が後からくる可能性がある場合はきつい
sumifsで使ってる文字列を「この言葉は気に入らないから違う言葉に変えろ」とか言われたり
「今見えてる部門計より細かいデータ見たくなったから間に明細行挿入しろ」みたいなこと言われると崩壊する
両方とも俺が今日言われた事だから現実で本当に起こるぞ 集計する元のデータのフォーマットも
出力したいデータのフォーマットも
どんどん変わっていくからね
ノーメンテで3年使えるとか極めて稀なケースだな >>57
その修正が面倒なのはわかるがスレタイのようにVBAだと解決しなくてPython使うと簡単に解決する問題なのか? >>59
VBAだと「こことここの間に列入れろ」とか「列入れ替えろ」がクソ度高い気がする
pandasとか使えばそこら辺すげー楽になる プロセス間通信のいいところは別PCからでも
LAN経由でアクセスできるところ 職場のPCに管理者権限無いマンは何使うのが一番捗るの? 集計なんてほとんどピボットテーブルで解決できるのにどうしてVBA使うんですか? >>53
DDEでシートのデータがリアルタイムで変わるような奴
変更が起きたことをライブラリ側に伝える手段は
あるのかな?と思って >>64
VBAで良いんじゃないかな
シート関数の呼び出し方とか覚えると捗るよ
無茶苦茶可読性悪いけど
多分Pythonはpipが通らないから無理だわ >>67
結果そこよね
Python入れれる職場なの?と >>60
Python使えばより簡潔に書けるかもしれないけどそれぐらいだったらVBAでも普通に書けそうだし
何より修正があったときに直接フォーマット書き換えても工数変わらないんじゃないかという気がするので
Python使わずやれという意見に利があるように思えるわ エクセルって名前付きパイプ使えるなら
1) VBAだけ持ってるブック
2) 1)から操作を受けるブック
と役割を分けれると少しはマシかなあ
あちこちVBAのコードが散るのが糞だわ >>70
集計がダッシュボードって意味ならPythonのが楽だな
VBAというかエクセルではやりたくない Pythonのエクセル操作ってかなりAPIが限定されてて
やっぱVBA直でいじったほうができること多いって印象 お前らExcelの何をそんなにいじることがあるんだよ excelは簡易ツールを作る最強ソフト
全てのPCにExcelは入ってるし、各自がセットアップの必要がない
言語仕様が糞だから複雑なことをするのには向いてない ファイル操作とかが不要ならワークシート関数を自作するのがベスト
ボタンを押したら特定のセルに合計額が入力されるみたいな糞マクロ書いちゃダメよ excelフォーマットで出力するオープンソースのライブラリってどれも一長一短なんだよな
だったらcom参照から出力する設計のほうが細かいところ指定できる というかいまさらExcelでPythonとかVBAいらんだろpower auto mateとかpower queryとかでなんとかしろ😮💨 Win32APIを叩くVBAが業務アプリとして使われていた思い出 >>78
ほぼすべてに入るからデジタル貧乏なんだよ
日本
うちは入ってないのでデジタル土人に混ぜないでくれ
最強のツールはブラウザだろ
無料であれこれできるのに どっちもスクリプト言語でコンパイルとか要らないんだからpythonの方が修正楽とかなくね
むしろ2byte文字の処理が面倒だから集計するデータの内容によってはvbaの方が楽まである VBAが苦痛なのは
・エディタがショボい
・中途半端なオブジェクト指向
・エラーハンドリングがやりづらい
・ユーザフォームのイベントがwinフォームと微妙に作法が違う
・コーディング規約を意識したことない人が作った物が多い
こんなとこかな >>84
N88BASICやMSX BASICの経験あるおっさんだが
BASICの系統は今となってはゴミ
エクセルでもC#とか求められてたのに来ないままだし >>86
コードのバージョン管理も不便だぞ
マクロを修正してと頼まれてやってやったのに
何度言ってもコード修正前のファイルの方を更新される >>88
ファイルの中に一体なのがなあ
ファイルで管理するのはデータと
せいぜいグラフとかにしろよって思うわ
集計とか外部スクリプトでエクセル内のデータを
データベースのようにみりゃいいだけだしな
この辺の切り分けがイメージできてない奴が
VBA狂信者になってるイメージ >>71
それいいな
VBAから外部にワンライナーを投げて標準出力を受け取れればどんな言語でも使えるのか >>89
まあ配布するには便利なんだよ
他人と共同作業をするには不便 VBAはコマンドプロンプトとおんなじで
世界中で稼働しているプログラムがたくさんあり
モダンな機能を取り入れると破壊的変更が大量発生するのでアップデートするつもりはないとMSが明言してるからな
コマンドプロンプトはPowershellが代替として登場したけど
VBAはpythonで代替するかも…!?って噂が出ただけで続報ないもんな
まぁ俺はpythonじゃなくてC#にしてほしいんだけどな >>86
それEXCELでやる必要ある?
ただの表計算ソフトに何でもかんでもやらせてゴミ扱いするのも違うと思うな >>94
何でもかんでもVBAでやらせようとするクソ職場がクソ多いからクソ扱いされてる >>94
予算と定形業務かどうかの問題じゃないかな?
毎日発生する重い業務なら専用の業務アプリ作るかRPAを採用する
でもこれは数百万円コース
毎日かたまに発生する軽い業務の場合
VBAなら業務に詳しい担当者が数人日で作るから
1人日/3万円としても20万前後で作れる
改修が数回入ったとして100万いかない
ユーザ数が多いなら軽い業務でも
どっかの弱小SIerに作らせたほうがいいだろうけど >>96
本格的なオブジェクト指向とかエラーハンドリングとかはその本来VBAで想定している軽い処理の範囲外じゃないかなと思うんだが >>98
本格的なオブジェクト指向は範囲広すぎだが
軽い業務でもエラーハンドリングはVBAの範囲でもちゃんとすべきだと思う
(エラーハンドリングもオブジェクト指向の範囲内ではあるが)
VBAの場合はon errorに丸投げせず
if文で型チェックやnullを細々とやる感じになると思うが
一般的なtry、catchに比べて冗長になるものの
これやらないとVBA作成者やユーザが時間取られるからな 5chは匿名じゃないですからね、ここに書き込んだりアクセスしたりしたら
5ch運営に「オモチャ」にされて人生ボロボロになりますよ。
あなたの実名も書き込み内容も貴方の勤めてる会社の経営者に筒抜けです
経営者は5chと契約してるんです。裏から「バカだろ」「頭悪いだろ」って煽ると本音が聞ける
社員にアクセスさせるために運営が内部情報で餌を撒いてるんです
アクセスし始めは楽しく運営が相手にしてくれますが
「用済み」になったら、「バカだアフォだ」開始。これだけで普通のメンタルだと精神病になってしまうのです。今まで何千人が精神病にされたことか😓
5chビジネスの仕組み
↑
ネットでバカだろとか言われたら ↑ をコピペしてやれ
偽計業務妨害になるかもなwc ラムダ式とか実装しろとは言わないが
昔だとList<T>は自分で実装できて当たり前という風潮が
いつの間にかジェネリックとして実装されてる
環境が増えたようになって欲しいなあ
.net 2.0くらいを目安に >>1
ばっかじゃねぇの?わざわざPython入れてって時点で間抜け丸出し
もっと言えば、Power Queryで出来ること。VBAを使うまでもない。
お前その程度で、エンジニア気取り?ww
意識高い系も大概にしておけよクソ雑魚。 まぁでもVBAは出来たほうがいいよ
それで仕事が作れるのがありがたいよね 最低限コメントふんだんに入れてあればなんだっていいだろ >>105
1行おきにコメント入れてれば許す
コメントで処理内容だけ先に書いてからコメントに合わせてコード書いてくスタイルだわ俺 ■ このスレッドは過去ログ倉庫に格納されています