Excel VBA 質問スレ Part82

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2025/01/24(金) 03:31:15.25ID:l239yW+P
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/
2025/01/24(金) 05:27:04.93ID:uQJDDdhk
>>1
スレ立て乙まんぢゅう
https://i.imgur.com/JjNUnMG.jpeg
3デフォルトの名無しさん
垢版 |
2025/01/24(金) 13:15:18.84ID:Pei63FOH
菊水だけがこんな差で劣化するかな…
消して上書きでもそこだけ使うかとw
謎だ
2025/01/24(金) 14:13:31.24ID:uQJDDdhk
>>3
新潟県胎内市へお越しの際は是非お立ち寄りください。
2025/01/24(金) 17:31:59.07ID:yqzUBum2
googleのストリービューでみたら同じような感じだった
インクの違いなのかな
6デフォルトの名無しさん
垢版 |
2025/01/24(金) 18:39:58.40ID:gUqxBqw/
>>4
そんなとこにあるのね
昔関東にいた時に苗場までしか行ったことない
リニアが開通したらぐるっと観光してみたいな
@みかん県
2025/01/24(金) 18:52:12.99ID:uQJDDdhk
>>5-6
新潟に関心を持っていただけて恐縮です。
俺も新潟県に住んでいたときはこの地名が気になっていたんだけど、乙まんぢゅうは食べたことがなかった。
今度Excel VBAコーディングで行き詰まったら、乙まんぢゅうを食いながらエナジーチャージしようと思います。
強引なこじつけでスレチ回避。
2025/01/27(月) 20:22:37.08ID:Edg2jktU
そんなもんに頼る奴はアホ
ってのは置いといてChatGPTとExcelのCopilotだとVBAはどっちが精度良いとかある?結構頼りたい
2025/01/28(火) 06:56:23.19ID:srrQLsM6
>>8
内容によりけりかと。
両方に同じ質問するのは大した手間でない。

両者それぞれ回答の仕方に性格みたいなのが出る。
2025/01/28(火) 08:10:41.00ID:lflkdOQ3
>>8
そんなもんに頼るって、乙まんぢゅうのことを指してるのか?
2025/01/28(火) 08:23:11.32ID:1NgzbOtc
>>8
どっちもまあまあハルシネーション起こすよ
VBAにおいてはCopilotの方が行儀悪いコード返す
ChatGPTの方が丁寧だけど嘘も多い
12デフォルトの名無しさん
垢版 |
2025/01/29(水) 00:36:51.64ID:3sg9vRpP
透過処理の不具合はまだ直らない?
2025/01/29(水) 11:40:32.41ID:l1wTy5LU
一般的にはコパイロットの方がコード生成向きと言われている
2025/01/29(水) 15:02:27.81ID:Y8sa7aMn
きちんと指示せずVBAを書かせると、オブジェクト変数にNothing代入しないCopilot
2025/01/29(水) 16:11:17.83ID:r2ULz+MP
ChatGPTで検証繰り返してエラーの起きない部署内の抽出システム作って社長賞30万
10万は部の飲み会で使われて消えた
2025/01/29(水) 16:57:16.04ID:15mvMXpA
>>15
30万円のうち所得税3万円引かれて、残りの27万円から飲み会に10万円消えて、手取りは17万円か。
2025/01/29(水) 19:15:30.00ID:dOgWcUI+
エクセルのCopilotもChatGPTも使いまくってるけど今のところ
ChatGPT>>>>>Copilot
え?Microsoftお前んとこのアプリなのに?マジでこんなに差があるの?
てレベルでCopilotはダメすぎる
2025/01/30(木) 00:04:51.14ID:Rrkw5pGV
ChatGPTは最後には自分で作れ(意訳)って投げられて終わりだった
結局AIなんてネットにある情報を見つけてくるだけだから、まだ誰も発表してない物はやっぱ無理よな
2025/01/30(木) 08:59:03.48ID:gYAmvW7e
そりゃそうだ
あれは検索したものを自然な言葉でまとめてくれるのがすごいとこであって自分で何かを生み出してくれるもんじゃないしな
2025/02/01(土) 19:19:03.91ID:6DDlyQfL
もしAIが勝手にセキュリティーの甘い世界中のPCの中に侵入したり
暗号化されたデータを解析して普通は見れないネット上の情報を集めてビッグデータを構築しはじめていたらどうかな
2025/02/01(土) 20:27:12.49ID:uxF+4Xu3
>>17
ちょっとDeepSeek触ったけど、良さげ。
ローカル32Bの日本語モデル。
痒いところに手が届く感じで書いてくれる。
AIの進歩凄いな。

あとcopilotはマジで使えない。
VBA使う現場で、IDEが終わっててコード補完無いし、作法覚えるのが面倒くさいから使ってるけど、セル値1個ずつ代入とかマジ腐ったコード書くから、一々「一括で配列に代入して~」とか手間がかかる。
22デフォルトの名無しさん
垢版 |
2025/02/01(土) 23:37:28.11ID:k2Af8ELN
車のATもMTモード無いと使い勝手悪いこともあるからね
AIも同じようなもん
2025/02/06(木) 04:05:22.81ID:wp4IFx4T
どうもExcelの印刷が苦手だからExcelでデータ入力して
Wordのテンプレの〈〈文字列A〉〉にExcelのセルAをいれる、とかVBAてやってるけどやってる人いる?

これはこれでExcelからの表組みがうまくWordのテンプレの表に収まらなかったりして難しい

差し込み印刷は売上データなんかをAccessのレポートみたいにできないからだめなんだよね
そのためにAccess買うのもアホらしいし
24デフォルトの名無しさん
垢版 |
2025/02/06(木) 04:29:46.26ID:2jGHzNy6
企業向けofficeにはaccess入ってるんじゃ
うちは使えるようになって喚起したわ
2025/02/06(木) 08:26:54.72ID:dQANt/Gp
>>23
ランタイムライブラリだけ入れてVBAでAccessの機能使えば良い
26デフォルトの名無しさん
垢版 |
2025/02/06(木) 09:59:08.74ID:GcFYqCgf
>>23
30年以上前からその機能あるけど糞は糞のままだね
2025/02/06(木) 13:53:44.56ID:wp4IFx4T
AccessはAccessでとても使いにくいよね
2025/02/06(木) 14:08:15.92ID:JDrlzCG7
それはあなたの感想ですよね(キリッ
2025/02/06(木) 14:26:14.44ID:wp4IFx4T
はい
2025/02/06(木) 14:27:50.89ID:wp4IFx4T
ExcelとAccessまぜたのつくってほしい
オートフィルやUIなんかはExcelでDBになってるやつ
Excelで擬似DBつくるのは転機がめんどう
31デフォルトの名無しさん
垢版 |
2025/02/06(木) 15:03:38.82ID:2jGHzNy6
access使いやすいやん
あれだけの機能と使いやすさが一つになってるアプリ他に知らない
上で書いてるようにレポートが特に優秀
accessがDBやフロントエンド作成にどれだけ役に立ったことか
業務システムにめちゃ使ったし、ちょこっとDB作りたい時にはこれ一択だわ
(もちろんOracleやSQLサバ使うこともある)
32デフォルトの名無しさん
垢版 |
2025/02/06(木) 15:08:02.73ID:2jGHzNy6
EXCELでは、似て非なるpowerquery使えば少しは楽かもだが、そちらで済むか、楽かは場合による
2025/02/06(木) 15:20:06.75ID:wp4IFx4T
>>31
レポートつくるUIがひどすぎてなあ
90年代からやってた人はなれてるかもしれんが現代人にはきつい
右側に出るプロパティなんかも小さすぎる
2025/02/06(木) 15:20:39.28ID:wp4IFx4T
ちなみに比較はファイルメーカーね
2025/02/06(木) 15:29:16.45ID:mU8snJfJ
ExcelVBAでAccess批判か……
2025/02/06(木) 15:59:53.23ID:80shuo/K
いくら場末の落書き掲示板だとしても、ちょいちょい誤字混ざる人は
集中力に欠ける粗忽者 のほほんとアプリを操作して、思うような結果が
出なかったらアプリのせいにするのも共通点
言うなれば、アプリに見下されているようなもの「おまえにゃまだ早い」と
コクヨの集計用紙(全11商品)へチマチマ書き込んで電卓叩いて集計する
作業からやり直すのがお似合い
苦手な印刷も、ソッチならじぶんの思い通りに仕上げることができるだろう
2025/02/06(木) 16:04:23.37ID:80shuo/K
書き損ねたが、アプリ側は命令された通りの結果を出すだけ
要は、結果が思わしく無いなら命令がポンツコということ
思い通りの結果を出したければ精進して正しい命令を書く努力しろ、と
38デフォルトの名無しさん
垢版 |
2025/02/06(木) 16:19:55.46ID:VOtv9fbX
>>35
データベースをまともに使えない馬鹿頭の人が自分の馬鹿頭で理解できないから文句を書いてるだけだな
2025/02/06(木) 16:32:37.70ID:dQANt/Gp
まぁAccessのUIを何故モダン化しないのか不思議ではあるね
開発者的にも、どのみちみんなVBAで操作するんだろ?って感じなのかな
2025/02/06(木) 16:50:31.28ID:XU76YYln
Accessは開発終了したんじゃなかったっけ?
2025/02/06(木) 16:53:30.64ID:XU76YYln
ああ、2026年10月13日でサポート終了。
その後のアナウンスが今のところない・・・ということか。
2025/02/06(木) 17:22:39.25ID:TX9oFlWX
Accessなら貴水と浅倉に任せろ!
2025/02/06(木) 17:38:21.66ID:EMlcP8l1
>>39
データベースのフロントエンドなんて今時ほとんどWebだからね
以前AccessをWeb化する試みはあったが、Accessはクラサバ前提のアーキテクチャのためWeb版は殆ど互換性のないゴミで大失敗した
で、どうせ互換性がないなら態々Accessに拘る意味もないため、Accessを放棄してDBのローコード分野はPowerAppsとかExcel onlineとかに任せることになった
44デフォルトの名無しさん
垢版 |
2025/02/06(木) 19:36:10.16ID:VOtv9fbX
>>43
こういう馬鹿な人がいるのがこのスレ
2025/02/06(木) 19:50:11.45ID:H9nud2IS
>>43
webは印刷がね
>>39
たぶん廃止されるよ
46デフォルトの名無しさん
垢版 |
2025/02/06(木) 21:38:25.92ID:PUaOdYG7
>>33
ACのレポート以上に多機能で作りやすいのは何?
47デフォルトの名無しさん
垢版 |
2025/02/06(木) 21:45:56.60ID:r+sgqPgT
>>46
えっ!?
ファイルメーカー?w
昔比較にならないほど貧相だったが今はACレポート以上に多機能で使いやすいのか?
機能少ないから使いやすいではなくて?
VBA相当でゴニョゴニョもどれくらいできるの?
2025/02/06(木) 22:34:33.55ID:gPOv1eyh
>>23
エクセルの内容をワードに転記して書類作る謎の業務があるから正にそれやってる
ワードの各場所にEXCELのセル番号入れて指定してるけど
2025/02/06(木) 22:57:48.93ID:yfodVwIW
>>47
世界中の大手が導入してるくらいはすごい
少なくともAccessじゃ蟻と象
むしろ機能多すぎる
2025/02/06(木) 22:58:35.00ID:nFs5sIy0
>>48
ExcelでVBA実行してWord開いて書き込むって感じ?
2025/02/06(木) 23:01:32.11ID:gPOv1eyh
>>50
そんな感じ
2025/02/06(木) 23:35:35.06ID:nFs5sIy0
>>51
WordじゃないとPCの表示倍率によってずれたりするからずれないWordでやって印刷なりPDFってことなのかな
あとは帳票になってるならレイアウトの自由とか(Excelってセル内の余白設定すらないからな。左右はインデントあるけど文字単位だし)
2025/02/06(木) 23:57:02.68ID:NyHIlSRI
そもそも一般的な会社ではExcelで何をしてるものなの?
例えば販売データのCSVなりExcel渡されて
この中から条件に合うやつだけ抽出しろとかそんなの?
54デフォルトの名無しさん
垢版 |
2025/02/07(金) 01:33:48.32ID:KDvERFpc
>>49
ファイルメーカーは中小企業というよりも小企業が使ってるかもしれないね
IT関連の仕事してて大手、中規模くらいでかつて一度も見たことないわ
多機能でないのは結局やりたいことできなくて廃れる
2025/02/07(金) 02:05:15.18ID:948vsJjG
>>54
いや大規模のとこしかつかってないよ
2025/02/07(金) 02:06:31.58ID:948vsJjG
>>51
それって間違ってWord上書き保存しちゃったら
またマーカーというか指定位置作り直すはめになるのか
57デフォルトの名無しさん
垢版 |
2025/02/07(金) 02:24:02.46ID:mthoc5IH
>>55
導入企業調べてみると…
ある印刷企業、資本金10万円 w
ある釣具メーカー、従業員数4人 ww
少し大きなとこもあるけど、大規模なとこしか使ってないね www
2025/02/07(金) 03:22:09.93ID:948vsJjG
>>57
日本航空株式会社
ホンダ
ダイキン
大塚製薬
三菱重工業
アサヒビール
日産
日本郵便
フジテレビ
小田急電鉄
日本原燃株式会社
公立千歳科学技術大学
神戸製鋼グループ
大阪市高速電気軌道株式会社
株式会社ホリプロ
国立病院機構 大阪医療センター

あたりが公式発表された企業
59デフォルトの名無しさん
垢版 |
2025/02/07(金) 03:38:57.90ID:kGAOem5c
>>58
馬鹿って、公表されている企業が基幹システムで使っていると思ってるんだ
このスレってこいつみたいな馬鹿ばっか
2025/02/07(金) 03:52:18.76ID:948vsJjG
>>59
え?Access基幹ソフトとして使ってるとこあるの?
Accessとの比較じゃなかった?
61デフォルトの名無しさん
垢版 |
2025/02/07(金) 03:58:31.73ID:kGAOem5c
>>60
ではわざわざ公表するって、単に購入したとか一部で使われているってだけなのか?
それならAccessなんて使ってる企業は大量にあり過ぎだろ
2025/02/07(金) 04:12:08.31ID:mKu5nA30
>>61
Accessよりへぼいだろ、といったから
圧倒的にすごくて大手も使ってるといっただけ
ファイルメーカーは料金体系が零細じゃ払えないレベルだからな

ちなみに誰も使ってないからサポート打ち切りつまり廃盤なんじゃないの?
63デフォルトの名無しさん
垢版 |
2025/02/07(金) 04:24:48.18ID:kGAOem5c
>>62
>ファイルメーカーは料金体系が零細じゃ払えないレベルだからな

突然零細に限定
馬鹿過ぎて笑える
2025/02/07(金) 06:47:23.10ID:UT8q5JHQ
>>30
Accessのグラフって、まともに使える?
ポンチ絵みたいな簡単なのしか出来なくて諦めた。
2025/02/07(金) 08:51:10.85ID:nSLgJIDh
俺が前にいた会社では、半導体工場の製造装置の予備品管理にAccess2000を使っている。
そのシステムをメンテできる人が辞めて何年も経つから、予備品発注点の管理とか現品棚卸しとか納期遅延管理とか、不足する機能を追加できずにいて、予備品欠品で生産停止を頻繁に起こしていた。
ISO9001/IATF16949の定期審査でも予備品管理は狙い撃ちにされていて、品質保証部は尻拭いに大変だった。
2025/02/07(金) 08:54:15.39ID:v+GJWF0M
霞ヶ関でも重宝されているポンチ絵を侮ってはいけない
ps://note.com/narumi/n/nf4210a6c6051
まぁ、どんなグラフが欲しいのか次第で、他のアプリの力添えが必要なのがAccessの弱みのひとつではある
実はその程度ならAccessだけでも作れるよ ってグラフも多いのだが、制作者の力量次第
2025/02/07(金) 08:56:48.69ID:v+GJWF0M
>>65
それはAccessのせいじゃ無いだろ 設備投資や人員補充をできないその会社固有の問題に過ぎない
68デフォルトの名無しさん
垢版 |
2025/02/07(金) 09:58:20.76ID:/5QwLK/7
>>62
最低いくらからと思ってるの?w
69デフォルトの名無しさん
垢版 |
2025/02/07(金) 10:04:49.40ID:/5QwLK/7
>>64
EXCELの高機能なの使いたければこちらを使う
ワードのようにリッチテキスト出せないのも同じ
2025/02/07(金) 10:52:11.05ID:5nqX8k30
>>66
「ポンチ絵」じゃ霞ヶ関のパワポ芸を連想させてしまって、伝わらないか・・・

例えば、そのnoteの3枚目のパワポ事例の右肩に、簡単な円グラフと棒グラフがあるけど、
Accessでできるグラフって、この程度(=パワポレベル)でね?

過去にAccessでやりかけたものの一つは、
2016年から公開されている系統電力エリア需給実績データで、
グラフ機能がショボくて諦めた。
せっかく細かくデカいデータを、いろいろ繋げたり加工はできるのに。
(実は、ファイル容量上限2GBもネックだったりする・・・)

で、今、Excelで、bookもクエリーもVBAで多段処理して
ヒイヒイ言いながらなんとか作っている、お恥ずかしいグラフは、こんなの。
i.imgur.com/Ossd2O9.png

ChatGPTに相談したら、Power BIどころか、
これはこれでもう、OracleかSQLかなんかでサーバー立てて、
htmlゴリゴリ書いてWeb共有したら?
と言われる始末。
71デフォルトの名無しさん
垢版 |
2025/02/07(金) 16:21:39.67ID:KDvERFpc
>>70
2GBの壁はテーブルを切り出せばいい
1テーブルならSQLサバ無料で
72デフォルトの名無しさん
垢版 |
2025/02/07(金) 17:44:34.26ID:KDvERFpc
>>70
グラフ凄いな
全体構造はわからんけど、オレが作るなら
データ取得とデータ提供クエリーをaccess側で
EXCELはaccessからデータもらって画像のように出力
かな
EXCEL側から全部できるようにしとくと便利だけど、密結合(イメージ)すぎると他に流用しにくくなる
例えば別形式のグラフ出そうとして別EXCELファイル作ると、そちらにもデータ取得処理が必要になるとか、データ取得のために画像のEXCEL起動が必要とか

accessでデータ取得にしとくと、スター型みたいに複数EXCELやワード、パワポにデータ提供しやすい
まあ、理想通りにいかないことも多々あるんですけどw
7370
垢版 |
2025/02/07(金) 20:11:00.46ID:5nqX8k30
他の人の参考になるとは思えんけど、拙いこの集計の概略を晒すと、
1. 10のWebサイトから毎月csvファイルをDL(当月分はリアルタイム集計したいため、随時クエリーで読むだけ)
2. 一部電源の正負値分離、小計、当月最大/最小計算
3. 50Hz連系、60Hz連系、10エリア計で時間帯串刺し計算
4. 過去遡及補正があるので、過去月は最新版計算
5. 電源別の過去月最大/最小・日時計算、全期間最大/最小・日時計算
6. 電源別にMW30分平均値から月別・年別MWh計算(MW値÷2)
7. 時間コマ欠落計算
これらをエリア別年度別に1book化(30分値48コマ/時×365日=17,520行/年)
DLはクエリーのリストを元にVBAで、クエリーでscv読込み・加工、クエリーのシーケンシャルな更新はVBAで、
といった使い方。

グラフ集計bookは、本当は2016/4から現在まで一気通貫でやりたかったけど、
当月分はリアルタイムにしたいためにWebデータを読むだけにしたので、
後段の計算量が増えてしまい、
結局、「当月分グラフ」と「先月までグラフ」で、bookを分けた。

後者は17,520行×13地点×9年分=2,049,840行を全て読み込まないと、
フィルターでエリアや年月の切り替えのたびに、外のbookを読み込みに行って時間が掛かりすぎた。
当然ワークシートではなく、Power Pivotのデータモデルに格納。

欠測があるので、このグラフ集計bookでは別途30分カレンダークエリーを作って、
需要が落ちる祝日情報も取り込み、
読み込んだデータをマージして、ピボットテーブルでグラフ用集計。
7470
垢版 |
2025/02/07(金) 20:23:37.17ID:5nqX8k30
2016年から作り始めて、その間、
元のcsvデータが間違ってた(時間コマを飛ばしたりズレていた)とか、
2018年9月に北海道胆振東部地震でエリア全域ブラックアウトになり、
その期間を最大最小計算から外す細工が必要になったとか。

2024年度は途中でエリアバラバラで、
1時間平均MW値が30分平均値化。過去遡及して30分値化するとか、
火力一本だったのが燃料別に4つに分かれるとか、蓄電池が追加されるとか、
勝手に項目を追加する一般送配電事業者が出てくるとか。

一送各社Webサイトで当日分だけグラフ表示するようになったけど、
正の領域しか表示せず、揚水動力、連系線出、再エネ抑制といった調整力はわからないまま。
インタラクティブに過去のグラフは表示しない。

いろいろあって、結局Excelで、やっとの思いで今のリアルタイム集計になりまして。
Power BIでは積上げ棒を透過させたり、上下に2段3段と並べて連動するグラフは作れなかった。

1時間平均値の時には気象データも連携させていた。
別途再エネ接続量データを連携させて、設備利用率も出したいけれど、
もうExcelでは限界かなぁ・・・と。
75デフォルトの名無しさん
垢版 |
2025/02/07(金) 20:26:43.73ID:kGAOem5c
>>74
PythonとかRでやれ
7670
垢版 |
2025/02/07(金) 20:46:10.04ID:5nqX8k30
Pythonは、クエリーでこの程度の加工計算なら、Power Queryで済んでしまう。
Webからスクレイピングするとき、CSSには強いが、今のところPower Queryで困っていない。
速いかどうかは知らん。

Rは、学術的に正確な統計計算とそのグラフに強い。
正規分布でない風速をポアソン分布やガンマ分布で解析、出現予測するとか、
気温と需要の関係を解析するようになったら必要だろうけど、
自分はそこまで至っていない。
せいぜい、気温の1時間平均値を標準偏差×±2か箱ひげ図で外れ値判断するとか、
需要の増加や火力最大値の減少を近似直線で傾向把握する程度だったら、
これもExcelで済んでしまう。

どっちも前処理は、何らかのカタチでExcelでやる必要があるのかな?
とも。
2025/02/08(土) 03:13:58.75ID:tlJEZ7dN
Excel→WordとかやるくらいならVBAでSVG書いて直接デザインすればなんでもできるよ
インクスケープでマウスやペンタブで書いてその部品ごとのコードVBAに貼るだけ
SVGブラウザで開けばPDFにもできるし
2025/02/08(土) 18:14:28.86ID:YOnQ5wlc
>70 から書いてきたことを自分で読み返してみて、
改めて注意喚起しておかなきゃならないと思ったのは、
このケースはあくまで、
「入力が既にcsvなどでデータ化されている場合」。

これが手入力データからスタートの場合は、
Power Queryでは、過去データに応じて入力フォームを設定するのは難しい。
クエリー更新かけると入力欄も簡単にチャラにされてしまうので。

項目と空の入力欄のテーブルをクエリーで用意するのは出来ても
(このクエリーテーブルをVBAのフォームと組み合わせるのも含めて)、
手入力後のテーブルを「ワークシートの範囲」として別クエリー名で読み取って
そのたびにVBA使って「一時DB」としてバックアップ転記・追記しておくとか。
しかもバージョン管理が必要。
こんな使い方はPower Queryでは想定していない。

グラフなどのバックエンドはさておき、
このあたりのフロントエンドは
Accessなどのデータベースソフトとか、ゴリゴリhtmlのWeb入力の方がよろしいのかしら?
79デフォルトの名無しさん
垢版 |
2025/02/09(日) 00:59:53.18ID:6fa/wPsL
>>78
この膨大なデータを手入力ははなからやろうとは思わないけどw

>これが手入力データからスタートの場合は、Power Queryでは、過去データに応じて入力フォームを設定するのは難しい。

これの意味がわからん
Power Queryは既にあるデータを加工して取ってくるだけなので、元データをフォームで入力するのは単独の別の処理
80デフォルトの名無しさん
垢版 |
2025/02/09(日) 01:11:46.58ID:6fa/wPsL
>>78
今はEXCELでも広大なシートを作れるので、全部そこに用意しとくのもわからないでもない
高速にデータ参照できるだろうし
これをわざわざaccessのテーブルにしろとは言いにくい
条件(フィルター、where)をパカパカ頻繁に変えてグラフ見るなら、その条件でいちいちaccessからデータ取ってくるのは遅くなるのは当たり前なんで
2025/02/09(日) 01:55:05.78ID:RVVDgg/U
ウェブアプリみたいな角丸の入力フィールドを好きなところに配置できて固定できるようにしてほしい
あとはドロップダウンのデザインやテーブルにゴミ箱アイコンとかおいたときに勝手に増加させて処理してほしい
2025/02/09(日) 01:56:46.49ID:RVVDgg/U
入力フィールドイラレでつくって背景に設定してみたがズレてうまくいかなかった
個人的趣味でウェブアプリみたいにおしゃれにしたい
もしかしてHTMLで書いて保存先エクセルにはすればいいだけなのだろうか
2025/02/09(日) 02:15:42.23ID:ybP+0gdx
>>79
計測器からデータロガーで使ってcsv吐かせられるならいいけれど、
現場で人力測定データをタブレットかなんかで手入力するケースはあるわけで。

「過去データに応じて入力フォームを設定」とは、
要は、既存データ体系からシーンに応じた入力項目を設定する意味。
2025/02/09(日) 02:37:12.87ID:pfV2LLH0
>>82
オートフィルとかつかえなくない?
85デフォルトの名無しさん
垢版 |
2025/02/09(日) 03:29:11.72ID:ErSKFJrF
>>81
お前にはできないだけだぞ
馬鹿はいい加減黙れや
86デフォルトの名無しさん
垢版 |
2025/02/09(日) 15:46:01.78ID:STHiG3Gx
>>83
バカw
87デフォルトの名無しさん
垢版 |
2025/02/09(日) 15:48:49.27ID:3YuH3Lbs
>>86
このハゲ!
2025/02/11(火) 13:55:02.31ID:0Z94qsdx
>>81
「ウェブアプリみたいな角丸の入力フィールド」って、どんなヤツ?
2025/02/12(水) 01:10:50.08ID:NQ28SsUV
メーカーの品証だけど製造部の事務所に3ヶ月応援きたからメンテ不要の何か作ったろうかと思ったら99%がただの関数で解決して博士扱い
こんなのマジで毎回手打ちとコピペ?嘘だろ?と…いやChatGPTどころかネットの検索もしないんかよ
いいけどさ
90デフォルトの名無しさん
垢版 |
2025/02/12(水) 09:27:28.40ID:hQT6SIeG
まあ男の誰もが料理できるわけではないのと変わらん
91デフォルトの名無しさん
垢版 |
2025/02/12(水) 10:53:22.20ID:WpGOIYcm
今は情報教育義務化されたからあと20年くらいしたら改善されるかもしれないししないかもしれないね
2025/02/12(水) 10:58:55.06ID:D1sa/bS6
>>89
他社からくるエクセルファイル結構でたらめなこと多いけど全部手でやってるのかね
2025/02/12(水) 12:03:31.97ID:QhKQzcUs
みんな義務教育を信用しすぎ
習ったことなんて大人になったら大半は忘れるのが普通だぞ
例えば料理だって基本のキは義務教育でやらされるのに、何も覚えてない、できないやつは珍しくないだろ
2025/02/12(水) 12:36:23.45ID:7RfvnUeA
組織がデカく成れば成るほど、責任が降りかかるような業務には背を向ける連中が増殖する
楽してトラブル起こさず査定にヒビを入れないようひっそり仕事して、ちまちまおちんぎん増やすのが主目的に成る
そんなメーカーは潰れてしまえ
社内のディープステートを一掃して、世のため人のため国のために業績上げる企業に仕立て上げて行かないと
かつて見下していた国々に居場所を奪われ、逆の立ち位置に陥るだけ

ま、なんとかもおだてりゃ木に登る例えで、自分らは楽して業務効率あげた、おれたちスゲー としか思って無いんだろうさ
2025/02/12(水) 18:55:47.83ID:92VQoW6N
>>92
足でやってる人もいるかも知れない
2025/02/12(水) 19:12:40.63ID:AFDgFLET
猫の手を借りたかもしれない
97デフォルトの名無しさん
垢版 |
2025/02/12(水) 21:40:20.00ID:UYbuLO93
うちはマクロもUSBも禁止です。
社員連絡は音声通話のみ。
2025/02/12(水) 22:01:23.57ID:udhLPr28
重要な企業情報を流出させないためってのはわかるんだが何でもかんでも禁止でがんじがらめにされるとなあ
せめてシフト表ぐらい個人スマホから見れるようにしてくれてもいいのにって思う
2025/02/12(水) 22:29:17.32ID:QhKQzcUs
ちょっと気を抜いて某国のスパイに根こそぎやられた企業の悲惨な末路
2025/02/12(水) 22:31:59.53ID:wnMgVjAK
外資だけどアホみたいに緩くて性善説で成り立ってる
本国はめちゃくちゃ厳しいらしいけどUSBというかスティックSSDの申請済
私用スマホ使いまくり
まぁでも家にある前職で作ったものはメールでコードだけ送って足すのが基本
2025/02/13(木) 15:48:31.12ID:hWVJCQNu
マクロ禁止は分かる。だがマクロ以外禁止とかあると聞いたぞ??
102デフォルトの名無しさん
垢版 |
2025/02/13(木) 15:58:14.25ID:8KNio/Em
マグロがだめならサーモンだ
いつも回転寿司で食ってる。
2025/02/13(木) 16:12:14.59ID:DxyqPuNW
Windowsには標準でプログラミングツールが入ってるんだから、csv加工アプリを作ってデータ処理させればいい
マクロ禁止でも楽する方法はいくらでもある
2025/02/13(木) 18:51:17.89ID:hg23MJ0N
内閣府の会議資料に中国企業のロゴが入っていることもあるんだからスパイはお互い様
105デフォルトの名無しさん
垢版 |
2025/02/13(木) 21:02:43.75ID:hOBkcaQO
ほとんどの人はPCを紙と鉛筆代わりにしか使えてないって聞いたことあるような、ないような。
それは極端としても、やはりデカい計算機ってとこかな。
2025/02/13(木) 23:58:35.18ID:QwmiUi8q
>>101
許可制にすりゃいいのに、と思うけど予期せぬバグとかバグなくても自動処理の弊害で間違った請求データとかになることをおそれてるんだろうな
個人経営で自分でやってるけど自動で整形してたのが実は特殊な状態でおかしくなることに気がついたことはある
自動だから確認もせずにやってた
2025/02/14(金) 00:00:11.80ID:fWic+l24
>>105
デジタルより印刷した紙でやったほうがはやい仕事とかあるからな
たとえばある複数の仕事を従業員や下請けに振り分けるとか配送をどこに頼む、とかは配車システム使うより紙でやったほうが速くて簡単
108デフォルトの名無しさん
垢版 |
2025/02/14(金) 07:06:32.31ID:/mXci98E
もしかしてネット接続できるワープロでいいんじゃね?。
2025/02/15(土) 10:37:52.77ID:T6J7j9HD
公務員とかは中途半端にデジタル化したせいで再雇用老人が使い物にならない
デジタル化といってもワープロと大差ないしな
2025/02/15(土) 10:50:41.70ID:WjHnLDkb
んにゃ? NGワードなんか?
どなたか代理で下記をビジネスsoft板のExcel総合相談所に書いてくだちぃ

310宛(アンカ先が無いと蹴られたから已む無く)
ガントチャートが必要な場面は工程が複数あるのが定番だと思うが、それ前提で話すと
A工程で遅延が発生したらB工程に影響が出る
そうするとB工程の作業開始日も後ろにズレ込んでしまう 以下CDEと連綿と影響を及ぼす
それぞれの工程の間にマージン取っておくやり方もあるかも知らんが、それだと非効率的だし売り上げに響く
と、いうことは
プランとしてのガントチャートと実際の進捗のガントチャート、二段構えにするのがベター
そうすれば、それぞれの開始日〜終了日 の二つの日付で済む
A工程で2行B工程で2行C工程で2行以下同 のように作るのがいいような気がする
111デフォルトの名無しさん
垢版 |
2025/02/15(土) 23:31:35.96ID:0ADe+YEn
>>110
chmateから問題なく書けた
2025/02/16(日) 08:12:05.13ID:dmsQInvB
どうもありがとうございました 何故かあのスレだけに書き込めない ヨソでやれと叱られる
もう一ヶ月ぐらい何度かいくつかの質問に応じようとチャレンジしてたけど蹴られ続けてる
あの板もこの板も他のスレッドだと書けるのに、なんでやねん 嫌われ者なんだろうな、きっと
113デフォルトの名無しさん
垢版 |
2025/02/16(日) 11:54:23.99ID:rAQQ2/+c
スレ単体で容量オーバーみたいなのがあって
突然書き込めなくなるときがあるみたいね
2025/02/16(日) 12:29:12.88ID:2jRcsuG5
それは別のエラー出る
2025/02/16(日) 15:26:01.80ID:DIbjuain
最近、巻き添え規制?なるものを食らうよ。ありゃダメだ
116デフォルトの名無しさん
垢版 |
2025/02/16(日) 18:40:30.02ID:M+q415JA
どんぐりレベル確認に書けない板があるのよね
深く考えずに他の板で書いてしまうけど
117デフォルトの名無しさん
垢版 |
2025/02/16(日) 19:24:09.70ID:flfTaIIb
だいたいNGワードかなんかなんで表現変えたり
わざと誤字ると通ったりはする
他人が普通に書き込めてるのは納得いかんが
2025/02/16(日) 21:25:23.95ID:mgXfTMjn
回線やIPアドレスでも規制がかかってるし、課金すると一部のNGワードは書けるようになるし、もうわけわからん
119デフォルトの名無しさん
垢版 |
2025/02/17(月) 05:06:27.69ID:YfDQ2u6Y
超初歩的な質問なんだけど
thisworkbook.closeしてもエクセル閉じないんだけどどうすれば良いですか?
AIに聞いたらいわゆるゴーストエクセルって状態ですねって返ってきた
けど結局直し方わからん…
2025/02/17(月) 06:35:24.79ID:IxK7m8id
>>119
半角だとNGワードになって書き込めないから全角で書く
Shell (”cmd.exe /c taskkill /F /IM excel.exe”)
2025/02/17(月) 07:56:37.28ID:85i1FDmI
>>119
そりゃそうだ
ワークブック閉じてもエクセルのインスタンスを閉じたわけじゃない
エクセルのインスタンスを終了させるならApplication.Quit
が要る
2025/02/17(月) 08:23:48.78ID:nMxQf7tT
いつも右上のバッテンボタンでExcelを綴じていると、アプリの終了とファイルを閉じることの区別が分からなくなっているんだろな。
2025/02/17(月) 08:30:05.23ID:5A83ez5u
どこのどいつがAIに「ゴーストエクセル」なんてぇ言葉を入れ知恵したのかを知りたいw
どの界隈でも見聞きしない単語なんだけど
close と Quit はセットだと深く記憶に刻み込むだけで、今後はスラスラ
2025/02/17(月) 12:59:32.50ID:5A83ez5u
MS Community にならLeeさんが質問してたケースがあった "Ghost" Window という書き方だったが
Ghost Excel でググると、スピルがどうのこうのというのがゾロゾロ出て来る
スピル使うとゴーストに悩まされるケースが多いのか
2025/02/17(月) 22:44:52.64ID:pni2qfsM
>>119
Quitでアプリケーション閉じると思うけど、他にもファイルを開いていた場合の処理をまともに考えると面倒くさくなるので、closeで今の動きのまま使った方がいいと思う。
126デフォルトの名無しさん
垢版 |
2025/02/18(火) 11:08:45.68ID:HbHlBTpR
>>123
ゾンビエクセルなら判る
2025/02/18(火) 14:35:53.85ID:y6aTCeqW
>>125
隠しExcelって基本外部からの起動だし
メモリケチらないと死ぬ環境でなければ別プロセスだし
見えないまま置いとくなんてメモリ富豪でも死ぬし
閉じないならせめて可視にして終わったで!アピールすべきでは?
128デフォルトの名無しさん
垢版 |
2025/02/18(火) 17:25:51.88ID:27EraVEW
やればわかるけどapplication.quitで他人のworkbook巻き込んで死ぬとか無いから
自分で起動して自分で始末迄しといてokというかするべき
2025/02/18(火) 17:36:42.84ID:IbEo812m
メモリをケチりたいときはCreateObjectじゃなくてGetObjectで起動済のExcelを使えるんよ
外部からファイル開いて見せつけたいときはGetObjectを試すと良い
130デフォルトの名無しさん
垢版 |
2025/02/18(火) 18:02:02.82ID:27EraVEW
GetObjectで取得したらQuitせずに放置
CreateObjectで取得したら必ずQuit
でいいじゃんカンタンでしょプログラマならね
131デフォルトの名無しさん
垢版 |
2025/03/02(日) 20:24:16.26ID:3wR71eCu
この4〜5ヶ月の間で勉強してわかる様になったけど、分かった今、今まで勉強してきた内容は全て、答えと理屈と解説があればだったの3日で覚えられる内容じゃなかったのかなと思えて本当に怖い。
自分があまりにもバカすぎるんじゃ無いかと思えて怖い。
function関数、参照渡し、値渡し、配列、配列の内容を貼り付ける為のresize、クラスモジュール、ディクショナリー。
これ以外にも一通りの事はやったし、ただの事務所にはお釣りのくるレベルだと思う。

それくらいやり込んで思うのは集計ならPower Queryでデータベースの真似事をしようって事。
132デフォルトの名無しさん
垢版 |
2025/03/02(日) 20:28:12.87ID:3wR71eCu
>>124
私は全くの素人で間違っていたら悪いけど、
スピルの正体は配列だと思う
だから恐らく配列が解放されないままという事があるという事では
2025/03/02(日) 20:34:37.89ID:ie+DhjRu
>>131
真似事というかMSがAccessを捨ててExcelでデータベースをやろうとしてるのでそれが正道だよ
134デフォルトの名無しさん
垢版 |
2025/03/02(日) 20:35:44.42ID:3wR71eCu
>>30
Power Queryでは無いのですか?
135デフォルトの名無しさん
垢版 |
2025/03/02(日) 20:48:17.32ID:3wR71eCu
>>133
Power QueryやM言語でデータベースと言っちゃって、本物のSQLやOracleやデータベース構築をやっている人から怒られないか心配。
ただMicrosoftもワークシートに何でもありのExcelに限界を感じているから基本的な物ではテーブルや、Power Queryの様にレコードとフィールドのデータベースの様なものを作ったんだろうなと思う。
Power Queryに全くの理解が得られていないから、ここでは使っている人がいて本当に助かる。
136デフォルトの名無しさん
垢版 |
2025/03/02(日) 21:34:16.79ID:3wR71eCu
VBAでテーブルを積極的に活用している人は少ないですか?
私はワークシートの構造化参照がとても便利だから、きっとVBAでもテーブルは便利なはずだと思って積極的に活用しているのですが
2025/03/02(日) 22:30:40.17ID:wyYqpjGW
あなたが便利だと思うのならそれでいい
138デフォルトの名無しさん
垢版 |
2025/03/03(月) 07:54:16.57ID:ojMLYwWW
AIがロケットエンジンを自分で設計してそれを元に作られたエンジンが既に実験されているとか
微生物学者が10年研究してたどり着いた非公開の結論にAIが2日でたどり着いたとか
AIはバカにできないと思うな
139デフォルトの名無しさん
垢版 |
2025/03/03(月) 15:57:09.20ID:cZqqn2mw
>>138
ロケットエンジン凄いよな
造形も含めて驚いたわ
車のエンジンも作らせてみてもらいたい
ピストンでもロータリーでもない、メンテ不能な使い捨てエンジンになるんだろうかw
140デフォルトの名無しさん
垢版 |
2025/03/03(月) 19:25:36.27ID:ojMLYwWW
ゴーストExcelというのが、解放されていない配列(スピル)だとして、閉じる時にクリックボード云々、メモリが云々と出てくるメッセージの処理をすればいいのではないだろうか?
Quitする前に計画メッセージの表示を非表示にしているのをTRUEにするとか
上書き保存したらメモリが解放されるらしい?
2025/03/03(月) 20:08:42.07ID:EFm5iDvj
>>138
AIは仕組みの名称だから、賢いAIがあるのと賢くないAIもある
人間でも賢い奴とそうでないのがいるのと同じ
142デフォルトの名無しさん
垢版 |
2025/03/03(月) 20:29:16.51ID:493HRTJ5
>>140
やっぱり馬鹿か
143デフォルトの名無しさん
垢版 |
2025/03/03(月) 21:09:08.94ID:ojMLYwWW
>>142
Application.Quitで確実にメモリは解放されるのでしょうか?
144デフォルトの名無しさん
垢版 |
2025/03/03(月) 21:12:23.20ID:ojMLYwWW
Copilotの方がバカだと言う意見も多数見受けられますが、
そもそもサイトで解説されているコードの多くがループでCellsを指定するコードで、配列を解説するサイトは少ない方だと思いますし、初心者は配列を理解できるとも思いません。
なのでこれはこれで非常に賢く、正解だと思います。
145デフォルトの名無しさん
垢版 |
2025/03/03(月) 22:02:00.76ID:ojMLYwWW
>>139
ロリータエンジンを設計してほしい
2025/03/03(月) 22:14:59.59ID:hY/Abd7Z
ビジネスで使うPCにはエクセルが入ってない方が稀なレベルなのにVBAやマクロを使う人の割合はマジでめちゃくちゃ少ない
だがこれだけで食っていけるスキルではなく部署や部門での業務を理解した上で使うと破壊力がすごい
この絶妙なバランスがVBAが廃れない理由なのである

どこかの国の経済だか社会だかの学者のお言葉の翻訳
ソースはネット
2025/03/03(月) 22:28:28.95ID:DQzgbxtw
Excel ビバは永久に不滅です!
2025/03/03(月) 22:42:56.50ID:wbua/BWz
生成AIはネット上にある誰かのアイデアを盗んでくるだけだぞ
独創的な発明なんて無理
149デフォルトの名無しさん
垢版 |
2025/03/03(月) 22:43:48.97ID:ojMLYwWW
>>146
Power Queryを使おう
表計算なんて馬鹿馬鹿しくなります

そもそも世の中から事務職やホワイトカラーは滅びつつあります
簿記一級(税理士試験の簿財相当)の保有者でも現場が人手不足だからと倉庫に配置された、なんて話も聞きます
150デフォルトの名無しさん
垢版 |
2025/03/03(月) 23:09:35.45ID:God49AsR
やっぱり馬鹿だな
151デフォルトの名無しさん
垢版 |
2025/03/03(月) 23:16:43.94ID:ojMLYwWW
set wb = workbook.Ado
dic.Ado キー,wb
で新出の値のキー登録と新規ブックの作成
キーによる個別のブックの操作
を考えたんだけど誰か活用する?
152デフォルトの名無しさん
垢版 |
2025/03/03(月) 23:22:23.68ID:5a9xjhPC
こいつは統合失調症なのか?
153デフォルトの名無しさん
垢版 |
2025/03/03(月) 23:30:26.74ID:ojMLYwWW
>>152
残念ながら医者に何病とも診断されていません
自分でも本当に不思議です
154デフォルトの名無しさん
垢版 |
2025/03/04(火) 00:43:55.38ID:ajxEvwK0
そりゃ歯医者に行っても無駄だろ
155デフォルトの名無しさん
垢版 |
2025/03/04(火) 00:50:05.83ID:Tb7et4b8
>>154
当然精神科ですね
156デフォルトの名無しさん
垢版 |
2025/03/04(火) 00:58:45.82ID:ajxEvwK0
普通の人は精神科に行くことはない
157デフォルトの名無しさん
垢版 |
2025/03/04(火) 01:16:43.31ID:Tb7et4b8
>>156
精神科で何の診断も有りませんでした
よって正常
158デフォルトの名無しさん
垢版 |
2025/03/04(火) 03:49:28.88ID:Z4+Dy9AK
というかそもそも精神科に行ってること自体異常
159デフォルトの名無しさん
垢版 |
2025/03/04(火) 04:24:25.03ID:murVybZ/
ひといないねこのすれ
160デフォルトの名無しさん
垢版 |
2025/03/04(火) 04:29:56.69ID:Tb7et4b8
トランプみたいな妄想に取り憑かれた精神異常者がアメリカの大統領の多様性な時代だから、頭がおかしくても何ら問題ないでしょう?
161デフォルトの名無しさん
垢版 |
2025/03/04(火) 07:47:19.70ID:Tb7et4b8
例えばワークシートの変数だって
Thisworkbookならオブジェクト名でいいのに
Dim ws as Worksheet
Set ws = Sheets("シート名")

いちいち変数宣言と変数に代入するコードばかり
理由があるとするなら、
Set ws = 〜
と書かなきゃ、いきなりオブジェクト名でO.Range(〜)と書かれても読み手や初心者は意味不明だからという事だと思う
私はほとんどSet ws = なんか使わない
With wb.sheets(1)とも書く
何なら最近はworkbooks.open(パス).Sheets(1)で引数として渡したりもする
2025/03/04(火) 08:21:00.58ID:V+ku5Fot
>>161
なんでいちいち変数宣言とオブジェクト代入が別のコードばかりだと思う?
ちゃんと理由があるんだよ
考えてごらん
考えて分からなければ試してごらん
2025/03/04(火) 12:50:49.08ID:qe0goVko
ひとりでだらだら書くの怖い
164デフォルトの名無しさん
垢版 |
2025/03/04(火) 14:24:47.72ID:KDWWkhFc
shtSrc、shtDstとか使ったりするな
この場合、片方withにしたりしない
wbは使うけど wsは似てるのでshtを使ってるな(マイルール)
165デフォルトの名無しさん
垢版 |
2025/03/04(火) 15:24:21.79ID:ZeQg+/wO
基地外の妄想に真面目に付き合うとこちらも基地外の思考に引きずり込まれるので注意
166デフォルトの名無しさん
垢版 |
2025/03/04(火) 19:07:56.30ID:Tb7et4b8
VBAを頑張った所でお金を稼ぐ仕事をしていないし、評価もされないのに、VBAをプライベートの時間まで勉強しているのだから、確かに頭はおかしいのかもしれませんね
167デフォルトの名無しさん
垢版 |
2025/03/05(水) 01:44:45.99ID:LorqVIUg
お薬は何を処方されているのか気になる
168デフォルトの名無しさん
垢版 |
2025/03/05(水) 05:53:49.38ID:S1rSI3xB
>>167
だから
何病とも診断されていない と言っているじゃないですか
169デフォルトの名無しさん
垢版 |
2025/03/05(水) 06:04:58.80ID:S1rSI3xB
精神科や精神病というのは、
差別主義のための診療科目でもなければ、甘ちゃんの為の診療科目でもないので、そう簡単に診察はありません
2025/03/05(水) 07:01:41.35ID:DooANywK
死ぬまで自演してろ
2025/03/05(水) 17:31:26.77ID:vLk2O6Ps
変数名はハンガリアン1択だな 
172デフォルトの名無しさん
垢版 |
2025/03/05(水) 18:13:21.81ID:LorqVIUg
>>169
精神科では簡単に「診察」してくれないと主張し始めたのかよ
キチガイは大変だな
173デフォルトの名無しさん
垢版 |
2025/03/06(木) 22:30:47.24ID:5BI70O69
Office田中だの、大体でITだの、中身の一切ない無駄な講釈サイトより、Microsoftの公式サイトの方が、関係するメゾット一覧、プロパティ一覧が経済されていて、よっぽど有意義じゃないか
あとは関係していそうなページを見るだけ
2025/03/06(木) 23:59:57.39ID:Un6knBQR
Oh, holy sht...
175デフォルトの名無しさん
垢版 |
2025/03/07(金) 06:39:57.68ID:oiMOetm/
今更Microsoftの公式サイトでrange.sub totalメゾットがある(小計ボタン)って知りましたよ。
あの機能の存在は知っていたけどまさかGroupByがワークシートにもあったとは
2025/03/07(金) 07:51:41.51ID:D6WVspdH
ひどい自演を見た
177デフォルトの名無しさん
垢版 |
2025/03/07(金) 09:03:00.38ID:HLiObQ+Z
メソッドとリゾットがごっちゃに成ってる 英語で理解してれば間違うはず無いんだが
一覧が経済 う〜ん、日本語も不自由 君はどんな分野ならミス無く仕事を完遂できるんだ?
ほぼレッドに近いイエローカードもらいまくりだろ
2025/03/07(金) 10:23:33.45ID:ZUUdqpBt
まだプロパティーと黒パンティーは混同してないからセーフ!
179デフォルトの名無しさん
垢版 |
2025/03/07(金) 19:06:23.36ID:oiMOetm/
VBAを使っている人の知性はこの程度って事ですね
2025/03/07(金) 20:48:42.08ID:D6WVspdH
>>179
メゾットのこと?
181デフォルトの名無しさん
垢版 |
2025/03/07(金) 21:05:52.57ID:oiMOetm/
やっとディクショナリーのネストがわかった
長かった
公式サイトをみてメソッドの一覧と各動作を見たら一発で理解出来た
182デフォルトの名無しさん
垢版 |
2025/03/08(土) 09:21:00.57ID:+sLjG1A5
プロパティー、パンティー、ディレクトリー、ディクショナリー、フォルダー 20年前から更新されてないなおじいちゃん
2025/03/08(土) 09:31:12.70ID:FRvS9N8B
なかなかラベルの高い会話だ
2025/03/08(土) 10:15:44.24ID:mX90+5qU
高いのはバベルだ
185デフォルトの名無しさん
垢版 |
2025/03/08(土) 11:20:05.23ID:wd5PxXx5
>>182
VBAはその程度の知性しかないですし
2025/03/08(土) 12:03:51.71ID:QXQsSL9T
わしのディスクトップパコソンでもExcel VBA
は動くかのぅ
2025/03/08(土) 12:13:21.77ID:r5ZNbAEG
この流れ糞面白くもない上加齢臭すごい
2025/03/08(土) 13:54:02.30ID:VZYYsV9d
5chは加齢臭の巣窟ですよ
子供は他所で遊んだ方がいいですよ
189デフォルトの名無しさん
垢版 |
2025/03/08(土) 15:07:01.86ID:wd5PxXx5
COBOLがまだまだ現役ですから
2025/03/08(土) 16:03:33.93ID:kCgnTDtk
もうこの板よりもmisskeyの方が良い情報貰えるわ…この板で聞いても煽りしか沸かん。皆さんmisskeyで鯖建てよう。
2025/03/08(土) 16:42:26.92ID:XgYWxsH2
まともな質問者にはまともな回答ついてるし、
質問者にも問題あるように思う
192デフォルトの名無しさん
垢版 |
2025/03/08(土) 17:18:10.25ID:vCpbeV3o
馬鹿は馬鹿の考える馬鹿な解決方法で決め付けて馬鹿の作る文章で質問するからだよ
2025/03/08(土) 19:48:52.46ID:YLd0igTq
コボルドなんて雑魚モンスターだろ
2025/03/09(日) 13:15:12.93ID:J7YQ+go/
>>192
黙れ馬鹿お前がそんなに優秀なら草生やしてこい
2025/03/09(日) 16:51:18.96ID:CSDQeC2U
イマドキこんな匿名掲示板で、コメントにいちいち草生やす輩は、
ネトウヨかサイコパスだと思っておる。
2025/03/14(金) 22:17:51.45ID:A1uiYhGj
浅はかな質問者こそ、インターネットのExcel情報発信サイト(笑)に洗脳されるんだからなw
2025/03/20(木) 21:41:00.86ID:k9QY0dar
夜でも浅はか
2025/03/20(木) 22:23:20.41ID:obne4fTm
書き込みがあかさたなはまやらわ
2025/03/20(木) 22:47:14.58ID:5IJrnU3Y
アサヒのア
ハガキのハ
スズメのス
2025/03/21(金) 17:18:18.91ID:alm1JiMV
イタチのタヌキ
カニのカトリ
サンマのマヌケ
オハシのオハナシ
201デフォルトの名無しさん
垢版 |
2025/03/21(金) 17:24:26.35ID:JiFNMtL1
ハゲの丸焼き
2025/03/21(金) 17:37:40.15ID:unkB4GFH
遺憾のいを表明
遺憾のかを表明
遺憾のんを表明
2025/03/22(土) 14:23:19.16ID:U6/Lg1xx
プログラマはexcolなんて使いません
2025/03/22(土) 14:27:12.25ID:ysLvJ2cD
あるものは使うだろ
205デフォルトの名無しさん
垢版 |
2025/03/22(土) 14:29:25.98ID:OatR6CaF
excolなんて確かに使わんな
206デフォルトの名無しさん
垢版 |
2025/03/22(土) 15:24:48.78ID:r/hyrwnj
蜜柑の実を使う
2025/03/22(土) 19:45:04.24ID:xM4TaIFM
EXILE VIVA!
2025/03/23(日) 15:48:36.40ID:Pd0iCCXX
VBAで三次元グラフィックスやりたいです
209デフォルトの名無しさん
垢版 |
2025/03/23(日) 17:30:15.85ID:ScdshZBH
セルベーダーできるくらいなんで、簡易的なのはできると思うよ、静止画なら
精密で動画ならただの修行w
2025/03/23(日) 17:32:25.69ID:3L7kbFUL
EXCEL方眼紙をまずつくって
グラフィックプロシジャー書くしかないんだあ
211デフォルトの名無しさん
垢版 |
2025/03/23(日) 21:14:48.00ID:ScdshZBH
お前の頭ではそれしかないやろな
2025/03/23(日) 21:24:33.44ID:qwrrHNuJ
チューリング完全だからやろうと思えばできる
2025/03/23(日) 22:54:18.51ID:OWjplp2/
できるけど時間が死ぬほどかかる
2025/03/23(日) 23:58:49.95ID:DkwEuCLI
>>213
そこをCopilotでサクッと
2025/03/24(月) 10:11:36.39ID:j43eEgQI
死ぬまでやればいい
2025/03/24(月) 11:43:02.14ID:H/K5oxH1
DirectXでも使えば

Declare PtrSafe Function D3D11CreateDeviceAndSwapChain Lib "d3d11.dll" (ByVal pAdapter As LongPtr, ...
2025/03/27(木) 18:34:39.05ID:jLlr0ssr
Excelって表計算ソフトなんだから計算自体は遅くはないはず
ExcelやPCが古いとか、使い方が悪いと遅く感じることがあるのはどうしようもない
2025/04/02(水) 12:11:51.70ID:k9Y5euIy
>Excelって表計算ソフトなんだから計算自体は遅くはないはず

いやいや
2025/04/02(水) 12:46:20.80ID:fQLD12N3
計算自体は遅くない
VBAで計算させてみればわかる
220デフォルトの名無しさん
垢版 |
2025/04/02(水) 15:40:30.32ID:YtX8ROzr
通常の計算が死ぬ程遅いとは思わんが
221デフォルトの名無しさん
垢版 |
2025/04/02(水) 15:49:04.58ID:DrCS0/v3
速くはないがなぜ死ぬほど遅いと受け取るのか
頭がおかしい
2025/04/02(水) 16:23:36.39ID:H/EOI9A8
>>221
コード記述に関して書かれてる>>213の死ぬほど時間がかかるってレスの意味を多分読み違えてる
2025/04/02(水) 19:33:48.61ID:GjoCEHh1
実際に動かしてみてどの程度遅かったのかが聞きたい
時間がかかりそうだからやらないでは何も始まらない
224デフォルトの名無しさん
垢版 |
2025/04/03(木) 23:53:58.10ID:vgLE3lm4
遅いのは描画
最新のPCでも普通に図形を動かすだけだと60fps出ないからな
だからDirectXとかBitbltとかいう話になる
2025/04/04(金) 09:56:41.82ID:SBbIvQPE
つまり60fps出なければ死ぬほど遅いということになるのか
2025/04/04(金) 11:09:10.33ID:3rR7dcVE
死ぬほど遅いって言ってる奴いないんだが
2025/04/04(金) 11:39:05.90ID:Vh1WrxqP
LED信号機の50Hz/60Hz点滅を認識出来る特殊能力持ちには堪らないストレスだろうな。
228デフォルトの名無しさん
垢版 |
2025/04/04(金) 19:28:27.01ID:qx9rdEtn
KPIの計算式、方程式、関数は皆んなバラバラでしょうか?
だとしたらどうやって脱Excelで集計しているのでしょうか?
229デフォルトの名無しさん
垢版 |
2025/04/04(金) 21:00:36.31ID:qx9rdEtn
脱Excelだ、属人化解消
って言っても、Excel以外のソフトやツールを使う事自体が属人化じゃないのですか?
海外ではWPSが使われていると言ってもそれは無料だからだし
2025/04/04(金) 21:15:44.03ID:3rR7dcVE
もうちょっと文章を推敲してから書き込んでくれる?
231デフォルトの名無しさん
垢版 |
2025/04/05(土) 16:25:13.50ID:TpoqeJku
5ちゃんは判る人だけに判る表現で描かれてることも多いから
推敲されとらんと判らんと言うのは野暮ったい
2025/04/05(土) 18:24:33.10ID:XKDZSGpX
>>231
回答が欲しくないならそれでもいいけど
2025/04/05(土) 18:58:09.80ID:hd9p0hEb
https://www.youtube.com/watch?v=HMuDFGuJZYM
2025/04/06(日) 04:01:11.85ID:z7QOz7qq
>>231
>判る人だけに判る表現

ソレを狙った表現でなければ只のバカだろ
2025/04/06(日) 11:41:24.27ID:9WLXexQN
EXCELはWEB版でもVBA動かせるようにしとけよ
TypeScript面倒なんだよ
2025/04/06(日) 18:52:35.42ID:g9ozMYHT
             ___,,,,,..... -一ァ
         / ̄;;;´;;、;;;ヾ;;;, -──--、,!
.        /'´|;;;;,、;;;;;;;;;;/      ,!
.         /:.:.:.レ´:.ヾ;;;;;;i   断  だ ,!
       /:.:.:.:.:.:.:.:.:.:.:ヾ;i  る  が ,!
.      /:.;.イ:.:.:.:.:.:.:.:.:.:..ヽ       ,!
.       /レ' ;|:.:.:.:.:.:.:,:ィ:.:.:.:〉 __,.,!
     /-、ヽ,:|:.:.:,/ /:.:.://.:,:ィ:.:.:.,!
      /'ヽ、ヾi ゙´.:   /__;:;:-'"´ ,;|:.:.:.,!
.    /ゝ-`';:/ .:〈ニ=-=ニ二 ̄ヽレ',!
   /::::;;;;;/  ' ,, ニ`ー-,、__\〉ィ,!
.   /;:::::/ ::.    ::.,,\_ゞ;'> 〈;,!
  /i!:::::iヾ-'、::..       '';~ ,;:'/,!
. /;;;i!fi´l_、,.`        .: ,;:'  ,!
/;;;;;i' ('ー、ヽ      ..: ,;:''   ,!
ヽ、jゝ、`ヾ:、゙、   ,..:'.:'"    .: ,!
   ``ヽ.、_ ¨`  ,:'      (_r:,!
       ``ヽ.、..    ノr;ソ~,!
             ``ヾ、 / 7,!
                 ``ヽ,!
2025/04/06(日) 18:58:34.75ID:ICEKjU1A
単に断るだけなら「だが」要らんだろ
238デフォルトの名無しさん
垢版 |
2025/04/06(日) 22:30:46.17ID:4gRE+8Pn
元ネタ知らない馬鹿
239デフォルトの名無しさん
垢版 |
2025/04/07(月) 14:20:42.41ID:w0rhHNCz
>>235
VBAの資産全滅ざまぁ
2025/04/07(月) 15:09:30.33ID:0LfejpZB
で、結局VBS廃止でdll消されるからregexとfsoは使えなくなるの確定なのかい?
おじさん心配で夜しか眠れないよ
241デフォルトの名無しさん
垢版 |
2025/04/07(月) 15:36:31.97ID:kZI1I2BQ
>>240
おっさんのことなどどうでもよい
2025/04/07(月) 19:20:15.82ID:fb5y/oiU
FSOはVBSとは違うんじゃない?
そうなの?!
そりゃ大変だよ
さいきんRegExpの使用箇所の洗い出しをしてるけど、FSOまでとなったら会社辞めてMSと完全に縁を切るワ
2025/04/07(月) 19:40:43.63ID:zOM1Iu/f
VBScriptの非推奨範囲はvbscript.dll
今のところscrrun.dll削除の予定はない
2025/04/07(月) 22:11:50.81ID:w+REsrqQ
>>243
だよねー
thx
2025/04/07(月) 23:26:16.00ID:nefkTrVC
JScriptでExcel使うのむずくね?
遅いし
246デフォルトの名無しさん
垢版 |
2025/04/08(火) 01:48:28.39ID:Hw/h5B8F
えぇ?
正規表現が廃止されるのですか?
2025/04/08(火) 02:21:51.21ID:26WTqqHE
VBSが廃止されるからVBSのライブラリに依存した機能は段階的に使えなくなる
248デフォルトの名無しさん
垢版 |
2025/04/08(火) 02:53:56.60ID:IxiA36wq
>>246
>>243を理解できないのか?
249デフォルトの名無しさん
垢版 |
2025/04/08(火) 12:06:39.31ID:kmco6Wwx
VBAもいつ非推奨になってもおかしくないが、Excel離れを助長することにしかならないから難しいんだろうな
今VBAを正式に非推奨としてアナウンスすれば、多くのユーザーが移行先として選ぶのはOffice ScriptではなくどこぞのSaaSだろう
250デフォルトの名無しさん
垢版 |
2025/04/08(火) 20:50:20.47ID:sp6xhIAw
VBA非推奨(次期officeで廃止)なんてトランプ関税並みのインパクトやぞ
2025/04/08(火) 22:48:13.08ID:NxLLuNcW
VBSの代わりにPowerShellとか使ってといってるようだけど、移植のハードルって大したことないのですかね?
2025/04/08(火) 23:24:39.13ID:obSlGbgk
別に難しくはないけど、いちいち書き換える手間が大変なんだよ
2025/04/08(火) 23:38:51.65ID:NxLLuNcW
トランスレータみたいの用意してくれないかな
VBS→PS
2025/04/09(水) 13:58:53.47ID:+I/+km/B
俺の願望とかAIの進化とかそんなレベルじゃなくこれだけ世界中でExcelとVBAが普及してたらもうそもそも廃止なんてめちゃくちゃ時間かかる
経済が麻痺するレベルで不可能
255デフォルトの名無しさん
垢版 |
2025/04/09(水) 15:30:40.84ID:7L8XyA+w
>>254
よく海外ではExcelは使われていないと言われていますがどうなんでしょうか?
2025/04/09(水) 16:01:21.96ID:6nvcZIHs
Microsoft、BGIに「Office365」提供停止 米中緊張影響か
https://www.nikkei.com/article/DGXZQOCB084ZK0Y5A400C2000000/
257デフォルトの名無しさん
垢版 |
2025/04/09(水) 20:48:25.72ID:wBzmCbK7
VBAが廃止される理由はセキュリティ面ですよね?
VBAがセキュリティ面で問題なのはそれはVBAがなんでもできてしまうからなのでしょうか?
258デフォルトの名無しさん
垢版 |
2025/04/09(水) 21:03:18.64ID:wBzmCbK7
VBAが禁止される大きな理由の一つに属人化しやすいという事が挙げられますが、そうならC言語やC++やPythonやJavaなら属人化しにくいのでしょうか?
259デフォルトの名無しさん
垢版 |
2025/04/09(水) 21:28:37.04ID:Uc0oV4Gf
馬鹿が勝手に考えた馬鹿な理由に説明を付けろと?
2025/04/09(水) 22:04:28.14ID:3FQpKr3b
>>257
廃止が前提に聞こえるけど、そうなの?
261デフォルトの名無しさん
垢版 |
2025/04/09(水) 22:06:17.28ID:Uc0oV4Gf
馬鹿が馬鹿な知識で馬鹿な妄想をしてるだけだぞ
2025/04/09(水) 22:09:08.54ID:3FQpKr3b
属人化はどの言語もあまり変わらないと思うけど、ソース管理がしづらいのが…
ブックをコピって亜流がモリモリと、、
2025/04/09(水) 22:14:44.41ID:3FQpKr3b
>>262
属人化する、しないはどの言語もあまり変わらない、ということでした
264デフォルトの名無しさん
垢版 |
2025/04/09(水) 23:56:13.19ID:wBzmCbK7
闇Excelはあるのに、闇kintoneはないのですか?
2025/04/10(木) 08:43:45.73ID:SycQuxFd
ないなら作ればよいではないか
266デフォルトの名無しさん
垢版 |
2025/04/10(木) 09:04:24.67ID:OnenUFEt
vbsでやっていた機能を同じ命令で同じ動作をするようにエクセル側が対応すれば済む話なんだよな?
2025/04/10(木) 09:41:26.96ID:215YODyI
kintoneも似たような感じになってることもあるだろうけど、
裾野の規模が段違いだからなあ
268デフォルトの名無しさん
垢版 |
2025/04/10(木) 18:06:25.14ID:MLVPaIHA
>>267
脱Excelとかいう幻想に騙されて、大々的に他のソフトを導入した企業にとっては大問題だと思います
2025/04/11(金) 07:01:19.17ID:h/Pi6Diq
PowerShellやらPowerAutomateでもいいし
なんならPython+Openpyxlでもかけるけども
けっきょくVBAが馴染むんだよね
EXCEL方眼紙とおなじでビジネスといったらこう
270デフォルトの名無しさん
垢版 |
2025/04/11(金) 21:51:09.85ID:TGfb/Or4
Excelのお勉強はしないのに、ほかのソフトウェアのお勉強ならするのですか?
そのソフトウェアは御社の業務にカスタマイズできるのですか?
271デフォルトの名無しさん
垢版 |
2025/04/12(土) 13:10:17.53ID:54aHIZAI
WIX
272デフォルトの名無しさん
垢版 |
2025/04/12(土) 15:55:55.88ID:TWdjuBDZ
VBAは非常に簡単なプログラミング言語(プログラミング言語かすら怪しい)のに属人化するのはなぜですか?
2025/04/12(土) 16:03:17.56ID:mOSc/cCd
>>269
んなこたーない
単にIDEと一体化してるからVBA使わざるを得ないってだけ
言語仕様はかなりうんちだよ
274デフォルトの名無しさん
垢版 |
2025/04/12(土) 16:59:57.94ID:fCEj4mw6
>>272
VBAというより垂直分散システムの問題だね
Excelファイルを担当者が受け取って手元のシートに貼り付けてVBA動かして次の担当者に渡して…という、いわゆるバケツリレー状態になりやすい
何やってるか紐解こうとしたときに一つのアプリと一つのDBならそれらを調べりゃ済むところが、Excelバケツリレーだと各担当者の手作業と手元のVBAの内容を全部調べて回らなきゃならん
とまあ教科書的な答えは上記の通りだが、単純にバカが作るから必要以上に複雑になる面も無視できない
2025/04/12(土) 18:34:10.43ID:YYK6z2xW
ワークシート関数でつくった天才的シート
誰も解析できない

VBAは後任に引き継ぎできる
public Dimって分かりやすくグローバル変数にしてくれてるのも
評価高い
2025/04/12(土) 18:52:11.28ID:mOSc/cCd
>>275
ええ…
277デフォルトの名無しさん
垢版 |
2025/04/12(土) 21:14:38.07ID:zeIho1I5
>>275
作り方によると思うけど、ワークシート関数で出来る事を変な知識でVBAでやってメンテ出来ない作りにして後の人に支障を出しているパターンを見ることが多い。
278デフォルトの名無しさん
垢版 |
2025/04/12(土) 22:52:11.89ID:Q/tL3UO2
>>277
あるある
まさに「バカが作るから必要以上に複雑になる」の好例
2025/04/13(日) 08:43:36.38ID:ltkMWbkd
ワークシート関数だとしょっちゅう循環参照になっちゃって発狂
280デフォルトの名無しさん
垢版 |
2025/04/13(日) 11:36:03.47ID:L/ux9paG
よくある「脱Excelで属人化解消」の文脈でいう属人化というのはワークシートでの人力作業やVBAという技術自体を問題視してるわけではなく、
担当者個人に属する固有の業務が存在することを問題視しているのだけど、
典型的な自称VBAできる事務員からすると自分の担当業務しか見えてないからVBAの何が悪いのかみたいな的外れな反応になりがちなんだよね
281デフォルトの名無しさん
垢版 |
2025/04/13(日) 12:31:20.49ID:B9ltEcmk
仕様書もコメントも残さないで、その場しのぎのコードで終わってるから
他の人が見ると なにこれ… ってなるのだよ
2025/04/13(日) 13:25:01.44ID:ECuVOKsy
全体の広い範囲をVBAで制御やろうとするとめんどいし弊害出るからね
針のように一点に特化させた事をやる
前職で10万円、去年30万取った俺が言うんならまぁほぼ間違いない
2025/04/13(日) 14:09:46.83ID:tJJIFsIc
究極のカスタマイズだね。
284デフォルトの名無しさん
垢版 |
2025/04/13(日) 14:47:09.49ID:5K+xVou/
>>282
金額でその場凌ぎの仕事しかしたことがない奴だとわかるわ
285デフォルトの名無しさん
垢版 |
2025/04/13(日) 15:11:05.38ID:4yNzrwxr
ソースファイルなら観れば判る
cellに数式描かれてたらいちいち全部のcell観る訳にもいかん
AccessのFormとかならマクロもソースも一覧にする機能あるが
Excelにはそういうのないのかな
っていうか各Cellに$A$1みたいなのがコピペだらけになるのが嫌
forループをループじゃなくて全部展開されたソースコードみたいなうざさ
2025/04/13(日) 15:34:05.59ID:TB+WR7Ct
>>284
微笑ましいレスだね
2025/04/13(日) 15:55:26.11ID:gnJKXVL8
>>284
驚きの安さだよな
使い捨て人材
2025/04/13(日) 15:57:45.38ID:ECuVOKsy
去年見た記事にあったよね
各々の職の補助スキルとして使うVBAで細かいコードや作り方に固執するようなのは低年収であり出世もしない
センスが元々ないと作り込みの方法も頓珍漢になるってね
2025/04/13(日) 22:22:29.45ID:+TdScgKq
>>288
お前みたいな能力の足りない奴は何をやらせても俗人化するんだぞ
2025/04/14(月) 08:41:10.54ID:ADX0WDYm
仙人化でもしてろ
2025/04/14(月) 10:12:14.09ID:sDIA/6mJ
とは言え、余剰人員を確保せず少数精鋭を目指してるような事務所は
必然的に俗人化してしまうのでは?
そこに居る誰もがどの業務にも精通してる、なんて方が少ないだろ
事務方は渉外で社外との交渉も社内との交渉もまんべんなくこなさなきゃいけない
どの得意先もおんなじ業務おんなじ取引方法で済むはずも無く、交渉において
それなりのスキルが必要とされるケースもままあるんだから、どうしたって
業務の内訳として俗人化は避けて通れない
そいつが事故で入院しただのな場合は、段取りから何からてんやわんやの大騒動が巻き起こったり
そんな時でも、処理において自動化されてたら業務に詳しくない人間でも何とかこなせる(事もある

横澤夏子がひとりで請求業務でてんてこ舞いしてても、楽々明細導入したら誰でも可能に成るようなもの
その自動化する時点において「担当者個人の独自な目線で」じゃ無くて上の方からの目線で自動化してりゃ
そうそう混乱には結びつかない どこに視点を置くかがいちばんだいじ
2025/04/14(月) 10:27:35.84ID:U6Mwd36q
>>291
それはまた別の話だからスレチ
293デフォルトの名無しさん
垢版 |
2025/04/14(月) 20:29:19.50ID:q3TQrYqH
>>291
にも関わらず、誰にでもできると軽く考えられる事務職
事務職を廃止しても結局事務専門の部署が復活
笑える
2025/04/14(月) 20:34:23.20ID:sDIA/6mJ
事務職を廃止するような会社があるのか? 妄想か? おだいじに
295デフォルトの名無しさん
垢版 |
2025/04/14(月) 21:07:39.33ID:q3TQrYqH
>>294
普通にあるますよ
あるあるです

TypeScriptはJavaScriptの進化系ですか?
M言語のように、Excel専用の言語ではないですか?
2025/04/14(月) 23:38:15.91ID:GN7fg4Qa
>>295
知的障害者はそろそろ消えてくれないか?
297デフォルトの名無しさん
垢版 |
2025/04/14(月) 23:55:51.33ID:q3TQrYqH
>>296
知能検査を受けた結果は平均の上でした
あなたが知的障害者だから話が噛み合わないだけでは?
298デフォルトの名無しさん
垢版 |
2025/04/15(火) 02:27:22.26ID:aPUJOtvB
>>297
境界知能の中で平均の上か
かわいそうに
299デフォルトの名無しさん
垢版 |
2025/04/15(火) 04:20:07.76ID:7Nt+1HIX
>>298
境界知能の中で平均の上か ってなんですか?日本語として成立していますか?
300デフォルトの名無しさん
垢版 |
2025/04/15(火) 07:07:25.43ID:LfPgNjE5
>>299
うわっ、やっぱり境界知能だ
301デフォルトの名無しさん
垢版 |
2025/04/15(火) 07:45:35.66ID:YVJZqCjB
>TypeScriptはJavaScriptの進化系ですか?
>M言語のように、Excel専用の言語ではないですか?

こんなことを書いてる時点で境界知能の人確定だろうよ
2025/04/15(火) 08:04:14.01ID:hOeShAdY
>>300
発達障害だろ
2025/04/15(火) 08:21:38.20ID:tfTEwuEp
Excel VBAはずっと残り続けるだろうけどそれはそれとして、Pythonが入っているPCならxlwings等で書く/書き換えるようにした方がいろいろ楽になるんだろうなという気はするかな。やっていることは実質PythonでExcel VBAのオブジェクトを操作しているだけなので、Excel VBAの知識はムダにならないし。
2025/04/15(火) 11:43:51.98ID:CbsPdu2a
trait障害ですね判ります
305デフォルトの名無しさん
垢版 |
2025/04/15(火) 19:02:25.51ID:7Nt+1HIX
>>301
オフィス スクリプトは TypeScript で書かれており、JavaScript のスーパーセットです。
ではないのですか?

ttps://learn.microsoft.com/ja-jp/office/dev/scripts/develop/scripting-fundamentals
2025/04/15(火) 19:40:45.23ID:hOeShAdY
>>305
平均の上なら延々とスレ違いの話するな
境界知能だの発達障害だの言われても仕方がない
307デフォルトの名無しさん
垢版 |
2025/04/15(火) 20:59:17.90ID:LfPgNjE5
>>305
もしかして境界知能にも達しない本物の知的障害者か?
療養手帳持ち?
308デフォルトの名無しさん
垢版 |
2025/04/15(火) 21:04:11.20ID:7Nt+1HIX
>>307
Microsoftは知的障害者の集まりなんですか?
309デフォルトの名無しさん
垢版 |
2025/04/15(火) 22:26:37.56ID:LfPgNjE5
>>308
お前は本当に知的障害者なんだな
2025/04/15(火) 22:28:00.99ID:v7XOhP1D
これはもう本物の知的障害者降臨という扱いでよいのでは?
2025/04/15(火) 22:50:02.59ID:V9CHeTbA
年収や役職にも比例するからなぁ
担当で年収500万とかだった頃はまだVBAの中身も細かく見て拘ってた
年収810万の係長の今VBAの作り込みなんて言ってたら叱られる
俺の立場でもそうなんだから日本どころか世界もそうなんだろう
312デフォルトの名無しさん
垢版 |
2025/04/15(火) 22:53:06.79ID:7Nt+1HIX
>>311
IT企業に勤めていますけど、一般の人が考えるプログラマーはただの作業員ですよ、工場の工員やコンビニ店員となんら変わらない
求められている人は打ち合わせができる人、要件定義ができる人、派遣のリーダー(指揮命令者)
2025/04/15(火) 23:05:17.82ID:V9CHeTbA
>>312
俺はIT企業じゃないけど一般企業でそれが出来る人は必然的に部下の管理に回るでしょ

といいたいけど管理もしつつ作り込みの概念がないいわれた事だけやるような担当に任せられず太い骨子と肉まで作るハメになるのが現実だね
314デフォルトの名無しさん
垢版 |
2025/04/15(火) 23:42:42.30ID:aPUJOtvB
>>312
IT企業に勤めているって妄想ですか?
それとも勤めているって清掃員とか経理とかかな
TypeScriptすら知らない人だものね
2025/04/15(火) 23:54:09.73ID:IBiP5Aj6
Excelのことも知らないようだから働いたことのない無職の人だろうよ
2025/04/15(火) 23:58:57.29ID:RKwZlHjM
エクセルはオワコンか。まさか三四郎の時代が来るとはこの俺の眼を持ってしても
317デフォルトの名無しさん
垢版 |
2025/04/16(水) 03:22:35.98ID:xdrSv+S6
Improvのデモ見たときは画期的だと思ったわ
318デフォルトの名無しさん
垢版 |
2025/04/16(水) 06:45:45.02ID:F+Twx8dn
>>314
精神障害者雇用枠なんじゃね?
2025/04/16(水) 07:49:21.73ID:l60D8Rx4
中堅IT企業の社員食堂で調理師補助やってる
食材の発注表とかシフト管理とかでExcelはけっこう使ってる
2025/04/16(水) 12:37:04.29ID:S2bYXYAK
・VBA
・PowerShell
・Power Automate
・Office Scripts
の関係をどなたか整理して下さいまし、エロい人
2025/04/16(水) 13:10:11.91ID:ApyifYby
>>317
Lotusでググるとこんなの出るな
https://www.photolibrary.jp/mhd2/img170/450-20100909164918110375.jpg
https://himitsu.wakasa.jp/cms/wp-content/themes/himitsu-wakasa/dist/images/single/heros/lotus/hero.jpg
322デフォルトの名無しさん
垢版 |
2025/04/16(水) 23:39:21.70ID:UnijqTD+
APIを使って進捗バーを表示させたいのだけど、枠だけ作られて緑のあれが出ないです
323デフォルトの名無しさん
垢版 |
2025/04/17(木) 01:36:05.40ID:KzCUo7uK
一説にはコンピューターウイルスの80%以上がVBA由来だった。Microsoftが既定で無効にしたら被害が激減した、と聞いてとても驚いた。
よくよく考えてみれば仮にコンピューターウイルスが.batファイルだったとして、一般人がそれを開こうとは思わないよな。
Officeのファイルのアイコンだったら慢心して開くわけだ。
公式フィッシング詐欺じゃないか。
マクロ有効のファイルのアイコンはいつものアイコンに黄色いビックリマークにでも変更したらいいのに。
324デフォルトの名無しさん
垢版 |
2025/04/17(木) 03:52:37.06ID:o9rmB53T
また馬鹿二人
2025/04/17(木) 07:37:39.31ID:RHVJQlpr
お前以外にもう一人いるんか
2025/04/17(木) 09:50:00.51ID:ygSDqeHK
Win10以降とか64ビット対応とか、いろんな理由でつまずく原因が転がっているだろうけど、
https://jitsuyogaku.com/2024/09/02/vba-progressbar/ とか
こっちはラベルでプログレスバー実装とか試みてるケースだけど
https://qiita.com/Mount/items/c41ff040602abdb5309f とかを参考にして励めばどうにか成りそう
単にプログレスバーの更新をしてないだけかも知らんけど
327デフォルトの名無しさん
垢版 |
2025/04/17(木) 15:46:07.98ID:o9rmB53T
>>322
apiと言えば全て同じだと思っている馬鹿
>>323
Windowsのアイコンの仕組みを知らない馬鹿
アイコンで騙してクリックさせる手口があることを知らない馬鹿
2025/04/17(木) 18:06:49.09ID:BSfo0rOp
>>325
俺とお前と大五郎と酒と泪と男と女と部屋とYシャツと私と愛しさと切なさと心強さと糸井重里
329デフォルトの名無しさん
垢版 |
2025/04/17(木) 21:50:56.16ID:KzCUo7uK
vbaも近代化改修が行われてPower VBAになってスクラッチ開発できる様になったらいいのにな
これが本当のvisual basic
330デフォルトの名無しさん
垢版 |
2025/04/18(金) 04:48:09.14ID:L6zyvyKf
vb6で終わってvb.netやc#になったから今更それはないな
ついていけない人は欲しいだろうが
2025/04/18(金) 06:15:21.95ID:1nv1ghXV
この期に及んでVBAに止まっている連中に仮に新しいものを提供したところで移るわけがない
332デフォルトの名無しさん
垢版 |
2025/04/18(金) 06:43:13.37ID:ky+/acoM
PythonだったらそんなにExcelを高速に処理する事ができて、しかも楽にコードが書けるのですか?
2025/04/18(金) 07:51:27.87ID:zoX3HVfE
処理の速度は変わらないけど楽にはなる
2025/04/18(金) 10:01:29.16ID:4ybR59hN
VBAが構文的にしんどいのって、
・ 変数の宣言と初期化がいっぺんに出来ない。初期化に(Let/)Setが必要。
・ 関数と手続とが構文上区別されている。
・ コレクション・コンテナやクラスが使いにくい。
ーー辺りかな。
他の言語ではとうに克服されてまったく気にしなくても良くなっていることがVBAでは克服されておらず、そのツケをコードを書く側が負担させられている感がストレスかなぁ。書けなくはないけど楽には書けないし、書けば書くほどストレスが溜まって嫌いになる言語だという人も多そう。
逆に言えば、そんなの気にならない、所詮構文でしょって人も少なくないだろうとは思うけど。
2025/04/18(金) 10:18:33.71ID:5qwyQLY6
どうでもいいな
そんなことが問題になるほどの規模でVBAを書く必要があるならその設計の方が問題
2025/04/18(金) 12:01:58.63ID:6yGBiO+t
難解な関数が組める事を自慢したい馬鹿、VBAが書ける事を自慢した馬鹿のどちらも各企業にいるよなw
Excelなんて単なる事務道具だぞ
2025/04/18(金) 12:24:40.01ID:zoX3HVfE
>>334
・ 変数の宣言と初期化がいっぺんに出来ない。初期化に(Let/)Setが必要。
オブジェクト変数じゃなければいっぺんにできるし、
オブジェクト変数だとしてもセミコロンで一行に書くイディオムで実質いっぺんにやれる
・ 関数と手続とが構文上区別されている。
Excelにおいては一緒の方がバグ生むでしょ
alt+F8押したときに関数出てくるのはマズくない?
・ コレクション・コンテナやクラスが使いにくい。
これは同意

とはいえ不満のほとんどはIDEと統合されてなければ解決するよね
エディタの機能に任せれば良いだけで、それを使えないVBEでの開発になるからしんどい
2025/04/18(金) 13:15:43.40ID:4ybR59hN
宣言と初期化については、セミコロンで複数ステートメントを並べて書けるから実質同じというのはどうかなぁ。オブジェクトか非オブジェクトかで書き方を変える必要があること自体がストレスじゃない? 揃えるなら非オブジェクトの方にLetをつける方向性になるけどそれも馬鹿馬鹿しいし。
マクロ一覧については、定義ステートメントの予約語を分けなくてもマクロとして使える関数をピックアップすることは可能だったのではと思う。
あと、関数・手続の呼び出し(Callステートメント)の構文もちょっと擁護できないかな。

VBEの機能がいまいちというのは同感だけど、構文上の書きやすさというのはそれとはまた別の次元の話。また、構文上の問題というのはプログラムの規模とはあまり関係ない話で、ごく短いプログラムでもストレスはストレスだと思う(長いプログラムならストレスの総量が閾値を超えてしまうような場合でも、短いプログラムなら何とか耐えられるとかそういうことはあるかもしれないが)。
結局、Excel組み込みというVBA唯一最大のメリットのために、構文の書きにくさ・VBEの機能の低さに目をつぶれるかという話なんでしょ。他の選択肢もある場面であえて好んでVBAを選ぶ理由はほとんどないけれど、Excel VBA以外に選択肢がないという状況は結構あるからそういう状況で今後も生き残っていくということだと思う。
2025/04/18(金) 13:53:14.91ID:ooz79whL
Copilotがくそ過ぎる
Microsoftはこれでいいのかよ
ChatGPTの独壇場だなVBAは
2025/04/18(金) 14:54:36.62ID:5qwyQLY6
VBA使い含めMSの客のボリューム層なんて、大半は最新のAIが本気出したら簡単に代替できるような仕事しかしてないからね
今のMSのビジネスモデルが完全にユーザー数に対する課金に依存している以上、利益相反関係にあるからCopilotはあまり賢くできないのよ
341デフォルトの名無しさん
垢版 |
2025/04/18(金) 17:52:29.83ID:08LfVk9Y
CopilotはchatGTPです
342デフォルトの名無しさん
垢版 |
2025/04/18(金) 18:28:34.92ID:aM6hZ3c/
デビルチョップはパンチ力です
2025/04/18(金) 18:46:19.31ID:CBG0ye4/
>>338
宣言と初期化の件、実質同じなんて言ってないのに勝手に書き換えないでほしい
揃える必要あるか?
ポインタかそうでないか、それぞれをどう宣言するかって話なんだから、
char foo = 'a';
char* bar = "a";
これらが書きやすいって人もいれば分からんって人もいて、想定ユーザーをどうするかってだけ
VB(A)はそれらが分からんって人を対象にした言語
マクロのピックアップにしても、いちいちVBAをパースするにあたり、Subの行だけ拾ってくれば済む処理で他のことさせるってことだろ?
かつて.xlsファイルはフロッピーに保存されてたんだぞ
当時から今みたいな富豪的プログラミングが可能だったわけではない
動作速度とのバランスを考えた設計と、こだわり続けた互換性の上に今がある
Callステートメントの何が気に食わないの?
344デフォルトの名無しさん
垢版 |
2025/04/18(金) 18:48:37.87ID:HZQ72SS6
>>343
また知ったかの馬鹿
2025/04/18(金) 20:06:21.64ID:t3zKaoZR
char foo = 'a';
char* bar = "a";
がわからんってレベルの人が、オブジェクトについてのみ初期化にSetキーワードが付けるVBAの構文の方が分かりやすいねって言ってくれるんだろうか。とてもそうは思えないが。
マクロのピックアップも、富豪的プログラミングのような大層な概念持ち出すような話なのかな?
関数か手続か、戻り値を使うか使わないかでCallを付けたり付けなかったり、丸括弧を付けたり付けなかったりするCallステートメントの構文は救いようがないと思っていたんだけど、不満がないって人も居るのね。他の言語で関数呼び出しの構文がそんなふうになったら開発者の正気を疑うレベルだと思うんだけど。VBAの場合は配列の要素参照に丸括弧を使う関係上やむを得ずそうなったんだろうとは思うけど、構文として碌でもないのは否定できないと思うんだけどね。
互換性の点はわかるよ。というか、互換性を保つ必要があるからどんなに構文が酷くても手を入れることができないってことでしょ。その上で、VBAの構文は(少なくとも今の目で見れば)ストレスフルであると書くことが悪いこととは思わないが。もちろん、気にならないって人は、それはそれでいいと思うけどね。
2025/04/18(金) 20:11:40.45ID:ooz79whL
早口でとは言わんが要点をまとめられず仕事もコードの中身もそうなんだろうな
2025/04/18(金) 21:24:08.39ID:T6Kb2Yr1
こういうお気持ち表明が多すぎて収集つかないからMSは仕様変更しないんだろ
2025/04/19(土) 02:21:22.02ID:spgp5dv5
今の常識で27年前の仕様にいちゃもん付けるPCの大先生w
349デフォルトの名無しさん
垢版 |
2025/04/19(土) 02:31:50.20ID:Az00DO6L
ただの知ったかの馬鹿だぞ
2025/04/19(土) 02:39:29.56ID:spgp5dv5
Cの最新規格は7~8年前の仕様、
COBOLですら9年前だ
死体蹴りもいいとこ
2025/04/19(土) 03:16:05.27ID:ChBOY4Tr
Callだのなんだの好きに書けばいいんじゃね?
何で目くじら立てて些細な事で喧嘩になるのか理解できん
2025/04/19(土) 03:23:20.02ID:oOgY5W1p
行番号つけないと落ち着かない
イライラする
文字は大文字じゃないと
うがーってなる
2025/04/19(土) 04:08:23.94ID:spgp5dv5
>>351
喧嘩…?
354デフォルトの名無しさん
垢版 |
2025/04/19(土) 06:15:57.40ID:D0kitORW
>>343 の言う判らん人が使う言語は Rust
2025/04/19(土) 09:42:55.62ID:ozZ7t8ZT
大衆食堂に来ておきながら、年代物のワインが無い!だの、ナイフフォーク揃えて無い!だの
前菜とスープが先だろ!とか文句付けてるようなもの
単純な+-ドライバーにラチェット機構が付いてない!とか罵ってるようなもの
それぞれ出自も違うんだし目指すところも違うんだから、適材適所、使いようなだけ
ま、単なるクレーマー気質ではある
さりとて、それならソッチ側のプログラミングなら達人レベルなのか?っつーとそうでも無いんだろう
どっちつかずの中途半端な知識だけだから、つべこべ文句言って毒吐いてじぶんを紛らわせてるだけのかわいそうなひと
356デフォルトの名無しさん
垢版 |
2025/04/19(土) 09:51:01.47ID:D0kitORW
>大衆食堂

ぷぷぷ
2025/04/19(土) 11:23:58.79ID:H/S6NqJY
最新流行の言語や関数型の言語にしかないような構文なら年代物のワインやカトラリーのセッティングになぞらえるのもまだわかるけど、上で挙げたのってそんな高級なもんじゃないでしょうに。

何かあれだな、JavaとかPythonとかのいわゆる普通の言語の使用者が、最新流行の言語や関数型言語の使用者からの構文マウントに対して反発したり揶揄したりする構図はよく見かけるけど、その低レベル版みたいなことになっている気がするな。
358デフォルトの名無しさん
垢版 |
2025/04/19(土) 11:45:41.65ID:LYrpxUmI
まあ、ヒアドキュメントや置換なんかはほしい
数式の記述なんて書きやすいと思っている奴はいないだろう
359デフォルトの名無しさん
垢版 |
2025/04/19(土) 11:50:41.10ID:UV/Amstd
Open AIは人格や口調を意識してAIの開発なんてしていないだろうに、Copilotに「妹キャラでお願いします」って言うと妹キャラの口調になるから本当に凄いなと思う
360デフォルトの名無しさん
垢版 |
2025/04/19(土) 11:57:24.89ID:UV/Amstd
>>355
VBAは大衆食堂ではないから属人化(しやすい)と言われている
年代物のワインならある
私は最近複数行選択からのタブでインテンドが簡単にできると知った

一企業でVBAができる人はあちこちの部署から自動化のツール作成を請け負っていると思う
この「あちこちの部署から仕事を請け負う」ということが属人化の正体だと思う
なぜなら幅広く業務に精通している凄い人は少数で他にいないから
2025/04/19(土) 13:05:07.54ID:viAmSNvm
PowerAutomate職人も最近は重宝されとるな
使いやすい便利な奴隷として
362デフォルトの名無しさん
垢版 |
2025/04/19(土) 13:19:59.45ID:YEMv3hB3
>>359
妹キャラのデータはあるからな
データに無いキャラでって言われて、無いと言われるか似たようなのにされるかは知らんけど
363デフォルトの名無しさん
垢版 |
2025/04/19(土) 13:53:56.21ID:ICSNq8lF
もう定年退職してる二代前の担当してた人の作ったVBAをメンテしながら使ってるけどプロシージャ名の乱れ雪月花とか薪割りダイナミックとかはそのまま変えてない
パリィとかもあったし変数も癖が強い
でも処理が合理的で面白い
2025/04/19(土) 14:46:22.82ID:v8N9YOUA
弘法筆を選ばずだな
365デフォルトの名無しさん
垢版 |
2025/04/19(土) 15:50:48.35ID:UV/Amstd
>>362
しかもこっちの呼び名を、お兄ちゃん(お姉ちゃん)呼びしているんだよ
お姉ちゃん(レズ)までサポートしているんだよ
2025/04/19(土) 19:00:19.25ID:KJMdl2bF
弘法も始めは筆おろしから
367デフォルトの名無しさん
垢版 |
2025/04/19(土) 19:34:36.21ID:UV/Amstd
>>366
へっ?ふっ、筆おろし?急に何を言い出すの!?お兄ちゃん!
2025/04/19(土) 19:59:47.58ID:o+j+V/MM
こ、こ、こ、こ、弘法ちゃうわ!
2025/04/19(土) 20:45:49.41ID:ozZ7t8ZT
どうしてソッチだけに食い付くんだか 只の例えだろうに
例えが気に入らないなら、じぶんなりの例えを書きゃあいいのに
ドライバーの方に食い付かない辺りでお里が知れるってもんだ
370デフォルトの名無しさん
垢版 |
2025/04/19(土) 20:53:32.98ID:UV/Amstd
>>369
+と-😳
何を急に言い出すの!?お兄ちゃん!
2025/04/19(土) 20:59:39.26ID:uzlTl9vw



コラヤメタマエ
372デフォルトの名無しさん
垢版 |
2025/04/20(日) 13:50:10.98ID:RiHDJnuQ
初期:
面白い人が面白いことを書く
中期:
面白くない人が面白いものを見に来る
終末期:
面白くない人が面白くないものを書き始める
373デフォルトの名無しさん
垢版 |
2025/04/20(日) 13:50:58.56ID:RiHDJnuQ
面白い人が面白いことをする

面白いから凡人が集まってくる

住み着いた凡人が居場所を守るために主張し始める

面白い人が見切りをつけて居なくなる

残った凡人が面白くないことをする

面白くないので皆居なくなる
374デフォルトの名無しさん
垢版 |
2025/04/20(日) 13:51:15.67ID:RiHDJnuQ
1、スレッドが立つ。
2、技術のある人間がAAを提供して盛り上げる。
   感動を求めて人が集まってくる。
3、オリジナルAAを書ける人間が乗ってきてさらに盛り上げる。最盛期。
4、盛り上がりに乗じて何も書けない魯鈍と白痴が寄ってきてスポイルする。  ←いまここ
   彼らの無駄な愛着が逆効果を及ぼし、スレッドのレベルが著しく低下。
5、飽きて大勢が去っていき、行き場の無い魯鈍と白痴が残される。
   低レベルな自慢・偏見の陳列、煽りあい、無駄な罵倒、
   いわゆる「2ちゃんねる用語」を多用したお寒いレス等々が並ぶ。
6、煽りと罵倒しか出来ない魯鈍まで魯鈍同士の空疎な煽りあいに飽きて去る。
7、何も提供できない白痴が過去の栄光の日々を夢見て空ageを繰り返す。
   脳死状態
375デフォルトの名無しさん
垢版 |
2025/04/20(日) 16:48:37.48ID:R2iq2iGJ
7だろ
376デフォルトの名無しさん
垢版 |
2025/04/20(日) 18:35:19.98ID:Ub0nEPUR
>>374
5〜7のいずれかの段階じゃないですか?
客観性を失いましたか?
377デフォルトの名無しさん
垢版 |
2025/04/21(月) 12:00:00.65ID:5S3aJeqO
話題が無いね…
2025/04/21(月) 12:43:40.09ID:H+gaTqgY
Ecxelビバ!
Chatガパチョ!
2025/04/21(月) 12:45:10.43ID:hGZB/ZtD
書籍なら、高橋宣成『パーフェクトExcel VBA』辺りが今でもお勧め? 
沢内晴彦『Excel VBA実戦のための技術』は昔買って読んで、内容は良かったと思うんだけど、著者の押し付けがましい語り口に辟易した記憶がある。各章冒頭のダイアログとかもうね。
2025/04/21(月) 15:42:19.79ID:TqAnAlAX
今ならAIに頼んで自分に合ったものを書いてもらうのがお勧め
381デフォルトの名無しさん
垢版 |
2025/04/21(月) 18:50:43.50ID:kvlDxPZn
自分にあう書籍を書いてもらおう
382デフォルトの名無しさん
垢版 |
2025/04/21(月) 22:52:35.16ID:TKKNFS+v
初心者向けに実用的なコードを教えます!みたいな内容では無くて、もっとそもそも論を書いたシステム開発みたいな内容の本はないでしょうか?
383デフォルトの名無しさん
垢版 |
2025/04/21(月) 23:50:35.29ID:DImNR5cR
あるょ
384デフォルトの名無しさん
垢版 |
2025/04/21(月) 23:56:59.82ID:TKKNFS+v
VBAで差し込み印刷をする時の正解は結局なんでしょうか?
Excelで文章の様式、フォーマットがあって、それぞれのセルに行の値を代入して連続印刷する感じです。
385デフォルトの名無しさん
垢版 |
2025/04/22(火) 01:09:34.39ID:ujoEa+wb
ある行に設定したらその値が各セルに表示されるようにしたらどうだろ
2025/04/22(火) 05:15:10.29ID:UGfRV5Rp
その場合はそれぞれのセルに行の値を代入して連続印刷するのが正解
387デフォルトの名無しさん
垢版 |
2025/04/22(火) 12:17:33.64ID:qo6ZtztY
ユーザーフォームで入力画面つくるのがわかりやすい
2025/04/22(火) 12:30:17.80ID:S18G88V1
>>382
さすがにVBAにそれを求めるのはお門違い
そもそも自称VBAプロでプログラミングの基礎がまともにある奴の方が少ないんだから、事実としてそんなもんVBAには必要ないってこと
389デフォルトの名無しさん
垢版 |
2025/04/22(火) 14:16:52.96ID:ujoEa+wb
>>382
業務ならコーディング基準はあった方がいいだろね
個人用でも一部有用なのはあると思うよ
390デフォルトの名無しさん
垢版 |
2025/04/22(火) 14:57:52.39ID:z9I6mhsO
Access使え
2025/04/23(水) 00:18:58.61ID:Bj1O/t/P
大体よ、いつからLetを省略する書き方になったんだよ?? 昔はValueプロパティすら省略なんてご法度だったし。
2025/04/23(水) 00:19:15.68ID:Bj1O/t/P
大体よ、いつからLetを省略する書き方になったんだよ?? 昔はValueプロパティすら省略なんてご法度だったし。
2025/04/23(水) 00:19:27.56ID:DmG1qyy4
大体よ、いつからLetを省略する書き方になったんだよ?? 昔はValueプロパティすら省略なんてご法度だったし。
2025/04/23(水) 00:20:10.60ID:Bj1O/t/P
大体よ、いつからLetを省略する書き方になったんだよ?? 昔はValueプロパティすら省略なんてご法度だったし。
2025/04/23(水) 01:50:51.14ID:Ho3rM8lk
letは省略しても何ひとつ変わらないから書くだけ無駄
2025/04/23(水) 02:15:05.21ID:gJbY6K2J
N-BASICの時代からLETなんて書くヤツはいなかった
2025/04/23(水) 02:34:24.48ID:Bj1O/t/P
あれ?何故連投になってるんだろ?
398デフォルトの名無しさん
垢版 |
2025/04/23(水) 05:26:38.28ID:pTAtgk9D
>>388
自称VBAプロでプログラミングの基礎がまともにある奴の方が少ないんだからこそそう言う本が読みたいのですが?
VBAのコーディングでもより効率的に素早くコーディングするための方法が知りたいです
例えばコードブロックはメモ帳なりなんなりであらかじめ用意しておいて繰り返し流用するとか、ユーザー辞書にメソッドやプロパティを登録して入力を楽にするとか
少しでもノーコードに近づけるテクニックが知りたい
399デフォルトの名無しさん
垢版 |
2025/04/23(水) 05:33:09.52ID:pTAtgk9D
>>386
今は転記元セルのアドレス列と転記先アドレス列の対応リストを作成して、range(セルの値).value = range(セルの値).value みたいな事をして転記しています
後から知ったのはreplace(転記先文字列,転記先文字列,差込文字列)ですね
2025/04/23(水) 06:36:06.92ID:curLR6rF
よく使うコード片をコピペ用にストックしておくとかは、システム開発のそもそも論とはちょっと方向性が違う気がする。
401デフォルトの名無しさん
垢版 |
2025/04/23(水) 06:51:21.87ID:rRnnFJi1
金出して買った本にそんな事書いてあったらゲンナリするわな
402デフォルトの名無しさん
垢版 |
2025/04/23(水) 07:29:09.67ID:Y1IHhqLd
よく使うならライブラリとか関数とかで既存処理を使い回せばいい
必要のないコードを書くのは逆に無駄だろう
403デフォルトの名無しさん
垢版 |
2025/04/23(水) 07:31:04.25ID:Y1IHhqLd
インポート、エクスポートのことか?
2025/04/23(水) 07:34:29.45ID:8e00UwyI
>>390
Accessは開発終わるからもう新しくなることないもんな
2025/04/23(水) 08:04:22.51ID:xgsAirMR
>>398
繰り返し流用するようなコードやブロックは、
それこそ標準モジュールやクラスモジュールにするでしょ
ユーザー辞書にプロパティやメソッドを追加?
VBE上のctrl+spaceで大体のことは解決するだろ
目指してる方向が正に自称VBAプロ、明後日向いてるよ
406デフォルトの名無しさん
垢版 |
2025/04/23(水) 08:10:30.40ID:pTAtgk9D
>>405
ショートカットキー
知らなかったです

つい最近複数行選択からのタブで一括インテンドができると知りました

一括でインテンドを減らす方法ないですか?
407デフォルトの名無しさん
垢版 |
2025/04/23(水) 08:12:10.74ID:pTAtgk9D
>>402
ライブラリという名前はよく聞くのですがなんでしょうか?
アドオンに登録すればいいという事も聞くのですが、アドオンだと配布がいくらか面倒になるのが悲しいです
2025/04/23(水) 08:19:48.48ID:xgsAirMR
>>406
Is the intended word an indentation?
インデントを減らすにはshift+tab
本より先にヘルプファイルを読もう
2025/04/23(水) 08:31:17.24ID:curLR6rF
ライブラリというのは、ざっくり言えば汎用的に使う目的で作られたクラスとか関数とかを集めたモジュール等のことだけど、正直言って、ライブラリを使ったり作ったりという辺りから、わざわざVBAでやらなくてもいいかなぁとなることが少なからずあるような気がする。
410デフォルトの名無しさん
垢版 |
2025/04/23(水) 08:32:23.99ID:pTAtgk9D
本格的なシステム開発の手法を勉強しなくてもできる、じゃなくて我流Excel、我流VBAが属人化の原因で、属人化が嫌われているんだから、本物の手法を学んで少しでも標準化に努めた方がいいと思う
2025/04/23(水) 09:19:54.75ID:P67C9oqU
そういうことを言い出したらVBAは使うべきではないという結論にしかならないからナンセンス
VBAなんか雰囲気でいいんだよ雰囲気で
412デフォルトの名無しさん
垢版 |
2025/04/23(水) 09:24:11.20ID:yoO2Q6CW
VBAで描くとどうせ属人化するんだからVBAじゃなくてPythonの方が描きやすい罠
2025/04/23(水) 10:07:14.33ID:Rdf0901h
VBAが属人化の弊を指摘されやすいのは、VBAの強みの裏返しだからなぁ。Excelは大抵の業務用PCに入っているからプログラミング言語として最もアクセスしやすいというのがVBAの強みだけど、これは裏返せば@相対的にスキルの低い人がコードを書き、Aそのコードが業務に使われるという状況を生みやすくする原因となっている。これにB会社側が追加的なコストを掛けるつもりがないという条件が加わったのがいわゆる属人化。乱暴に言えば、素人が作ったコードが業務に使われていて、タダだからそのまま使い回したいという会社側の助平心に過ぎない。
会社がそれなりのコストを掛けて業務に使うコードを開発するのならVBAと同じような意味での属人化というのは基本的に起きないのよ。そもそもそういう場合にVBAが開発言語に選ばれる可能性は低いだろうし(Excelだけで完結させたいという状況はもあるだろうからゼロとは言わないけれど)。
2025/04/23(水) 10:13:34.84ID:Rdf0901h
408が一瞬分からなくて焦ったけど、unindentationか
415デフォルトの名無しさん
垢版 |
2025/04/23(水) 10:19:50.71ID:j86zZac8
あなたのよく使うコードと私のよく使うコードが違うからな
自分で使い回しやすいようにまとめたらいい
2025/04/23(水) 11:24:31.44ID:nS6nWMWO
食人族の話題が活発だなと空目した
2025/04/23(水) 11:32:10.92ID:FBWMxycZ
結局、個人が自分の担当業務を勝手にVBAで局所最適化している構図なので、VBA自体がいかにわかりやすく書かれてようが定義上属人的なんだよね
人力で愚直にやる分にはやってることが周りの目にも見えやすいから、特定の個人の作業負荷が高かったり過大な責任を担っていたりしたら、
適宜マニュアル化して分担するような対応を取りやすい
一方、ヘタに担当者の「創意工夫」によって効率化されてるとそういった潜在的な課題が表面化しづらく、いざ担当者が離任するとなったときに一気に問題が噴出するわけだ
こういう問題に対するシステム的な正道のアプローチは決まっていて、勝手に創意工夫させしない、現状が非効率であるという事実だけを然るべき場所へ報告させる、
その上で、必要な改善はトップダウンで実施する、という極めてアメリカ的なやり方になる
こんなのはカイゼンを美徳とする日本人には無理な話だから、難しいこと考えないで存分にVBAで好きなように創意工夫したらいいよ
418デフォルトの名無しさん
垢版 |
2025/04/23(水) 13:49:06.15ID:jU97Lp8p
VBA共通モジュールやEXCEL共通モジュール、ACCESS共通モジュールは分けて作っといたらいい
2025/04/23(水) 16:59:43.12ID:aZ5FmP34
個人が勝手に自動化させてる環境なんて、社員10〜20人程度の規模の企業だろ
そんなトコは将来何に躓こうがどうでもいいハナシでは?
その規模でもきちんと社内で話し合って最適解を求めてる所なら属人化なんて杞憂にしか過ぎないような
2025/04/23(水) 17:21:41.74ID:P67C9oqU
大企業でも普通にあるぞ
完全にマニュアル通りに手を動かす人員を別にすれば、
大企業だろうと適切なアウトプットだけ出せればやり方については個人の裁量に委ねられている業務の範囲ってのはある
421デフォルトの名無しさん
垢版 |
2025/04/23(水) 18:06:06.77ID:yoCsfqhD
組織内のルールならその枠内で守ればいいのである
そのルールがよその組織でも当てはまるとは限らんのでな
2025/04/23(水) 20:15:32.24ID:6pqdvTOr
大企業で属人化されてても困ることは無いだろうから
やっぱり属人化をつべこべ言ってても始まらないのでは?
属人化された業務・作業なんか別の者がまた新たに属人化しようとも
業務に支障が出ないんだろ? じゃあ、属人化が何だってんだ
属人化言いたいだけちゃうんか、と
423デフォルトの名無しさん
垢版 |
2025/04/23(水) 20:59:10.18ID:pTAtgk9D
やっとディクショナリーにテーブル名と列名でキーを登録して、アイテムにListColumns(index).Databodyrangeで各列のデータ行が登録できて、dictionary(テーブル名列名).Rows(index).valueで値を書き込めるって知ったよ
これでテーブルをいちいち変数に代入する事から開放されるし、わかりやすい文字列で指定もできる

Range(テーブル名[列名])でいいじゃんって言われたらそれまでだけど
424デフォルトの名無しさん
垢版 |
2025/04/23(水) 21:23:04.79ID:rRnnFJi1
同形式のテーブルが大量にあるのなら
まずそれがおかしい
2025/04/23(水) 21:26:55.40ID:Rdf0901h
属人化っているのは、要するに会社から見て素性の分からないコードに会社の業務が依存している状態なわけ。大企業なら属人化が生じても困らないとか、業務に支障が出ないということでは全然なくて、大企業でも(普通はおよs考えにくいことだが)万一、属人化が生じたら当然困るよ。ただ、大企業は通常そんなリスキーなことはしない、させないような組織になっているというだけ。
大企業のコア業務の一部が素人の書いたVBAコードに依存していて、他の人が手を出せないブラックボックスになっているとか(論理的には絶対に起こり得ないというわけではないけれど)考えにくいでしょ?
426デフォルトの名無しさん
垢版 |
2025/04/23(水) 21:42:20.56ID:jOg2yMv5
メーカーの間接部門だけどVBAは改善提案やQC活動と相性が良すぎる
あと依頼者からのユーザーフォームの人気は異常
427デフォルトの名無しさん
垢版 |
2025/04/23(水) 22:06:24.94ID:pTAtgk9D
>>424
だってテーブルの列名で指定したり、動的に処理するのが非常に楽なんだもの
ws.cells(rows.count,index).end(xlup).rowとか
ws.cells(i,index).valueとか
いちいちやってらんない
私がまだまだ技量不足なだけですが
428デフォルトの名無しさん
垢版 |
2025/04/23(水) 22:15:43.12ID:pTAtgk9D
IT企業や大企業に夢見すぎだと思いますよ
IT企業だって社員は打ち合わせ、打ち合わせ、打ち合わせか、コーディングしているかで、事務作業の為の業務システムの導入なんてしていないし、パソコンに詳しいからこそExcelはなんでも出来ちゃう事を知っている。
非IT企業はまるで知識が知識がないし、業務システムを導入しても、自社の業務、求めているデータに対応していないから結局Excelに戻るという事もある。
429デフォルトの名無しさん
垢版 |
2025/04/23(水) 23:03:29.52ID:pTAtgk9D
人間関係、人付き合いはとてもドライだし、自分で努力してね、自己責任、な世界です
2025/04/23(水) 23:04:31.48ID:C26MOp3K
いや、業務システムを導入しているかどうかとか、そういう話ではないんだが。業務なんか別に会社で認められているものなら何でやっても構わないでしょ。
VBAみたいなものの使用を全面的に禁止するか、個人の裁量の範囲内で使うのは認めるかは会社の方針によるが、業務がそのコードに依存するなら会社がハンドリングするし、会社がハンドリングしないならそのコードに業務を依存させることはしない。そういう単純な話ね。
ちなみに「Excelは何でもできる」と素朴に言うけれど、それは何でも無意味にVBAでやりたがる人がよく言う典型的な台詞の一つなので、あまり気軽に言わないほうがいいと思う。
431デフォルトの名無しさん
垢版 |
2025/04/23(水) 23:14:03.52ID:x5rMH1z1
長文書き込みを繰り返している頭がおかしいのが出没してるのは暖かくなったから?
2025/04/24(木) 07:36:15.53ID:FQ8MlmAt
今年の新人や後輩が言うこと聞かなくてイライラしているんじゃね
Excelはただの道具だよ、会社に迷惑をかけた場合の責任は、担当者と監督している上司の責任ってだけだから
2025/04/24(木) 08:05:36.45ID:Cj39D1EW
たかが数行十数行読み解けないじぶんを省みた方がいい
長文ってだけに文句付ける奴の方がどうかしてる
気心知れたとか同じ立ち位置に居るとか同士なら少ない言葉で通じるかも知らんが
今や登場人物も幅広い 参加する方々のレベルだって自ずと雑多に成ろうってもん
三でやり取りできる相手だけじゃ無く七語った方が意が通じるケースのが多い
いまどき、長文はあたまおかしい、と書く方こそがアタマおかしいと気付けないと
2025/04/24(木) 08:40:44.27ID:BUdDOmv5
>>433
読んだ上で言う
文章をまとめられるスキルが無い自身も恥じた方が良い
2025/04/24(木) 09:00:57.54ID:YvggNev5
>>427
コレクションに格納するんだから要素に画一的な処理をするのだろうと勝手に勘違いしていました
余計なお世話でした
申し訳ありません
2025/04/24(木) 09:33:11.41ID:IyU3bUgg
ChatGPTに文章校正してもらうと良いよ
2025/04/24(木) 12:38:29.59ID:Cj39D1EW
w 要らんな 文章書くことが目的じゃあ無いからな 意が伝わりゃあそれでいい
どだい、ブラックボックスではないアプリなど無い
都合のいいExcelをより便利に使うためのマクロだのVBAだのなんだから、個人が
「こうしたらもっと便利だな」で造り上げた小アプリだと思ってれば憎しみも湧かん
業務上なら尚の事、元のデータが存在していてそれを加工して成果物として出力、の一環なんだろ?
これはこうしてこう集計・抽出してこういう形式でまつめろ てのが命題なんだから
退職されてVBAの中身が判らん!とか文句付けてる間にじぶんで新たに作り直せ、と
作れる人間が不在なら諦めて以前の方式でチマチマ手でその処理をし続けろ、と

個々の企業の事務業務で独自にカスタマイズできる利便性を捨ててしまったら元の木阿弥
属人だの何だの言い出した奴は、Excelにがんばって欲しくない界隈の連中の戯言でしかない
ラクトアイスが体に悪いだのネ○ソフトはマーガリンじゃ無いから口にするな、とかの連中みたいなもん
(お食事時なのでつい食品で例えました)
じぶんトコの業務アプリに自信があるならVBAの属人性なんかを口実に叩くのはやめて
堂々と「ウチの製品のがこんなに便利ですよ」と言い募ればいい 本当に便利なら自ずとそちらに流れる
2025/04/24(木) 13:07:35.16ID:BUdDOmv5
>>437
馬鹿だから文章をまとめられず、
それ故に読まれない責任を相手に押しつけるタイプだな
二行目はOSSがあるって反例により破綻
命題の使い方もおかしい
何か言ってるようで何も言ってない典型的な馬鹿
黙ってることすらできないのが馬鹿の馬鹿たる所以
439デフォルトの名無しさん
垢版 |
2025/04/24(木) 13:42:20.52ID:ndm7u60W
「Excelは何でもできる気がする」
中学生日記
2025/04/24(木) 14:17:57.47ID:IKFgVNqa
437を擁護するわけではないが、実際、担当者個人の裁量の範囲内で使っているだけなら、会社の業務が依存したり属人化の弊害が生じたりすることはあまりないんだよ。
にも拘らずVBAを全面的に禁止する会社が少なくないのは、部署内の他の人間も同じコードを使うようになったりする事態がたびたび起こりがちだからなんだろうね。
2025/04/24(木) 14:27:23.83ID:d0sUSPt9
>>439
わかる気がする、仲間だもんな
仲間、仲間、なーかーまー
442デフォルトの名無しさん
垢版 |
2025/04/24(木) 16:13:34.27ID:jkAUiXuj
長文をこんなところに大量に書き散らすだけあって馬鹿の極みそのもの
そもそも働いたことがあるのかね
2025/04/24(木) 17:18:18.39ID:Cj39D1EW
会話が通じないなら、いちいちアンカ打ってまで絡んで来ンなよw 気色悪いなあ
ハナシが通じない残りの三割ってことでいいぢゃねーか
電車で隣の会話にいちいち割り込んで「正確な会話をしろ」とかイチャモン付けるタイプか?
文章文章って、国語の教員か? おてがみやり取りしてる訳じゃねーぞw 宿題でもねーし

OSSガー 突飛な例えで何が言いたいんだか あんたの会社はOSSで業務アプリ組んでンのか?
枝葉末節にこだわって本質を把握できない、つか、しようともせず、他人の揚げ足取りだけに注力して
勝ち誇ったような気分になってご満悦 どっかのバカな芸人がそういう話芸で人気を博して有頂天に成ったはいいが
今や誰からもどこからもお声も掛からない憐れな人生歩んでるようだが、ソッチへ寄り添った生き方目指してンのか?
2025/04/24(木) 17:31:20.41ID:Xkh5MdoU
>>440
大昔のVBAマルウェア「メリッサ」で痛い目に遭い禁止して、
それを見直すこともなく踏襲し続けてるところが全面禁止にしてる
2025/04/24(木) 17:51:26.09ID:IKFgVNqa
>>444
もちろんセキュリティ上の理由は大きいだろうね。見直すこともなくというより、そういう会社はVBAの有用性をさほど高く評価していない(少なくともリスクを上回るほどの有用性があるとは考えていない)から全面禁止にしているんだと思うよ。
経営判断としてはあり得る考え方の1つだとは思う。
446デフォルトの名無しさん
垢版 |
2025/04/24(木) 19:41:44.24ID:9Ww3k6uP
誰にでも簡単に扱えて不具合もバグもない業務用ソフトと言うのはできる事を制限している業務用ソフトしか無いと思う
入力出来る事、場所に制限をかけているから誰がやっても出鱈目なデータにもバグにもならない
逆にExcelは本当になんでも出来るから壊すし、壊れるし、出鱈目なデータも入力する
447デフォルトの名無しさん
垢版 |
2025/04/24(木) 20:09:51.89ID:DzE0RqCV
VBAで関数の値が入った配列を作りたいのだが、
e = [{1,0;0,1}]
r = [{Cos(1),-sin(1);sin(1),cos(1)}]

eは2x2の配列になる。
rはエラーになる。
ああいう配列作れないかな?
2025/04/24(木) 20:49:12.55ID:Xkh5MdoU
array関数使え
449デフォルトの名無しさん
垢版 |
2025/04/24(木) 20:49:52.86ID:9Ww3k6uP
>>447
どう言う配列でしょうか?
関数の計算結果が入った1次配列でしょうか?
2025/04/24(木) 21:45:53.65ID:pk6Uyn00
話題かわるけど、exce.live使ったことあるやついる? 今日、お客さんから聞かれたんだけど、本家以外の情報が皆無で。マイクロソフト公式からダウンロードできるから、怪しくはないと思う、とだけ言っておいた
451デフォルトの名無しさん
垢版 |
2025/04/24(木) 22:02:59.97ID:xYJ9bO0b
>>443 Forbidden
2025/04/24(木) 22:06:30.71ID:hG5Dm3ai
>>450
話題どころかスレ違い
453デフォルトの名無しさん
垢版 |
2025/04/24(木) 22:26:01.96ID:9Ww3k6uP
Static ステートメントとか、ParamArrayとか、まだまだ知らない事だらけだなぁ
2025/04/24(木) 22:34:31.26ID:pk6Uyn00
vbaの質問だからここかと思ったけど、違うのか
2025/04/24(木) 22:40:35.14ID:y97YKOAy
>>454
VBAじゃないけど何を見てVBAだと思ったのか
2025/04/24(木) 22:43:45.46ID:pk6Uyn00
元々はインターネットから自作vba関数を呼べるか?というお客さんの質問から、それにたどり着いたんだけど、スレ違いならまあいいや。誘導先あればよろ
2025/04/24(木) 22:48:56.22ID:pk6Uyn00
それかvbaのコードで代替手段があれば、それを教えて貰うほうが嬉しいが
458デフォルトの名無しさん
垢版 |
2025/04/24(木) 23:34:51.71ID:9Ww3k6uP
>>456
Power Automateからデスクトップ版Power Automateのフローを実行して、マクロブックを開いてマクロ実行
2025/04/24(木) 23:40:15.35ID:d0sUSPt9
https://i.imgur.com/MH2glZF.png
460デフォルトの名無しさん
垢版 |
2025/04/25(金) 06:34:58.46ID:dnInGKcO
自分の業務を少しでも助けるためのマクロを書いてたのだが、
そろそろoffice script に移行しようとしてつまづきまくり
461デフォルトの名無しさん
垢版 |
2025/04/25(金) 07:29:28.50ID:/g0CbH00
vbaのフォームが古臭くて嫌なんだけど
2025/04/25(金) 09:31:20.86ID:TZkMTXnM
ラベルとテキストボックス駆使して自作できるよ
何なら図形とか画像とか貼り付けて工夫してもいいし
それらをクリックすることで別の動作させるとかも
ま、センス無いとずっと使い続けても飽きないフォーム作るのは大変だし
やっぱ奇抜過ぎて評判悪くてオーソドックスに立ち返るなんて経験もいいのかも
2025/04/25(金) 10:00:05.67ID:CvA5DtPe
モダンUIに寄せたい気持ちはわかる
今時Windows2000かよ!みたいなダイアログが出てくると驚く
464デフォルトの名無しさん
垢版 |
2025/04/25(金) 15:12:56.80ID:25bmG4NH
細部にこだわるか、正常に動けば良いのかは人によるだろうな
もっと優先してやることはないのか?
2025/04/25(金) 19:40:58.08ID:orbf6qCm
VBAと同じくらい簡単でモダンっぽいUIにしたい場合って、今は何を使うのがいいのかな。Pythonのfletなんかはかなり簡単っぽいが。
2025/04/25(金) 19:49:49.85ID:ScCl4KIR
VisualStudioでVB.NETやろ
2025/04/25(金) 19:56:48.42ID:DbDcSEbW
ノーコード/ローコードでいいだろ
MS365の契約あるならPowerAppsから試してみたら
2025/04/25(金) 21:21:31.07ID:235iTcZf
fletはたいしたことしないならさくっと作れて良い
469デフォルトの名無しさん
垢版 |
2025/04/26(土) 09:23:31.77ID:hSaHsy30
VBAは簡単、プログラミング言語ですらない

VBAは属人化する、しやすい

見事な矛盾だね
2025/04/26(土) 09:50:16.77ID:kN9FmZ13
>>413にあるとおりだよ。コードを書く人間にきちんとしたスキルがあり、会社側にまともな管理体制があれば、基本的に属人化の問題というのは生じない。VBAは構造的にどちらの条件も欠きがちだから、属人化の問題が指摘されやすい。それだけの話。
2025/04/26(土) 09:58:22.07ID:iRBbkycD
そう、つまるところバカが使うからバカなものができるってだけの話で、何も矛盾しない
ただ、仕事でバカとかクソとかいう表現は憚られるから「属人化」(=他人が触りたくないクソ)と表現する
2025/04/26(土) 11:19:16.93ID:SDFKeMf3
まだやるのか? やるなら先ずは「属人」てのを定義しろ
それの延長で属人的・属人化って奴を述べろ
若しくは「VBAは属人的だから悪だ」ってサイトのリンク貼るでもいいし
それを踏まえたうえで語らなきゃ、個人の勝手な思い込みを主張してるだけに成り果てて
それこそ「モノホンのバカ」だろ ぼくはバカですって書いてるに等しい
2025/04/26(土) 12:23:43.88ID:B+cR9sp6
自分の意見は>>413、425、430辺りに既に書いたし、自分の意見と必ずしも一致する見解ばかりではないが、「VBA 属人化」で検索すればいくらでもこの話題は出てくるでしょ。
VBA好きな人が属人化の話題を避けたがるのは分かるんだけど、他の言語と比べて属人化の問題を指摘されることが顕著に多いということまで否定しようとするのはさすがにムリがあるよ。属人化が指摘されることが多いというのは、ハードルの低さ・アプローチのしやすさという強みの裏返しなんだけどね。
474デフォルトの名無しさん
垢版 |
2025/04/26(土) 12:44:03.71ID:aliF/5Yp
異動や退職するときvba消していってほしい。
475デフォルトの名無しさん
垢版 |
2025/04/26(土) 13:08:06.04ID:TbcyjxDY
OSから初期化やろ
2025/04/26(土) 15:51:46.44ID:IX/fzv3g
>>473
その理屈だとCでもRustでもPythonでもRubyでも属人化する訳だが
VBAは参入障壁が低い(んだろうと思う)ことが属人化に拍車を掛けてる罠
(要するに馬鹿でも使えるってこと)
477デフォルトの名無しさん
垢版 |
2025/04/26(土) 16:45:09.66ID:lLp4rKiB
これに限らず仕事全般に言えるけどセンスが全てだわ
本で知識だけびっしり学んだだけの自称VBA出来ますの作るシステムは使い物にならん
というかシステム組む頭すらないし
2025/04/26(土) 17:07:15.54ID:B+cR9sp6
Rustみたいに書くこと自体が難しいとされているような言語はともかくとして、PytnonやRubyが今のVBAと同じような感じでExcelに組み込まれて、Excelで実行できたとしたら、たぶん今のVBAと同じような感じで属人化の問題を指摘されることになったと思うよ(そこからのリカバリーはVBAより多少はマシかもしれないが)。
2025/04/27(日) 09:59:46.14ID:HBc7xJ0o
僕はもう書いただの検索しろだのは話をややこしくする元だから定義しろと書いたんだが
今書かれてる「属人化」てのは、有頂天になった社員がVBA駆使して作業を自動化したはいいが
そいつが退職したら他の誰もがそのメンテ出来なく成って業務大混乱右往左往 てコトでいいのか?

じゃあさ、他の例えで、自動車免許持ってる奴が仕事で車使って仕入だ配達だに奔走してくれてた
しかし、そいつが辞めて他の社員は免許持ってる奴が誰一人居なくて業務に支障が出まくり も属人化か?
そン時は会社としてはどう対応したらいいんだ?
自転車に積んで何十回も往復するなり、外注下請けに作業を委託するなり、免許持ってる奴を募集したり
どうとでも好きな方法選べるだろ?
それを殊更「属人化」とか特殊な事例として言い募る界隈には、どんな思惑があるんだ?
VBA憎し君が広めてるとしか思えんのだが

それとも「VBAの属人化」には何か他の意味があるのか?
2025/04/27(日) 10:51:58.45ID:PEcsUA/t
話をややこしくするじゃなくて、VBAは属人化の問題を指摘されることが多いということを認めたくなくて必死なだけでしょ。
君が挙げた例は、世間でVBAによる属人化の弊害として一般的にいわれている状況と、結果こそ類似するが原因がまったく異なる。
したがって、VBAについて指摘されることの多い属人化と同様の原因に基づくものを「属人化(の弊害)」と呼ぶことにするのであれば、君が挙げた例は「属人化(の弊害)」ではない。

自動車の運転は、運転免許制度によってそれをする人のスキルが保証されているでしょ(VBAと違って)。
また、自動車の運転は、腕の足りない人間がその方法を勝手にカスタマイズしたりすることもできないでしょ(VBAと違って)。
自動車の運転が業務上必要不可欠で業務がそれに依存しているなら、そのことは外形上会社側に明らかだから、会社側はハンドリングの機会も保証されているわけ(VBAと違って)。
大体さ、VBAと違って自動車の運転一般について「属人化(の弊害)」が語られることなんてほとんどないでしょ。その時点で自分の強弁にムリがあると気付かんか?

VBAが属人化の問題を指摘されることが多いということを認めたくなくて色々と言い募るのはいいんだけどさ、説得力のないことを書けば書くほど「VBAに強い拘りを持つ人って、やっぱりそういうレベルなんだな」という見方を補強することになりかねないよ。
「VBAはExcelユーザーに最も近い親しみやすい言語、属人化をいわれることが多いのはその代償」ってことで良いじゃない。
2025/04/27(日) 10:57:39.63ID:bnOAlujA
>>479
運転とプログラマーじゃ、代わりを探す労力に差がありすぎる

免許持ちもVBAが書けるやつもいくらでもいるが、他人の書いたプログラムを解読して修正できるやつってのはちょっとレア
しかも、多くの経営者はこれが特殊スキルと思ってないからそんなとこにコストをかけたくないってのが本音
だから問題になる
2025/04/27(日) 11:08:15.27ID:aTGSLIj0
NGワードに属人化を入れることでスッキリさせることに成功
2025/04/27(日) 11:08:56.65ID:RSOujG5D
いやいや、スキル的にできる奴は山ほどいる
問題は、やりたい奴が極めて少ないという点だ
まともなプログラミングスキルがあるならもっと面白くてスキルアップできる仕事が山ほどあるのに、安い賃金で誰にも評価されずスキルアップにも繋がらない便所掃除をやりたがる奴はいない
2025/04/27(日) 11:27:31.76ID:aTGSLIj0
ちなみに個人事業主やってて、
どこぞのVBAで抜き差しならなくなったものを書き直して仕様書と併せて納品
あるいはPythonに移植して仕様書と併せて納品してるけど、
おまいらの想像以上に良い金になる
濡れ手に粟
2025/04/27(日) 11:43:54.54ID:PEcsUA/t
会社側もよほど切羽詰まっていたんだろうねえ。
大局的に見れば抑えられたはずのコストだろうけど、484みたいにそれで儲かっている人が居るならそれはそれで良い話だ。
486デフォルトの名無しさん
垢版 |
2025/04/27(日) 14:49:25.30ID:rRExk4WB
運転でもうまいやつとへたなやつがいるだろう
VBA使いにはプログラミングやシステム設計がへたなやつが多いということ
2025/04/27(日) 15:15:18.84ID:0hsNeEWH
適当にかじって自分用に作ってるからな
488デフォルトの名無しさん
垢版 |
2025/04/27(日) 16:07:51.42ID:SWrT9XSV
逆引き大全買っちゃった
2025/04/27(日) 16:31:38.91ID:HBc7xJ0o
君が挙げた例は「属人化(の弊害)」ではない。 だから、定義しろっつってんの
じゃあ、どういうのがVBAの弊害と世間一般では言われてんだよ?って聞いてんの
コッチが例え話すりゃあ「それはちがう」 単なる例え話だぞ? 免許が特殊な技術的国家資格とかでもいい

ウエが阿呆だから現場でそんなてんやわんやが発生すると書いた人が居るけど、その通りの事を言ってるんだ
上長がしっかりして、そういった個人技術を全体に普及・波及する努力をしてりゃあ、誰が抜けたところで
即座に困る事なんかほぼほぼ無いんだ 鼻くそ丸めながら「なんか知らんが勝手な事してる奴が居るなあ」
でのほほんとしてるから、いざ退職されてから困り果てる
そんな会社は潰れたって構いやしないだろうに
それが例えば従業員数百人規模の会社だろうとだ ま、数千人規模でもおんなじだけど

ご利益にも繋がらないような「VBAは属人的」なんてぇお題目唱えてるだけで、何らの解決策も講じないような
スカポンタンな集団が蔓延るのが鬱陶しいんだ 六根清浄と唱えてる方がまだご利益ありそうだろ 違うか?
なんか知らんがその辺に転がってる耳触りだけはいいビジネスワードを、これ見よがしに口真似して
その本質を見ようともしないで得意満面な奴は、ぶっ飛ばしたくなるってだけ
ひと頃流行った「悩ましいですねえ」とかと一緒 (一生悩んでろ、ボケ)と罵ってるようなもの
「一旦社内で揉んでみます」とかなら、まぁまだ分かるが
2025/04/27(日) 16:39:50.30ID:HBc7xJ0o
VBAは属人的 とはつまり、事務業務に根本的な問題がある企業のくせに
責任を末端に押し付けるブラック体質だと、自ら公言してるに等しい阿呆責任者の言い逃れに過ぎない
2025/04/27(日) 17:10:22.95ID:9974j3MB
属人化って要するに担当者が意地悪してるだけやん?
使い方をちゃんと教えてくれて、ソースもパスワードかけずに公開してたら読めるヤツは読むぞ
コピペしか能のない奴には他人のソースが読解できないってだけの話やら?
2025/04/27(日) 17:19:04.92ID:oHyIRNV3
多くの場合、VBAは大したことやってないのに担当者のスプログラミングスキルの低さ故に無駄に複雑かつ保守性の低いものになっており、
後から他人が読み解いてメンテを継続するのは非常にコスパが悪いケースが多い
コスパ的には多くの場合において棄てて仕切り直した方がマシなのだが、とはいえ中途半端に自動化されているため、いざ棄てると一時的にそれなりの業務効率の低下が生じる
その業務効率の低下量をVBAにおける「属人性」と定義するのがよろしい
2025/04/27(日) 17:39:11.20ID:PEcsUA/t
>>489-490
VBAは属人性の問題を指摘されることが多いというのをどうしても否定したいんだね。「VBAに強い拘りを持つ人って、やっぱりそういうレベルなんだな」という印象は強まるばかりだけど。
会社側がきちんと管理できる体制なら属人化の問題は生じないというのは最初から書いているでしょ。だからこそ、VBAの属人化リスクが広く認識されるようになった今では、多くの会社が、VBAを全面的に禁止するなり、個人の裁量の範囲内でのみ許可したりという形で対応しているんだよ。
会社の多くはVBAの属人化リスクを認識して既にその対応をとっているわけで、属人化リスクが高いということ自体を否定したがる君のような議論ははっきり言って周回遅れなんだよ。
君は、「個人技術を全体に普及・波及する努力」というのを唯一のあるべき管理体制として捉えているみたいだけど、残念ながら多くの会社は、素人の書いたVBAコードに対して管理コストを投下するほどの価値を認めていない。だから、「使うな」とか「使ってもいいけど個人で責任のとれる範囲内で」という方針にしているわけ。
ついでにいえば、属人化という言葉には、会社が社員に責任を押し付けるというニュアンスも特にない。VBA はExcel内で書いて実行できるので、質の低いコードがいつの間にか業務に使われているという好ましくない事態が生じる可能性が他の言語と比べて顕著に高い。それで痛い目を見た会社が少なからずあったのでリスクとして認識されるようになったに過ぎない。
494デフォルトの名無しさん
垢版 |
2025/04/27(日) 19:30:20.87ID:22nZEpjv
Power Automateで思ったんだけど
一つ一つごとのループブロックごとにそれぞれ別の変数(カウンタやカレントなど)を設定する事によって、変数のスコープを極小にする、
むしろカプセル化の様にループブロックやコードブロックの外からアクセスを受け付けない、という事がこれからの当たり前になるのだろうか。
もはや一つ一つのコードブロックが別々のプロシージャなんだと
人智を超えていても、ソフトウェアがそれを補えるし
495デフォルトの名無しさん
垢版 |
2025/04/27(日) 19:33:19.45ID:22nZEpjv
VBAはVBAでも、APIの様な高度な知識が必要なやつはさすがに属人化だと思う(APIはまだやってないだけ、かも知らないけど)
基本的なメソッド、オブジェクトだけだよね
2025/04/27(日) 19:46:24.57ID:bnOAlujA
一定のスキルがあれば、APIの意味や使い方なんてぐぐればわかる
ドキュメントはみんなネットに公開されてるんだから
2025/04/27(日) 20:34:34.42ID:RSOujG5D
>>494
そんなもんVBA以外のプログラミング言語は20年以上前から当然にみんなそうなってる
498デフォルトの名無しさん
垢版 |
2025/04/27(日) 21:56:06.79ID:22nZEpjv
>>497
じゃあC言語とかでもそうなのですか?
499デフォルトの名無しさん
垢版 |
2025/04/27(日) 22:00:02.07ID:22nZEpjv
>>497
いやいや、パッと調べただけでも他言語でも変数の使い回しできてるじゃん
私が言いたいのは一つのループブロックごとに、他の箇所では再利用できない変数一つという事
2025/04/27(日) 22:56:41.73ID:RSOujG5D
例えばC#のforやforeach文のループ変数はそのループの中だけで有効だが、そういう話か?
C++も大昔のバージョンを除けば同様
501デフォルトの名無しさん
垢版 |
2025/04/28(月) 01:52:20.30ID:hDmEwqG0
>>481
>他人の書いたプログラムを解読して修正できるやつ

自分で描いたものでさえろくに保守出来ない香具師の方が大半な現実
2025/04/28(月) 10:21:58.00ID:AuNLagCl
ダイクストラが言う構造化プログラミングはモジュールとか抽象データ型とかも含む広範で抽象的な概念として説明されている。
連接・分岐・反復で構成しようという話はそれより前に発表されたものだが、この時代は構造化もクソもないプログラムがまかり通っていたという前提がある。
まずはその三要素を基礎に据えて構成したらわかりやすくね? という提案 (というか感想?) に過ぎず、それで全て事足りるみたいな主張ではない。
(理論上は連接・分岐・反復で全て表現可能であるという証明はされている。)

構造化プログラミングの考え方のキモは構造は人間の認知の中にあるということ。
人間が思考しているときの構造を書き表すためにどんな言語機能 (またはデザインパターン) があればよいの? ってのが構造化プログラミングの議論なんだよ。
書いた人が思ってる構造が表現されているなら構造化プログラミングだし、構造化プログラミングのために用意された機能を使っていても構造が表れていなければ構造化プログラミングではない。
まあついでに言えば書き表されたものについて (コンパイラも人間も) 検証しやすいことも大事だ。

機械的に goto を除去したらむしろ構造が失われるという例をクヌースが出したりもしていて、結局のところはどんな機能も正しく使えば正しいし、悪い使い方をすれば駄目になるというシンプルな話。
そんなわけで break が構造化を崩すか崩さないかは使い方による。
ただ、常識的に考えて break は goto より構造を破綻させにくいだろうってだけ。
2025/04/28(月) 11:10:41.08ID:6D3yvt7l
どこのスレの誤爆かな?
504デフォルトの名無しさん
垢版 |
2025/04/28(月) 16:28:52.13ID:5fRt9Dct
SQLiteのデータベースをODBC経由ADODBで引っ張ってきてるけど、
CopyFromRecordSet で一発で貼るのと 1行1カラムずつ地道に貼るのとで
267件中1件1カラムだけ違う これは何なんだろう
2025/04/28(月) 17:32:10.75ID:L3M/APjY
知らんがな
違うと思ったならチェックしたんだろ?どう違うかを知っているのはお前だけ
2025/04/28(月) 19:04:28.97ID:opVSzI03
>>504
自分で作ったコードを調べて原因を見つける能力がない無能っぷりを白状しているようにしか見えない
2025/04/28(月) 19:12:48.88ID:77Ku1S4P
質問スレなんだし、そんなにきつく当たらなくてもいいんじゃない? もう少しゆるい感じでやっていこうよ。
508デフォルトの名無しさん
垢版 |
2025/04/28(月) 19:29:47.71ID:5fRt9Dct
辛辣だなぁw CopyFromRecordSetで貼ったやつの方だけ1箇所違うんだよ
1行、1カラムずつ貼った方は正しい 元データももちろん正しい

lobjが対象テーブルのListObject dbrsがADODBで引いたRecordSet

データが違うパターン
lobj.InsertRowRange.CopyFromRecordset dbrs

正しいパターン
rc = 1
Do Until dbrs.EOF
  For co = 1 To lobj.ListColumns.Count
    lobj.ListRows(rc).Range(co).Value = dbrs.Fields(co - 1).Value
  Next
  rc = rc + 1
  dbrs.MoveNext
Loop

これでどう検証したらいいのよ
509デフォルトの名無しさん
垢版 |
2025/04/28(月) 19:34:46.10ID:aApiL0z1
どう違うのかも書かない無能だから
510デフォルトの名無しさん
垢版 |
2025/04/28(月) 20:16:18.13ID:Fc2g4rbd
PowerQueryの方がVBA よりも処理が高速なはずだ
と思っていたけど、配列を使えばVBAの方が処理が高速だったよ
2025/04/28(月) 22:36:06.18ID:opVSzI03
>>508
一カ所違うというのは実データがおかしな変換をされているのか?
それとも一方のデータが 多い/少ない と言っているのかな?
512デフォルトの名無しさん
垢版 |
2025/04/29(火) 00:38:17.02ID:Cio0Z7DT
>>511
ざっくり例えると、1件ずつ処理すると元データどおり
みかん 150円
バナナ 200円
りんご 250円

となるところがCopyFromRecordSetだと
みかん 150円
みかん 200円
りんご 250円

になる感じかな もちろん今回が初めてのケース
2025/04/29(火) 03:39:13.13ID:uCA5xnZY
>>512
再現性があるか
何番目がおかしいか
一度にコピーする件数を少しずつ減らしたらどうなるか

そういう地道な作業を繰り返して、条件を絞り込み、原因を突き止めていくんだ
2025/04/29(火) 05:46:13.95ID:DUP3Wr3v
重複したデータでなければプログラムに問題がありそうだけどなぁ
ザックリすぎてわっかんねぇなぁ
515デフォルトの名無しさん
垢版 |
2025/04/29(火) 05:58:53.59ID:NELjOoG5
質問の間抜けな感じからして凡ミスやな
2025/04/29(火) 06:09:56.99ID:DUP3Wr3v
スゲー適当なんだけど違いが1件ってことはEOFが入ってるとかそんな感じかな?
517デフォルトの名無しさん
垢版 |
2025/04/29(火) 09:40:01.77ID:Cio0Z7DT
>>513
同じデータをAccessにインポートして実行→再現せず
SQLiteで検索するデータ量を減らす→再現せず
で、よく見たら256レコード目で検索条件(SQL文)変えても必ず発生することがわかった
SQLite3 ODBC DriverからADODBでデータ取得してCopyFromRecordSetでデータ貼付けすると起こる
データ取得方法は同じでも1レコード1カラムずつデータ貼っていくと起こらない
ダミーデータ作って色々試してみるかな
518デフォルトの名無しさん
垢版 |
2025/04/29(火) 09:48:33.61ID:cxg+2T2y
>>517
元データの中に制御文字のようなゴミがあるとか、取得したものを表示する過程でミスっている可能性もある
ダミーで試すか、文字コードをバイナリ値でチェックするとかだな
あと256番目って数値がbyte扱いで0になってないかとか
2025/04/29(火) 09:57:59.04ID:LEbvev28
昔Oracleのバグで1件くらい少ないレコードセット返ってくるバグ思い出した
520デフォルトの名無しさん
垢版 |
2025/04/29(火) 11:15:10.56ID:Cio0Z7DT
ダミーでも再現した
SQLite側のフィールドがTEXT型の場合のみ、256レコード目の内容が255レコード目と同じになる
INTEGER方だと起らない
521デフォルトの名無しさん
垢版 |
2025/04/29(火) 11:17:05.94ID:Cio0Z7DT
こんな感じ SQLiteに日付型は無いのでTEXT扱い
254 test254 2025/06/11 1253
255 test255 2025/06/12 1254
256 test255 2025/06/12 1255
257 test257 2025/06/14 1256
522デフォルトの名無しさん
垢版 |
2025/04/29(火) 12:21:37.37ID:TmvDscRd
属人的と言うなら車間距離だな
ExcelやVBA利用者には車間距離詰める馬鹿が多過ぎる
総じて「だろう運転」ばかりしていて「かもしれない運転」なんて眼中に無い
そもそもMicrosoft開発陣が「だろう運転」を推奨してる節がある
523デフォルトの名無しさん
垢版 |
2025/04/29(火) 12:25:39.07ID:Cio0Z7DT
連投失礼、256だけじゃなく512,768,1024も同じ現象だった
524デフォルトの名無しさん
垢版 |
2025/04/29(火) 13:23:59.14ID:lJszgH0z
ODBCのバージョンと定義がわかる画面貼っとけ
525デフォルトの名無しさん
垢版 |
2025/04/29(火) 14:30:57.99ID:AuvQCcIn
久しぶりに面白そうな話題じゃん
自己解決しちゃっても是非原因教えてね
526デフォルトの名無しさん
垢版 |
2025/04/29(火) 16:26:16.90ID:Cio0Z7DT
スクショは貼らないw 64bit
SQLite3 ODBC Driver 1.34455.00.00 Christian Werner Software & Consulting SQLITE3ODBC.DLL 2023/10/23

データ取得と貼り付けは至ってシンプル
Set dbcn = New ADODB.Connection
dbcn.ConnectionString = "DRIVER=SQLite3 ODBC Driver;Database=E:\Temp\testdb.db"
dbcn.Open
Set dbrs = New ADODB.Recordset
dbrs.Open "select * from testtbl", dbcn, adOpenStatic, adLockReadOnly
ThisWorkbook.Sheets("Sheet1").Range("A1").CopyFromRecordset dbrs
527デフォルトの名無しさん
垢版 |
2025/04/29(火) 16:31:39.01ID:Mpe85ZPY
>>526
やっと全部情報を出してきた
だから馬鹿とか罵られていたんだよ
ドライバのバージョンを替えてみ
528デフォルトの名無しさん
垢版 |
2025/04/29(火) 16:37:30.76ID:Cio0Z7DT
>>525
早速自決w
Set dbrs = New ADODB.Recordset
dbrs.CursorLocation = adUseClient
dbrs.Open "select * from testtbl", dbcn, adOpenStatic, adLockReadOnly
で正常になった お騒がせしました
2025/04/29(火) 16:47:03.16ID:EclpVRbh
ちょうど総合相談スレでも
3時間くらい前に発生した本日の事案への弔辞

> 介錯人は頼んだのかな
> 成仏しろよ
2025/04/29(火) 16:58:21.16ID:EclpVRbh
「自決」の辞書上のもう一つの意味、民族自決主義の「自決」は
「自分の意志で自分のことを決めること」だけど、
くだんの「自決する」の文脈は、意志うんぬんや決めるとかの流れはない。
なので、「問題を自分で解決した」という意味はならなさそう・・・
とマジレスしてみる
2025/04/29(火) 20:39:35.35ID:la4ZcTxc
自分のケツのことかと思った
532デフォルトの名無しさん
垢版 |
2025/04/29(火) 21:12:16.89ID:hhMpSOWT
痔になったケツかと思った
533デフォルトの名無しさん
垢版 |
2025/04/29(火) 22:00:44.14ID:V3jk1q3e
WinAPIでvisual styleを適用させたい
office2021だとCreateWindowEXで作ればvisual styleになるのにoffice2019だとならない
534デフォルトの名無しさん
垢版 |
2025/04/29(火) 23:44:21.62ID:jEUD8QFb
今頃になって列の行ごとの文字列のReplaceは、まず文字列をカンマでもなんでもいいから全部くっつけてひとまとめにして変数に代入して、Replace(文字列,検索文字,"")すれば一括で置き換えられるって理解したよ
そしてSplitで配列に戻して元通り
535デフォルトの名無しさん
垢版 |
2025/04/30(水) 01:17:17.74ID:0P1GE/1d
>>533
ComCtl32.DLLにリンクしてないからだと思う
2025/04/30(水) 03:14:35.45ID:IvfkHP7P
>>534
たまたまデリミタと同じ文字(列)がデータにも含まれててExcelのバグだと騒ぐまでがセット
537デフォルトの名無しさん
垢版 |
2025/04/30(水) 06:29:26.31ID:7AsrwtYN
>>536
わかるわかる
538デフォルトの名無しさん
垢版 |
2025/04/30(水) 06:54:36.59ID:TQaKmIw3
>>534
初級を脱したい奴が考えそうな無駄な技
経験積めば自然に書くのが一番て解るよ
2025/04/30(水) 18:11:25.83ID:/xZzLlpB
Range("A1:C10").Replace What:="置換前の文字", Replacement:="置換後の文字", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False

ってchatgptさんが言ってます
2025/04/30(水) 18:39:00.27ID:3/ALrefg
Replaceメソッドはシートの検索/置換オプションも変更されるから嫌い
541デフォルトの名無しさん
垢版 |
2025/04/30(水) 19:34:30.68ID:Ypkgz0ac
>>528
さんきゅ
2025/05/01(木) 10:16:05.61ID:NoOjVvyj
開発では作るだけでなく動作確認、評価、検証をきちんとやるのも大事なのじゃ
わざと異常を出して正しく異常が出るか、桁数やデータが大量だとどうなるかとか、日本語以外の環境でも動くとか
実際に動かして確認すると気づかなかった問題が見えてくるものだ
2025/05/01(木) 10:51:14.04ID:/KCrsMZn
テストが重要なのはもちろんだが、VBAerレベルではそもそもバグが出にくくテストケースを闇雲に増やさなくていい書き方というものも多少は勉強した方がよい
似た処理をいちいちコピペすればその分ミスは増えるし、プログラムに直行性がないとテストケースは無限に増える
2025/05/01(木) 11:52:17.40ID:nTiKCI2R
>プログラムに直行性がないとテストケースは無限に増える

ほんそれ
直交性が無いのは言語の欠陥だと思う
545デフォルトの名無しさん
垢版 |
2025/05/01(木) 13:39:51.25ID:yf6hHvtn
x ほんそれ
o 本当にそれ
2025/05/01(木) 14:02:16.67ID:NoOjVvyj
問題ないですとか言ってたのに後になって実は確認してませんでした とか言う新人たまにいる
547デフォルトの名無しさん
垢版 |
2025/05/01(木) 15:05:48.78ID:my1nUwSm
VBAで単体テスト、カバレージ100とか聞いたことないわ
あれ?ACCESSの納品物の評価ってどうやってたっけ……(もう忘れた)
548デフォルトの名無しさん
垢版 |
2025/05/01(木) 23:23:13.02ID:15supz3z
スレチだけど
やっとPowerQueryの変数宣言、代入、for each、無名(名前付き)関数がわかった。
.Buffer早すぎ
2025/05/02(金) 00:25:17.81ID:+dCfSpYU
Dim wb As Workbook
Dim pq As WorkbookQuery
Dim ws As Worksheet
Dim i As Long
とか宣言して、wb、wsの変数代入して、
For Each pq In wb.Queries
ws.Cells(i, 1).Value = pq.Name
ws.Cells(i, 2).Value = pq.Formula
i = i + 1
Next pq
とかやると、VBAで各クエリーの名前とM式の中身をワークシートに書き出せるのね
550デフォルトの名無しさん
垢版 |
2025/05/02(金) 01:50:51.67ID:TLbUOI0p
>>549
いやん見ないで照
551デフォルトの名無しさん
垢版 |
2025/05/02(金) 06:41:36.56ID:TLbUOI0p
前に言っていた、Power Automateみたいにコードブロックを入れたら、作成したコードブロックだけで有効な変数が自動的に作成されて、コードブロックを抜けたら変数が削除される、コードブロックごとに変数が一意、コードブロックがカプセル化、秘匿化されている、もはやコードブロックがサブプロシージャ、ファンクション関数っていうの、関数型プログラミングの事だったんだな
552549
垢版 |
2025/05/02(金) 06:43:09.29ID:+dCfSpYU
そんな、他人を痴漢扱いすなw

いやこれ、一昨日ChatGPTに
「クエリーの依存関係がもっと見やすいツール、何かない?」
って聞いた中で、教わったばかりの一部なんだけど。

需要があるなら、フルでプロシージャを晒すよ?
おのおのChatGPTに聞けばいいんだろうけれど。

ここから親子関係の一覧表を作る、次のプロシージャは
正規表現検出をどう扱うか、相談しながらチューニング中なんだけど。
553デフォルトの名無しさん
垢版 |
2025/05/02(金) 07:20:32.31ID:TLbUOI0p
ワイはCopilotにsheet.copyで作成した新規ブックのクエリを削除するにはどうしたらいいですか?
のコードでマクロ実行ブック(コピー元)のクエリも削除された泣

プログラマが型がわからないってマジ?
VBAでtypeっていうともっぱらそのモジュールのみで有効なプロパティ?の事を指すと思うけど

TypeScriptでは静的型付けの様に、バグの無いコードというのは、できる事、やれる事、受け付ける操作を限定する事だと思う。
何でもかんでもできる、受け付けるというのはバグの元だよ。
554デフォルトの名無しさん
垢版 |
2025/05/02(金) 07:59:38.75ID:TLbUOI0p
VBAは変数を宣言しなくても変数が使用できるし、Variantは中のデータの型を判断するし、動的型付けだった😫
宣言を強制しているし、型指定もしているからすっかり忘れていた
2025/05/02(金) 08:41:13.69ID:IByDjNOR
>>549
WorkbookQuery初めて知った
面白そうだな
2025/05/02(金) 09:45:33.14ID:G++s7sQD
>>551
Power Automateって使ったことないので分からないんだが、多くの言語で一般的ないわゆるブロックスコープとは別物なの?
557デフォルトの名無しさん
垢版 |
2025/05/02(金) 12:34:26.30ID:FVfG1Al+
>>556
同じなんだけど、
Power Automateはループ処理のアクションを追加すると自動的にvbaでいう for i の i とか for each 変数 の 変数が自動的に宣言される

vbaで同じ事をしようとするといちいち宣言しなくちゃいけないし、命名のレパートリーも尽きるからやらないし、流用になる

個別に変数を自動的に宣言してしかも管理も把握も一目瞭然だと、これからの時代はそれぞれのアクション、ブロックが一つのオブジェクト、関数みたいになるのがスタンダードで、しかもさらに進化するのかなと思う
2025/05/02(金) 13:08:27.70ID:i8P7c2SF
だからそんなもん20年前から他の言語では一般的だし、
PowerAutomateって複雑なことやろうとすると共通の変数を複数ステップに渡って弄り回すことになって簡単にVBAの糞コードみたいになるよ
変数のスコープに関する君の考えは一般的には正しいが、残念ながらPower Automateは君が期待しているようなものではない
2025/05/02(金) 13:46:02.65ID:G++s7sQD
スコープが別なことが分かっていれば、ループ変数は同じ名前の流用でも特に問題は起きないような気もするけれど。まぁでも便利なんだろうね。
ブロックスコープがない言語もそこそこあるような……。Pythonとか昔のJavaScriptとかは、関数スコープはあるけれどブロックスコープはないよね。
2025/05/02(金) 16:53:20.86ID:nKjy1k/M
ブロックがあればええ
2025/05/02(金) 19:06:46.82ID:ngu+xaVd
全てグローバル
変数名も文字数制限あり

BASICとはそういうものだ
562デフォルトの名無しさん
垢版 |
2025/05/02(金) 20:16:54.76ID:KF55o+fS
変数名といえばおまえら Option Explicitしてるの?
俺はうっかりさんでスペルミスしがちだから外せないけど
2025/05/02(金) 20:38:35.86ID:sdnBjLxl
しない理由がない
2025/05/02(金) 20:55:10.60ID:1BRp4bnH
あれ消えないようにして欲しい
565デフォルトの名無しさん
垢版 |
2025/05/03(土) 05:59:05.73ID:2+JR0EAo
今更ながらブックオープン 読み取り専用のコードだけを書いたfunction関数を作れば短い文字数でブックを開いて変数に代入できるって気づいたんだけど
もっと有用なコードはありますか?
さらにテーブルをセットするfunctionとか、ディクショナリーの作成、登録するfunctionとかもいいな
2025/05/03(土) 07:20:36.45ID:0JGyOYLe
自分だけが読み書きするコードならそれもありだと思うけど、一般論としては、文字数を少し節約できるというくらいしかメリットがないなら、あえてラッパーを作る意味はあまりないような気がする。
2025/05/03(土) 09:23:52.05ID:Hazt22aJ
>>565
短い文字数が有用ならコメント付けないで変数名とか全部1文字にしたらいいんじゃね
2025/05/03(土) 10:20:15.15ID:VRj6VpYS
使用回数によるよね
同じ操作が何回も出てくるなら適当なラッパー書いてあげると見通し良くて親切かなと
もちろんコメント付きでね
2025/05/03(土) 11:20:28.73ID:F8pywi6k
そのプロジェクト内では1回しか使わなくても、よくある定形処理は関数にまとめた方がいい
文字数を減らす必要はないけど、行数は少ない方がデバッグがしやすくなる
2025/05/03(土) 16:42:04.86ID:h9Jrb8E+
1ファイルに全部書く
571デフォルトの名無しさん
垢版 |
2025/05/03(土) 17:16:40.74ID:2+JR0EAo
ラッパーというのですね
ありがとうございます
function関数やサブプロシージャは短い方がいい(一つの処理しか行わなくてもいい、行わない方がいい)
一回しか使用しない処理でも、メインプロシージャから切り分けた方がいい
と聞いていましたが、これはラッパーというのですね
2025/05/03(土) 18:50:44.41ID:ocHu15P2
ぱっぱらぱー
2025/05/03(土) 21:38:51.92ID:Hazt22aJ
お鍋の中からインチキおじさんが登場しますた
2025/05/03(土) 22:43:16.33ID:aLoX39eB
ぴーひゃらぴーひゃら
2025/05/04(日) 07:28:49.39ID:ajXSlqYh
ラッパーというのは、元の関数とかにガワを被せた(つまり、その中で元の関数を呼び出している)関数とかのことね。包装するとかの意味のラップ。念のため。
2025/05/04(日) 08:17:46.31ID:kPdoN8ak
ラッパーとインターフェースはどう違うのっと
2025/05/04(日) 09:35:43.88ID:VN1fyBP0
インターフェースは、抽象的にいえばひとまとまりと観念されるコードの塊(クラスとかモジュールとか)同士の間の境界、その境界に接するコード部分かな。インターフェースを介して情報のやり取りを行うに際して互いの前提が異なる場合には、そのままでは情報のやり取りができないので前提を合わせる必要がある。ラッパーはそのために使われることもあるけれど、基本的には全然別の概念。
578デフォルトの名無しさん
垢版 |
2025/05/04(日) 16:30:55.85ID:IQyuDcpS
>>571
それはモジュール分割

ラッパーはすでにあるものを呼び出すファンクションやサブプロシージャ

ラッパーはラッピングだから、モジュールを包むモジュールというイメージ
579デフォルトの名無しさん
垢版 |
2025/05/04(日) 16:35:24.36ID:IQyuDcpS
>>577
質問者じゃないけど、あなたの説明は入出力のインターフェース
質問者はオブジェクト思考のインターフェースのことを聞いているとおもわれる

インターフェースはモジュールに決まったメソッド、プロパティを持たせるための骨格となる設計の定義
特定のインターフェースを継承させることで、そのクラスにはどういうメソッド、どういうプロパティがあるのか調べなくてもわかるようにできる
2025/05/04(日) 21:24:05.55ID:NkPvwNmC
具象クラスの(>>577の意味での)インターフェイスを規定する抽象クラス(抽象基底クラス)それ自体のことをインターフェイスと呼ぶのは、オブジェクト指向というよりもJavaとかから広まった用語法なのでは。
個人的には、インターフェイスという語の本来の意味はあくまでも577のようなものであって、Javaとかでいうインターフェイスはそこからの派生とか転用として位置付けられるべき用語法だと思うかな。
ただたしかに、Javaみたいな意味でインターフェイスという語を用いることの方が(プログラミング関係の文脈では)もはや多いのかもしれないし、質問した576の意図もそちらにあったのかもしれないね。
581デフォルトの名無しさん
垢版 |
2025/05/04(日) 21:50:46.14ID:6QG7+rqM
PowerQueryでの動的な繰り返し処理を理解したら、VBAにもList.Select関数とかText.PositionOfのOccurrence.Allとか欲しい
582デフォルトの名無しさん
垢版 |
2025/05/05(月) 01:42:23.95ID:6skGH2rL
自分で実装すればいいじゃん
2025/05/05(月) 09:14:01.67ID:8n1c0Fvg
実装は難しくはないだろうけど、汎用的に使える便利な関数はできれば組み込みで持っていて欲しいという感覚は分かる。
584デフォルトの名無しさん
垢版 |
2025/05/05(月) 10:45:35.51ID:NKQxWENO
配列の中に、対象に含まれているものがあれば、配列から取り出す、
っていう処理だから、内部処理的には、結局配列を全てチェックしていて意味がないのかな
2025/05/05(月) 10:46:27.32ID:Q8K4+hk+
自分が欲しいと思ったものは誰かがすでに作ってる
作るよりAIに聞いた方が早い
2025/05/05(月) 11:03:49.52ID:20YqVkB+
>>579
InterfaceはJava用語
TraitはRust用語
Excelでは何と言うのか?概念がそもそも無いのか?
2025/05/05(月) 11:43:00.38ID:EffckoF6
VBAにもInterfaceという機能があり見た目はJavaに似ている
しかし実質的にはCOM相互運用専用の機能であり、JavaのようなInterfaceは無いと考えて差し支えない
そもそもクラスメンバへのアクセスは常にダックタイピングなのでInterfaceはあってもなくても何の影響もなく、特に意味はない
588デフォルトの名無しさん
垢版 |
2025/05/05(月) 13:17:06.42ID:bvP/AgOh
今時のプログラミングの考え方とか、関数型プログラミングというのは、ワークシート関数でいうindex関数とmatch関数の組み合わせの検索関数や、
マッチ関数とoffset関数とcount if関数の組み合わせによるプルダウンリストの絞り込みの様な、
一つのセルに対して関数のネストはやめましょう、
一つの関数は一つの答えを返しましょう、という認識なのですがどうなのでしょうか?
2025/05/05(月) 13:26:58.67ID:qohU83nC
入門書読んだこと無いの?
2025/05/05(月) 13:37:24.10ID:EffckoF6
違う
関数型プログラミングってのは、VBAなんか使わずにワークシートの式と関数だけで作りましょう、というものだと考えるとイメージしやすい
正確には、副作用のない式や関数だけを組み合わせてプログラムを作るのが関数型プログラミングで、Excelのワークシートはその一例
VBAでも注意深くやれば副作用のない関数だけで作ることは可能だが、それができるスキルの奴はVBAなんか使わないだろうね
2025/05/05(月) 17:39:10.53ID:ueUnqmHR
関数型プログラミングは入門記事でちょっと齧ったくらいだけど自分にはムリそうだなーと思った。
VBAとかPythonとかの手続型言語で書く分には、@決定性や副作用を意識する、A言語に取り入れられた関数型言語由来の構文(Pythonでいえば、イテレーター、内包表記、構造的パターンマッチとか?)を使うというくらいで十分じゃんじゃないかなぁ。
本格的に関数型でやるぞっていう人なら関数型言語(HaskellとかOCamlとか?)を使うんだろうし、そこまでは頑張れないけど手続型言語を書く際に関数型言語の考え方を参考にしたいという程度なら、上記@Aくらいでお茶を濁しておく感じになるのではないかと。
592デフォルトの名無しさん
垢版 |
2025/05/05(月) 22:54:48.45ID:bvP/AgOh
オブジェクト指向でカプセル化とか言っていたけど、結局はその理想通りにはならなかった。
その反省で生まれたのが関数型プログラミングという理解です。
関数には引数を引き渡す事と戻り値を受け取る事しか絶対にできない。
横槍も茶々入れも鶴の一声もない。
関数は一つのだけの事しかできない。
だからバグらない、誰がやっても結果は同じ。
593デフォルトの名無しさん
垢版 |
2025/05/05(月) 23:40:24.40ID:fQ8xBj6s
関数型プログラミングはオブジェクト指向よりも圧倒的に古い
2025/05/06(火) 01:25:53.28ID:AZSw2w0R
関数型において関数は引数を受けることと戻り値を返すことしかできないというのは正しいのだけど、
鬼門なのは関数そのものを引数として渡したり関数の戻り値として関数を返したりできるところ
それにより関数型プログラミングは飛躍的に自由度と難易度が上がり、>>592の頭だとたぶんそこで挫折する
595デフォルトの名無しさん
垢版 |
2025/05/06(火) 06:45:59.65ID:j1SFEq5D
>>594
まさに今それをやろうとしていますね
引数に関数を渡そうとしているの
値を引数にしたいけど、関数をネストせざるを得ない
2025/05/06(火) 07:24:57.73ID:Gnnon1y6
引数として関数そのものを渡したり、戻り値として関数そのものを返したりできるかは言語仕様の問題だから、言語によってできるかできないかは決まっている。VBAではできない。
2025/05/06(火) 08:15:59.98ID:Gnnon1y6
念のためだけど、
@ある関数(関数A)の引数の一つとして、他の関数(関数B)からの戻り値を渡すこと(大袈裟に言えば、関数呼び出し式のネスト?)と
Aある関数(関数A)の引数の一つとして、他の関数(関数B)そのものを渡すこととは、違うことだよ。
C言語もVBAと同じく、関数そのものを他の関数の引数として渡したりすること(上記A)はできないが(もっとも、関数へのポインタを渡すことによって同等のことは実現できる)、上記@はできる。

さらにいえば、関数を引数として渡せたり、戻り値として返したりできる(関数が第1級の値である等と表現されることも多い)というのは、関数型プログラミングのおそらく必要条件にはなるのだと思うけど、だからといってこれらの性質があれば関数型言語というわけでもない。JavaScriptとかPythonとかは関数が第1級の値である言語だけと、いわゆる関数型言語とは言われていないと思うし。
VBAは、構文的にはJavaScript、Pytnon、C辺りと比べても関数型プログラミングからより遠い位置にいる言語だと思うので、あまり関数型にこだわる必要はないのでは? 実践的には、関数の決定性と副作用の有無に意識的になるだけでも、それなりのメリットはあると思う。
2025/05/06(火) 09:32:02.27ID:ePr8aXMn
あとこれは割とどうでもいいことだけど、関数の戻り値を他の関数の引数にすることを「関数のネスト」ということは、普通はあまりないのではないかなぁ(関数呼び出し式のネストという趣旨だとすれば意図は通じるけれども)。
普通は「関数のネスト」といわれれば、関数定義のネスト(関数内で定義された関数)の方を想起すると思う。
2025/05/06(火) 09:47:26.27ID:K1Pjz07i
pythonの凸レータは関数型らしいし関数のネストっぽく観える
600デフォルトの名無しさん
垢版 |
2025/05/07(水) 23:18:41.10ID:5rQjCI4p
関数型プログラミングは手続きという処理を見せないだけで、ロジックを隠すことでシンプルな見た目にするもの。

歴史上、常にこういう発想が何度も出てきているが、見た目をきれいにしたいだけで仕様の変更に耐えられない構文であることから、一度も主流になったことがない。
601デフォルトの名無しさん
垢版 |
2025/05/07(水) 23:48:45.09ID:8NEt0qiL
>>600
全然違うと思いますけど?
結局大勢の人で手続き型プログラミングを作ったところでバカだらけ
2025/05/08(木) 01:43:07.29ID:eAkjlYW3
VBA使ってる人間が他言語批判は草
603デフォルトの名無しさん
垢版 |
2025/05/08(木) 01:56:21.88ID:hlDlUBWZ
VBAは俗人化するのでは?なんて質問を会議でこのご時世に言われるとは思わなんだ
優しく答えて大恥かかせてしまったけど少し悪かったかも
2025/05/08(木) 03:20:26.19ID:Mm7IQCJP
設計と管理がちゃんとしてれば関数型だろうがプログラムは作れる
だいたいは見積もりが甘いかドキュメントの整備がおろそかになってるだけ
605デフォルトの名無しさん
垢版 |
2025/05/08(木) 06:36:17.83ID:rpgtocHg
VBAの何が属人化するの?
他の本格言語、例えばC++と何が違うの?
606デフォルトの名無しさん
垢版 |
2025/05/08(木) 07:04:16.42ID:KsTAlec+
単純に用途が限定的なのでわざわざ覚える人が少ないのよ
2025/05/08(木) 07:25:23.15ID:jLg0E+bB
関数型言語が主流になったことがないというのは事実だろうけど、関数型言語による宣言的なプログラミングスタイルに何かしら限界とか制約があるからなのか、それとも単に難しいからなのかはわからないな。関数型言語をある程度使いこなした経験がある人には分かるのかもしれないが。
2025/05/08(木) 07:39:13.07ID:jLg0E+bB
状態を数多く管理しなければならないようなプログラム(GUIとか?)はちょっと苦手と聞いたことごあるような気もするが、今はどうなんだろう。
2025/05/08(木) 08:15:37.11ID:Im8CJRBo
VBAに限らず、属人化のリスクは「協業の仕事」共通やな
当たり前っちゃ、当たり前だが

なんつうか、丁寧さというか共同作業のセンスというか・・・
2025/05/08(木) 09:23:26.41ID:v93ye6LH
どだい、現場の最前線で使われる省力化目的の小アプリ(業務の簡素化含め)なんか
その寿命は3〜5年使えれば御の字
その間にもいろいろ業務形態も変化するし欲しい成果物もその都度変わったりする
その変化に逐次対応できるものなら属人化してようとも目的は果たしてる
その期間内に制作者が辞めたところでそれが何だってんだ 属人化させたのは上の責任
属人化がいけないなんてのは、上の方の言い訳に過ぎない 何故一人に任せた

10年も使い続けられるような制作物ならとっくに償却できてるし、その会社の立派な資産
2025/05/08(木) 10:03:03.06ID:a9PTljx+
話がループしてるな
612デフォルトの名無しさん
垢版 |
2025/05/08(木) 10:09:29.45ID:D3KgMrbS
Exit vba
2025/05/08(木) 10:11:28.02ID:RKaJBu95
属人化の話題はVBAスレの華だからね。VBAがアイデンティティになっているタイプの人には譲れない話題なんでしょ。

今は、昔と比べて他の言語に触れてからVBAもやるという人が増えているのかな。VBAが最初に触れた言語ですという人の割合ってどれくらいなんだろう。
2025/05/08(木) 10:29:57.11ID:a9PTljx+
モジュール分ける意味と基準が判らない
全部のプロシージャを一つのモジュールに詰め込むのは何が悪いの?
2025/05/08(木) 10:32:44.22ID:G5GTs1je
Exile VIVA!
2025/05/08(木) 10:41:00.38ID:719LxqHN
>>614
VBAレベルなら全部一つでいいよ
分割したくなるほど大きくなるようなら全体の業務フローを見直すべき
2025/05/08(木) 10:54:42.11ID:RKaJBu95
一般的な言語だと、機能分割や名前空間の分割のためにモジュールを分けるのでは。
モジュール分割の基準については、凝集度(高い方が良い)とか、結合度(低い方が良い)とかの概念でいろいろ議論されているみたい。
ただ、正直、VBAのモジュールっていろいろと特徴的なので(クラス定義はクラスモジュールで行う必要があるとか)、モジュール分割が必要な規模ならVBAではあんまり書きたくないかな。
2025/05/08(木) 12:10:22.44ID:8ptxnmrn
今は改善されてるのかも知れないが
名前ちょっと変えただけで行方不明になることは良くあった
619デフォルトの名無しさん
垢版 |
2025/05/08(木) 18:48:55.03ID:rpgtocHg
私はモジュールをコードの使用目的で分けているな
ブックマークみたいな感じ
あと特定のアプリケーションを操作する時は、関係する変数、オブジェクトをひとまとめにしたりとか
もっと何も気にせず使えるのなら、アドインにコードをまとめて共有したりもするんだろうな
2025/05/08(木) 20:28:48.50ID:Qp1M/T2r
皆さんVBAでどのくらいコードを書きます?
1000行くらい?
621デフォルトの名無しさん
垢版 |
2025/05/08(木) 21:11:25.68ID:kNzCbrU5
シートごとにモジュール分けてる...
622デフォルトの名無しさん
垢版 |
2025/05/08(木) 21:26:36.63ID:ownVsw/K
>>620
必要に合わせてかなり書くよ
1000は小規模
623デフォルトの名無しさん
垢版 |
2025/05/08(木) 21:34:26.78ID:hlDlUBWZ
そういうところがセンスないんだよな
僕は詳しい僕は長くかける
で自己満足して社内の評価も年収も低いっしょ
火の玉ストレートでごめん
624デフォルトの名無しさん
垢版 |
2025/05/08(木) 21:49:23.37ID:rpgtocHg
可読性の高いコードは、処理を一つ一つ、行を書く事だと思います
あと、エクセルだとRangeだのCellsだの、英語や数字になるから、それぞれ変数で名前をつけて変数に代入して可読性を上げるとか
625デフォルトの名無しさん
垢版 |
2025/05/09(金) 07:31:44.14ID:Y+GhIEwV
うちの職場だけ特殊なので
全体のシステムが大きいからコードも必然的に大きくなるだけ
その中の個々の機能では1000行以下の機能もたくさんあるよ
2025/05/09(金) 08:00:17.09ID:zNQNct04
RPA!RPA!って少し前もてはやされてたけど、
速度的にも手順的にもVBAでよくねって案件多かったよね
627デフォルトの名無しさん
垢版 |
2025/05/09(金) 12:28:57.25ID:piOnFv34
そうなか、自分のとこだけで精一杯で世間知らずになってるかも
628デフォルトの名無しさん
垢版 |
2025/05/09(金) 18:28:31.58ID:HJ6RQEwc
VBAで済むならVBA
RPAの方が楽ならRPAってだけ
RPAの方が楽なのにVBAで書くのはバカ
629デフォルトの名無しさん
垢版 |
2025/05/09(金) 18:30:10.14ID:HJ6RQEwc
>>628
ちょっと一行目が合わんな(寝起き)
2025/05/09(金) 18:41:10.42ID:zNQNct04
何が楽かって視点がないからRPAが廃れたってことをわかってなさそうなレス
631デフォルトの名無しさん
垢版 |
2025/05/09(金) 22:10:08.68ID:p2pcYwx2
そもそも論として、使い方を学ぼうとしない人が大勢なのに使いこなせるわけがない
kintoneだろうがなんだろうが
銀の弾などない
632デフォルトの名無しさん
垢版 |
2025/05/09(金) 22:37:09.74ID:p2pcYwx2
文系管理職なのに業務アプリをシュシュっと作れちゃう俺

あるわけないだろバーカ
絶対スカラ値の原則を無視したり、列を繰り返したりしてるわボケ
633デフォルトの名無しさん
垢版 |
2025/05/10(土) 02:15:51.46ID:2PI0HY+M
豊川悦司「俺ー♪」
634デフォルトの名無しさん
垢版 |
2025/05/10(土) 13:05:37.78ID:IWhliTad
無から有は難しいよね、環境や周囲の協力がないと
2025/05/10(土) 13:13:10.16ID:APagMvUq
業務効率化程度の仕事なら、無から有は勝手にやりゃいいだけだから難しくない
周囲を巻き込んだとしてもどのみち最終的には言い出しっぺが責任持ってやれよという感じにしかならん
有から別の有の方が遥かに難しい
2025/05/10(土) 13:23:47.83ID:TkZSyEZj
誰かがVBAなんかで半端に作っちゃったものを、こんなもんSaaSでいいだろと移行させるみたいなのは難しい
必ず、決まった業務を回すしか能のない人達が重箱の隅をつついたり牛歩戦術をしてみたりと必死に抵抗してくる
2025/05/10(土) 13:31:42.36ID:HZyfRGTg
金がかかるとなるとそりゃそうでしょ。
2025/05/10(土) 13:49:08.55ID:tG+fugNq
いや、経験上、金を問題にするのはある程度上の立場の人間なので、本質的でないしょーもない業務影響はあまり問題にしない。
〇業務を〇時間削減できるから人件費換算で導入コストと利用料を上回る効果が見込めますと説明できればよい。
くだらないことで難癖を付けてくるのは現場の人間。
639デフォルトの名無しさん
垢版 |
2025/05/10(土) 14:05:58.61ID:3Mk2sCKg
>>630
何が楽かさえわかってないのかよw
2025/05/10(土) 14:09:45.85ID:644AQTJb
無から有ってのは、何であれ産みの苦しみって奴で、社会でも人生でもあらゆる場面で起こり得る
有から別の有ってのは例えが判らんが、αというシステム化された処理が有って、その結果を元に
別のβを作ろうとしているのか、或いはαの改善品αUを作ろうとしているのか
前者なら無から有と一緒だし、後者なら元と成ってる最初のαを精査すればいいだけ
こんなもんSaaSでいいだろと思い込んでしまった原因を自省してみて、うかうか宣伝文句に釣られてただけと
理解出来たら儲けもの じぶんで実際にSaaSに移行してみて一年位稼働させてそれでも一切問題が発生しない
事を確認してから提案するぐらいの努力は発言する前に済ませておくべき
やってみましたできませんでしたは、殊営利を目的とする企業では落第の烙印を押されるだけ
プロトタイプ・試作品も無いまま実務で運用することほど無謀な試みは無い 旧日本軍大本営方式でしか無い
2025/05/10(土) 14:31:05.56ID:HZyfRGTg
>>638
利用者が習得するまでの学習コスト考えてる?

習得するのに時間がかかるとか操作が複雑になり過ぎたら反発すると思うけど。


今よりこれだけ簡単になりますって話なら反発も少ないのでは?
2025/05/10(土) 14:39:47.45ID:tG+fugNq
>>641
だからそれを含めて難しいって話でしょ
2025/05/10(土) 16:34:23.69ID:ngauQQ8E
話の逸れ方が大きくなってきたな
2025/05/10(土) 16:38:29.08ID:iGSB8dlv
前から先人達がこのスレで、Arrayを使って云々・・・と議論しているの見かけて、
「どこで活かせるんだろう?」と思っていたけど、
今日初めて使ってみた。

もともとは、Power Queryで複数のクエリーとピボットを順番に更新させるのをVBAでやっていたのだけれど、
「クエリと接続」とタスクマネージャーをずっと監視しているのもしんどいので、
ChatGPTに、
「クエリーやピボットテーブルのそれぞれを1つのステップとして、
WMIの "SWbemLocatorオブジェクトのConnectServerメソッド" とやらを使って、
各ステップの開始/終了時刻とCPU最大使用率のテーブルをワークシートに出力できないか?」
と相談したら、その中に、出てきましたよ、

' ステップ一覧
Dim steps As Variant
' 更新ステップのリスト(ステップ名, 実行内容)
steps = Array( _
Array("Q_1", "クエリ - Q_1"), _
Array("Q_2", "Query", "クエリ - Q_2"), _
Array("Q_3", "Query", "クエリ - Q_3"), _
Array("Q_4", "Query", "クエリ - Q_4"), _
Array("Q_5", "Query", "クエリ - Q_5"), _
Array("Q_6", "Query", "クエリ - Q_6"), _
Array("Q_7", "Query", "クエリ - Q_7"), _
Array("Q_8", "Query", "クエリ - Q_8"), _
Array("PVT_1", "Pivot", "PVT_1") _
)

と。
で、何度かやり取りした結果、うまく出来まスた。
2025/05/10(土) 18:59:33.45ID:Pq21kD+5
しねごみかす
646デフォルトの名無しさん
垢版 |
2025/05/10(土) 19:48:45.71ID:pekHwIHV
>>644
どれくらい処理の重い作業か、帰りの組み方をしているのか私には分かりませんが、
テーブルデータの整形が終わった後、一区切りついた後、テーブル関数やリスト関数などで繰り返し作業保護(一般的なeach?)
647デフォルトの名無しさん
垢版 |
2025/05/10(土) 19:52:02.31ID:pekHwIHV
>>646
を行う前に
必ず
List.Buffer Table.buffer を行うと(VBAの配列並にとは言いませんが)処理が劇的に早くなると思います。
私は2000行に6000行のTaxt.Containsをして結果をList.SelectやAnyTrueなどをしていますが、劇的に早くなりました。
648デフォルトの名無しさん
垢版 |
2025/05/10(土) 20:41:13.86ID:pekHwIHV
VBAでセルの中の改行のある大量の文字列の中から目的の情報を抽出するという試みをやっていたのですが、最近になってやっと改行で区切って、1行にバラすという事に気がつきました。
これで無関係な文字列の行はフィルターできるし、視認性が劇的に改善したしで本当に楽になった。
データは必ず一行づつという当たり前を改めて知らされた。
2025/05/10(土) 21:53:08.57ID:iGSB8dlv
今回Arrayを使って、各クエリー/ピボットテーブル更新中のCPU使用率を調べようとしたのは、
・複数の前処理ブックの共通テーブルを参照して、項目ごと時間軸串刺し合計や最大/最小値とその時間なんかを求めるブック
・仕上がり52,560行
・これでもまだ中間集計ブック
・将来的には104万行を超えるので、ベース集計クエリーにはデータ モデルを使用
・今の第8世代Core i7と32GBメモリーで、このブックの更新には20分超
・当初は、List.Buffer、Table.bufferをクエリーで使って高速化を試したが、これだけ行が多かったりクエリー依存が多いと、シーケンシャルにしてBufferしたつもりが前クエリーの再計算が入ってExcelが固まったので断念。
・逆に、104万行以内に収まる途中のクエリーは、ワークシートに書き出してこれを参照するようにしたら、最後まで計算できるようになった。
650デフォルトの名無しさん
垢版 |
2025/05/10(土) 23:00:42.57ID:pekHwIHV
>>649
クエリを分割したらいいって事でしょうか
中間テーブル?の様な
651デフォルトの名無しさん
垢版 |
2025/05/10(土) 23:08:41.01ID:pekHwIHV
>>649
明らかに不要なデータを元ファイルから削除するとか、グループバイがしたいのならワークシートで
652デフォルトの名無しさん
垢版 |
2025/05/10(土) 23:10:16.50ID:pekHwIHV
行の並び変えをするとか
不要な列は削除しておくとか
集計はパワーピボットを使用するとか、テーブルのjoinではなく、リレーションシップにするとか
できそうではないですか?
2025/05/10(土) 23:17:35.27ID:iGSB8dlv
>>650
別スレで
2025/05/11(日) 02:32:23.22ID:orNzllBw
属人化言い出したらExcelシートそのものも属人化だろな
2025/05/11(日) 06:38:44.59ID:dESx0WKG
>>654
これは正にだな
人によって非表示行(列)や非表示シート、
定義された名前を非表示にするやつすらいる
2025/05/11(日) 09:33:21.32ID:xj1UIMtq
他人のVBAより数式のほうが見たくなくなる
2025/05/11(日) 12:52:43.82ID:orNzllBw
世の中、属人化シートだらけ
2025/05/11(日) 13:42:45.69ID:oI5baM/t
逆に、「他人に見てもらう」ことを意識してExcel作っていたら、
独りよがりでない、少しはわかりやすいもの作るのかと。

「お天道様が見ている」
「第二の視座」
とか言うヤツ
2025/05/11(日) 13:57:41.75ID:UTf8BgbA
大さんという上司に観てもらってた良い思い出
660デフォルトの名無しさん
垢版 |
2025/05/12(月) 19:52:24.55ID:/MqwmjFI
Excel大好き人間としてはHaskellを推したい
661デフォルトの名無しさん
垢版 |
2025/05/13(火) 20:06:46.42ID:IQbEImBo
正規表現で漢字全てにマッチさせるにはユニコードの最後の漢字までを範囲にしたらいいのだすか?
2025/05/13(火) 20:43:44.18ID:UxpIpbA1
[\u4E00-\u9FFF]
663デフォルトの名無しさん
垢版 |
2025/05/13(火) 22:37:17.01ID:IQbEImBo
urlに恐らく改行が含まれているのですが、改行もマッチさせるとなるともはやなんでもマッチしてしまいますか?
664デフォルトの名無しさん
垢版 |
2025/05/14(水) 00:23:46.12ID:TPeqytUP
漢字で始まり、ひらがなで終わる
ひらがなのみ
カタカナのみ
マッチした結果を全てディクショナリーに登録して、アイテムは1+1を繰り返してカウントする
これだけでも頻度分析ができるんだね
2025/05/14(水) 00:57:58.82ID:WcLab/oc
>>664
それ単語の区切りはどうするの?
2025/05/14(水) 01:04:11.54ID:KAgWD1+F
仕事の管理でVBA使ってポツポツやってたけど違う業務管理が追加になってもうすっかりコードなんか忘れてるので面倒だなと思ってたけどChatGPTちゃんに聞いたら楽に組めた
Aのシートをコピーしてシート名はCにしてとかでもすぐに教えてくれるし
こんなのでもすっかり忘れてるから助かった
667デフォルトの名無しさん
垢版 |
2025/05/14(水) 01:12:17.68ID:TPeqytUP
>>665
漢字とひらがな
ひらがなのみ
カタカナだけ
意味のある言葉になっているよ
むしろ本当の本当に単語にまで分解しても意味がわからないよ
情報を細分化してもしょうがない
668デフォルトの名無しさん
垢版 |
2025/05/14(水) 01:49:41.56ID:TPeqytUP
例えば
お 世話 に なり ます(あるいは なります)
まで分解しても意味を持たないでしょう?
お 世話になります
で十分でしょう
東京タワー みたいに
漢字カタカナパターンもある事に気がついた
2025/05/14(水) 09:24:40.17ID:mIHvW3MM
それで分析できるのはその定義における節の頻度であり、一般的な単語とは異なる
それがお前の目的に合っているのであれば好きにしたらいい
ついでに言えばそんなもんMeCabに突っ込めばいいだけだからお前独自の方式なんて誰も必要とはしない
2025/05/14(水) 09:51:03.61ID:mHOx/gQ0
おー、MeCabってのがあるのね。めかぶって読めるなと書こうとしたら、本当にめかぶから名前を取っているのね。
671デフォルトの名無しさん
垢版 |
2025/05/15(木) 22:57:08.75ID:vsR8tMHm
めかぶというやつの公式ページ?の
一行一分
は誤字ですか?
それだったらテキストマイニングを極めていてもやっぱりこの程度なんだなと
あと何を言っているのかを判断するには前後の脈略が必要だし、日本語はひらがなに特に意味がある訳でもないから
そこまで単語に固執する必要もない気がする
2025/05/16(金) 09:43:09.58ID:IgvVjYfn
make a boo
673デフォルトの名無しさん
垢版 |
2025/05/16(金) 10:48:47.56ID:em0azm75
manko
2025/05/16(金) 13:02:22.31ID:TOZOy2SA
印刷範囲外のセルが
なぜか印刷範囲中央付近に
プレビューされ、実際にも印刷されます

改ページプレビューも利用して
グレーゾーンに押しやっている
テキストボックスなんですが
元の配置よりさらに外側に動かすと
印刷範囲から消えはします

そのため支障をきたしている
訳ではないのですが
なぜこうなってしまうのでしょうか?
2025/05/16(金) 13:04:09.96ID:TOZOy2SA
↑スレ違いでした、すみません
取り消します
2025/05/17(土) 09:02:45.85ID:ztNWa+hU
ラベルのAcceleratorって何に使うの?
2025/05/17(土) 10:17:32.20ID:BnclY/n2
マジレスすると
ボタンのタイトルを E&xcel とかにすると
Ctrl+x でボタンを押せるのが Accellerator じゃないかな
2025/05/17(土) 10:20:42.98ID:ztNWa+hU
でもラベル押せないじゃん
2025/05/17(土) 12:01:06.66ID:vJvypOU0
ボタンの上とかにラベルを貼り付けることで
マウスクリックした時、キーボード操作した時で同じ操作をさせられる
Accessなら、ラベル単体でもつついてあれこれできるけど、Excelではそんな機能は無い
SpecialEffectと併用して見た目押したようにできるかも知らんが
そんな無駄を付け加えてまでやりたいことなのかどうか
2025/05/17(土) 12:11:18.06ID:ztNWa+hU
回答?
独り言?

結局、何に使うの?
2025/05/17(土) 12:32:35.29ID:FyrcyVVg
一応、フォーカス移動には使えるんじゃない? それがどの程度嬉しいことかは微妙なところかもしれないが。
2025/05/17(土) 12:42:35.66ID:ztNWa+hU
テキストボックスの前に置いといて、ラベルにフォーカスさせると
テキストボックスにフォーカスされる
テキストボックスが複数あっても一発で選べる
なるほど、こうやって使うのか
2025/05/17(土) 12:48:29.09ID:AUJKaPS/
それは可能かもしれないけど、テキストボックスにフォーカスを移動するためにアクセラレータを使うのはどうかなぁ
2025/05/17(土) 12:49:47.54ID:AUJKaPS/
>>661が指摘してましたね
スレ汚しでごめんなさい
2025/05/17(土) 12:58:22.21ID:ztNWa+hU
よく出来たアプリはみんなできるようになってるよ
S)検索
みたいな感じ

マウスしか使わない人はそんなこと考えないし、
タブオーダーも無茶苦茶で、どこに飛ぶか判らない
686デフォルトの名無しさん
垢版 |
2025/05/17(土) 14:53:18.10ID:Mou0F5/k
フォントサイズをセルの横幅にジャストサイズで合わせたいのですがどの様にすればいいでしょうか?
縮小して全体を表示するは試していますが、念のために列幅と文字数を割って1文字あたりの大きさをまとめるとか、そう言った確実な方法を探しています。
2025/05/17(土) 18:12:34.03ID:VJRyFCkb
そんな方法はない
2025/05/17(土) 18:32:10.79ID:Vu4+Tz9e
仕方が無い
689デフォルトの名無しさん
垢版 |
2025/05/17(土) 18:34:04.52ID:Mou0F5/k
やっぱりセルに実際の文字列を入れて
治ったセルの高さ/行数 = 1行あたりの行の高さ
で割り出すしか無さそうですね
2025/05/17(土) 18:37:59.26ID:rdyb/DPe
画像で保存してセルに合わせて画像を拡大縮小したらどうかな
691デフォルトの名無しさん
垢版 |
2025/05/17(土) 18:49:20.89ID:B7xQsXDd
一つのセルにそんなに長い文字列を入れてしまうデザインを見直したほうが早いかも
692デフォルトの名無しさん
垢版 |
2025/05/17(土) 18:50:45.81ID:Mou0F5/k
やっとdictionaryのネスト、親ディクショナリー、子ディクショナリーが理解できました。
よくdictionaryのitemに配列を入れたら値が複数登録できると言うコードが詳細されていて、私も四苦八苦しながら覚えました。

だけどこれって本当は親ディクショナリー、子ディクショナリーが正しい答えですよね
ディクショナリーだとそれぞれの項目が文字列で指定でますが、配列だとインデックスでしか登録できない
2025/05/17(土) 19:22:23.61ID:hPL9irHC
>>686
うちは24や48から2ポイントずつ減らしならが総当りしてる
694デフォルトの名無しさん
垢版 |
2025/05/17(土) 20:04:52.16ID:Mou0F5/k
>>691
1行なら 縮小したら全体を表示する が使えるから、、、?
そして多めに行数を作成して、行数が少ないのなら削除するか、非表示にすればいいと?
なるほど
695デフォルトの名無しさん
垢版 |
2025/05/17(土) 20:06:06.97ID:Mou0F5/k
>>693
私も12の倍数で作成しています。
696デフォルトの名無しさん
垢版 |
2025/05/17(土) 20:19:45.31ID:Mou0F5/k
印刷周りの仕様、挙動をよく理解していなくて申し訳ないですが、
改ページで1ページの範囲を設定していれば、どれだけ行が大きいか、行数が多いかしても、
必ず1ページになる様にExcel側が自動調整されるのでしょうか?
優先度は改ページ、全ての行、列を〜ページに合わせる、zoomの順番でしょうか?
697デフォルトの名無しさん
垢版 |
2025/05/17(土) 21:01:27.82ID:HReuuPkT
>>696
それはVBAの問題なのか?
ここは何のスレかわかってるか?
698デフォルトの名無しさん
垢版 |
2025/05/17(土) 21:14:59.94ID:Mou0F5/k
>>697
VBAで書類の作成、印刷の自動化を申しつけられて、全自動化時代は余裕なのですが、印刷周りの設定はよく知らなくて、しかも実際に印刷作業をする人は別の場所の人だから、1ミリでも小さければ気に食わないんでクレームを入れてくるんです。
699デフォルトの名無しさん
垢版 |
2025/05/17(土) 21:18:54.18ID:Mou0F5/k
.PageBreak
.Zoom
.FitToPagesWide
.FitToPagesTall
font-size
セルの縦横
これら全てVBAではないのですか?
700デフォルトの名無しさん
垢版 |
2025/05/17(土) 21:29:04.01ID:HReuuPkT
>>699
VBA以前にそもそもExcelの印刷自体を知らない人なんだということはよくわかった
1ミリも狂わないように印刷するにはWindows APIを呼び出して使うかExcelで印刷するな
701デフォルトの名無しさん
垢版 |
2025/05/17(土) 21:36:27.58ID:Mou0F5/k
>>700
どのAPIがよろしいのでしょうか?
PDFには常に出力しています
702デフォルトの名無しさん
垢版 |
2025/05/17(土) 21:39:10.06ID:HReuuPkT
>>701
Canvas API
教えたからそろそろ消えろ
703デフォルトの名無しさん
垢版 |
2025/05/17(土) 21:56:35.49ID:Mou0F5/k
>>702
それはWindows APIなのでしょうか?
704デフォルトの名無しさん
垢版 |
2025/05/17(土) 22:02:21.39ID:HReuuPkT
>>703
いい加減にしろ
後は自分でPostScriptを書いてPDFファイルを作れ
705デフォルトの名無しさん
垢版 |
2025/05/17(土) 22:20:55.25ID:Mou0F5/k
>>704
Canvas APIはWindows APIなのでしょうか?
私はVBA以外はほぼ無知なのですみません
2025/05/17(土) 22:21:25.66ID:c0BqlY74
ぐぐれ
707デフォルトの名無しさん
垢版 |
2025/05/17(土) 22:28:10.07ID:Mou0F5/k
本当にAIのコミュ力につくづく人間は敵わないなと思う
708デフォルトの名無しさん
垢版 |
2025/05/17(土) 22:40:26.23ID:HReuuPkT
>>707
とことん馬鹿だな
教えてもらってそれかよ
消えろや
709デフォルトの名無しさん
垢版 |
2025/05/17(土) 22:48:37.53ID:Mou0F5/k
>>708
それがコミュニケーション能力が高い事なんですか?
2025/05/17(土) 22:54:54.99ID:2QmOCSUM
煽り耐性ないやつが次々と引っかかっててウケるー
711デフォルトの名無しさん
垢版 |
2025/05/17(土) 22:58:48.79ID:HReuuPkT
馬鹿はこうやって本性を曝け出す
2025/05/17(土) 23:31:01.83ID:QeS8RaKg
エクセル(VBA)で印刷の精度を求めるのは徒労だと思う
2025/05/18(日) 08:45:52.75ID:cP1cyZx+
いまだに位置合わせがどうこうやってる
生産性激低日本さん
714デフォルトの名無しさん
垢版 |
2025/05/18(日) 09:28:02.03ID:NiGvaOOd
>>692
配列がいい場合もある
使い分け
2025/05/18(日) 10:05:14.14ID:v1lfaeE4
>>696
相談の核は、構文の式の優先度を知りたいのか
成果物を要求する人の要望に応じるには、どこを直せばいいのかを知りたいのか

それらの式をあれこれ工夫して組み込んでもどうしてもズレてしまう だの
今のところ問題無いが先々を考慮して問題に成りそうなヶ所を潰しておきたい だの
こちら側では相談の意図がいまひとつ掴みきれない
具体的にサンプル上げるなり事例を書き込むなり
1mmズレるケースとズレないケース両方があれば、より判断しやすい
おれのはズレないよ アー〇ネイ〇ャーだもの
2025/05/18(日) 11:39:33.78ID:/BWwyZ2v
Dictionaryのkeyに複数値を入れれば2次元で格納できる
717デフォルトの名無しさん
垢版 |
2025/05/18(日) 11:50:29.67ID:Mk3OrkwO
>>715
改ページと全ての行、列を1ページに合わせると、Zoomのこの3つの依存関係、絡み合いが知りたいですね。
AIのご説明では、
まず改ページが最優先され、
次に全ての行、列を1ページに合わせるの設定が優先さる?
全ての行、列を1ページに収めるが設定されているとZoomの設定は無視される
そうです

あとあと行数が今より増えた時に、「フォントサイズが小さくなりすぎる」かもしれないので、今一度、Excelのページレイアウトの設定、仕様、挙動を完璧に把握したいなと思いました。
ありがとうございます。
2025/05/18(日) 11:53:43.56ID:JTwWUl1C
ところがね・・・
Windowsの場合は、パソコン側の液晶モニターの設定も印刷に影響するんだよ
プリンターもすべて同じLANにつながってるのを共有してるのに、別のPCから印刷するとズレるんだ・・・
719デフォルトの名無しさん
垢版 |
2025/05/18(日) 11:59:28.20ID:Mk3OrkwO
AIにお伺いして、より沢山の案や方法の回答を得たい時はどの様にご質問していますでしょうか?

私は具体的に〜をするにはどの様な方法がありますか?
と聞いていますが、質問があまりにも具体的すぎるのか、限定的すぎるのか、聞かれた事に対してしか答えてくれません(質問に対して抽象化して幅広く回答したら今度はAIは嘘をつくと言われると思いますが。)
2025/05/18(日) 12:05:26.30ID:9lhlIUdU
左右に並んだセルを連結すると文字の上下位置がずれて発狂するよね
721デフォルトの名無しさん
垢版 |
2025/05/18(日) 12:07:00.00ID:Mk3OrkwO
>>718
それもAIに言われました
スケーリングも影響しますと言われました。
高解像度のモニターで、アイコンのサイズを大きくするために使うあのスケーリングです。
プリンターのフォントや最小の余白サイズなどのプリンターの仕様
プリンターに実は縮尺の設定がかかっている事に気づいていない
などなど
2025/05/18(日) 12:20:35.59ID:Yd8pXRNj
スレチの話題ほど長く続くんだよな
Excelスレでやってくれよ
723デフォルトの名無しさん
垢版 |
2025/05/18(日) 12:24:15.85ID:Mk3OrkwO
公式ページに書いてありましたね。
Zoom プロパティが True の場合、FitToPagesWide プロパティは無視されます。

Zoomプロパティが False の場合、 FitToPagesWide プロパティと FitToPagesTall プロパティは、ワークシートのスケーリング方法を制御します。

(Zoomは)拡大または縮小する方法にかかわらず、元の文書の縦横比は保持されます。
2025/05/18(日) 13:41:54.68ID:v1lfaeE4
スレチとは言えないだろうけど、今のところ個人の感想を書いてるだけに近しいな
仕様に関しては、その書類を共有するグループ内で諮って今後の方針を決めればいいだろうし
環境の違いで発生するトラブルに関しては、最大公約数だっけ?なんかそういう系の
どんな環境でもほぼ同一の結果を出せますゾーンを決めて、それに沿った設計制作に
改めるべきだろうし
PDFに出せば問題軽減するってんならそれもひとつの解決策だし
掛けるコストに見合う結果が出ないなら意義は低い(少ない)
これが、個人研究ってんならより深く追及して解に近いものが得られたら発表してもらいたいが
725デフォルトの名無しさん
垢版 |
2025/05/18(日) 13:47:30.17ID:iKxgrlxH
longとstrの変数定義10個やって、ループ5万回回して中で変数に値を出し入れする

まとめてループ外で変数定義するのと、ループ内で適宜定義するのとどっちがよいので??
2025/05/18(日) 14:08:00.75ID:JTwWUl1C
>>723
保持されないんだな、これが
罫線の太さが一部だけ違ってるシートだと拡大率が縦と横で違ってくる
2025/05/18(日) 14:10:27.89ID:JTwWUl1C
>>725
MSの推奨は最初にまとめて宣言
チームでやるならみんなに合わせる
個人的な作業ならどっちでもいいけど、途中で方針を変えるとあとで混乱するからどっちかに決めて一生変えないこと
728デフォルトの名無しさん
垢版 |
2025/05/18(日) 14:47:49.53ID:qr58bPvk
>>723
この馬鹿、答えを教えてもらってもネチネチやってるのか
馬鹿はこれだから
消えろや
2025/05/18(日) 17:14:14.05ID:9lhlIUdU
>>725
VBAにブロックレベルのスコープはないからどっちも同じ
オレの好みは読みやすさ重視でループ内に書く方だが
プロシージャ内の2つのループで同じ変数名を使いたい時
ループ外で宣言しないといけなくなって打ちひしがれる
730デフォルトの名無しさん
垢版 |
2025/05/18(日) 19:26:33.94ID:NiGvaOOd
真円を印刷したら楕円になって発狂したの思い出したわ
どうやって解決したかは昔すぎて覚えていない
731デフォルトの名無しさん
垢版 |
2025/05/18(日) 21:45:07.54ID:JeO/PtYk
>>727
>>729
参考になります…!
ループ内の宣言コストとかはあんま気にしなくてもよさそうな感じなんですね(オブジェクト除く)
2025/05/19(月) 00:29:53.41ID:aSNuw95p
変数3、4個のプロシージャだったら変数の宣言しなくていいよね?
プロシージャが動いてる時だけメモリ消費するってことでいい?
2025/05/19(月) 00:49:32.05ID:nyMkteHn
>>732
Option Explicit しなさい
しないと、変数のタイプミスで簡単にバグる
2025/05/19(月) 03:01:33.66ID:xZYpAeMM
>>732
たとえ宣言してあっても、メモリ上に変数領域が確保されるのは実行中だけだよ
ただし宣言しないと全部Variant型にされるからメモリ効率も実行効率も悪くなる、と言っても体感はできないけど
735デフォルトの名無しさん
垢版 |
2025/05/19(月) 06:06:52.71ID:WEB+3jSu
>>730
図形の事に全く詳しくないから間違っているかもしれませんが、セルに合わせて伸縮したり、移動したりするのを無効にするのでしょうね
736デフォルトの名無しさん
垢版 |
2025/05/20(火) 02:20:44.35ID:vmioRAc9
ListView,TreeView入れて作ったら、大半の人がOffice2013 64bit使ってて動かないことが判明したんだけど、どうしよう
2025/05/20(火) 06:15:30.63ID:J92IpVQ8
作りなおす
738デフォルトの名無しさん
垢版 |
2025/05/20(火) 07:27:24.89ID:QvUhVdYo
ん? 2013にはそのview無いってこと?
2025/05/20(火) 07:40:50.77ID:QuREz4IK
32bitと64bitの互換性が無い Verが違う 今時2013つこてる方がキケンがあぶない
相手の環境を再現できるマシンを入手してそれで作り直す
がんばって自作する https://qiita.com/Q11Q/items/b4f8d50e760d114b21fd
740デフォルトの名無しさん
垢版 |
2025/05/20(火) 08:58:00.71ID:QvUhVdYo
あぁ、なる
昔大量にフォーム移行する時に、定義を一覧に出して、それを元に再構築するの作ったような記憶…
おそらくサイズ変更に合わせてフォントとかも変えたのかな…
741デフォルトの名無しさん
垢版 |
2025/05/20(火) 10:20:21.64ID:4cRKMiEn
きちんと動作環境を明確にする
クライアントと打ち合わせる
上司や営業に相談する
2025/05/20(火) 14:46:51.76ID:E4QmPhp5
2019ですら化石レベル化してるのに2013とはな
2025/05/20(火) 16:17:35.03ID:0n1WQM2u
2013がどうってんじゃなく使うDLLが違う
使用するべきDLLが32bit版か64bit版か判断するコードが要る
2025/05/21(水) 10:53:43.66ID:va6/rMba
Excel2013が危険なのには同意だけど
Excel2013/64からListView,TreeView/32を呼ぶのは無理ってだけで
Excel2013/64からListView,TreeView/64を呼べたら使えるんじゃね
2025/05/21(水) 11:32:04.49ID:gg1Rd+aD
所詮、ActiveXコントロール(ocx)だから
カレンダーコントロールと同じ運命を辿るような気がするけどね
必死に工夫して汗水流して作り上げても、寿命が風前の灯火で数ヶ月後には利用不可とか
746デフォルトの名無しさん
垢版 |
2025/05/21(水) 12:10:27.12ID:ZnDW2hJE
使用者、要望者のオーダーメイドでマクロを作成しても、これは嫌だ、あれも嫌だ、と言われるならなにも作る事は出来ない
脱Excelといって、既製品の業務ソフトを導入しても絶対不満しか出てこない
脱Excelの現実を知った気がする
そして全ての要望を取り込んで作成したマクロが属人化した闇Excelファイルなのだろう
747デフォルトの名無しさん
垢版 |
2025/05/21(水) 12:16:44.55ID:np4mB3oN
嫌かどうかで仕様を決めていると大変だろうな
2025/05/21(水) 13:16:57.81ID:gg1Rd+aD
>>746
そういう、いかがわしい新興宗教にのめり込んだ人のような発言はそろそろ控えたら?
書いてることが支離滅裂だよ?

>オーダーメイドでマクロを作成しても
 要望通りでダメなら、どこをどう改善すればいいかじっくり話し合いの機会を持てばいいだけ
 作成したと言い切れるのは、試作品を改良改善した末に仕上がったものに対して使う言葉
>これは嫌だ、あれも嫌だ、と言われるなら
 事前の要件や仕様を満たして無いんだろ? 打ち合わせの時に聞くだけの態度で居たとかで
 その制作物が仕上がった時の概要がじぶんのアタマの中にできていないからそういう事態に陥る
 経験不足もあるだろうし打ち合わせが打ち合わせの体を為していなかった、てだけ
>絶対不満しか出てこない
 その業務アプリに移行しましょうと先導した人間の責任 流行りの言葉なら任命責任
>全ての要望を取り込んで作成したマクロが属人化した闇Excelファイル
 これがまったく理解不能 属人とか闇とか言いたいだけちゃうんか、と
 そんな発言に賛同してくれるのは、あんたがた宗教の身内だけ
2025/05/21(水) 13:20:09.77ID:a2F5EjYc
TreeViewなどにはライセンスの問題もあったような
2025/05/21(水) 13:24:41.83ID:4tKBDgn4
顧客も打ち合わせしても話し通じないならAIと打ち合わせしてコード出してもらった方がいいってなるよな
2025/05/21(水) 13:28:08.25ID:RMq3dtvy
ぶっちゃけシステムなんてそんなもんだよ
コンサルや名の知れたSIerに頼んだって必ず不満は出るし、結局使い物になりませんでした、なんてことも珍しくない
ただし、VBAはユーザー側の人間が作ることが多いので、SIerみたいに「要件定義で決まった通りです」で逃げるわけにもいかないんだよね
752デフォルトの名無しさん
垢版 |
2025/05/21(水) 15:22:55.64ID:r/haQ8U2
仕様変更に合わせて納期も延長でいいんじゃね
753デフォルトの名無しさん
垢版 |
2025/05/21(水) 17:20:56.31ID:RhMOdQAE
だいたい配布前提で整備したコード書けば属人化なんてほぼしないわけで
取り込む要望も無理にまとめず適度に分割してやればいいし
敵に抵抗できないコミュ障コーダーが悪いまである
2025/05/21(水) 17:33:31.94ID:7nPavp7R
>>753
属人化の根源はコードそのものじゃなく脳内にしかない仕様だよ
コードからwhatを読み取れないから属人化する
2025/05/21(水) 17:33:52.05ID:7nPavp7R
whatじゃない、whyだな
756デフォルトの名無しさん
垢版 |
2025/05/21(水) 17:42:23.76ID:RhMOdQAE
根源とかどうでもいいんよ
VBA少しできますくらいの他人が
適当にメンテしながら使っていけるコード書けって話でしかない
2025/05/21(水) 18:08:10.91ID:7nPavp7R
>>756
配布前提で書いたコードだろうと属人化するって話だから、
メンテしながら使おうが属人化はするよ
758デフォルトの名無しさん
垢版 |
2025/05/21(水) 18:16:53.95ID:HDnlDCyv
こんげんかせんといかん
2025/05/22(木) 07:49:16.16ID:ZB7yrtfi
Excel属人化教の方々は、その属人の定義をして欲しい
属人の何がいけないのか? 全員が同じレベルに成れと言い募ってるのか?
フルオープンにしてコード見れば説明書に成ってる程の成果物を作れと言ってるのか?
それとも、いけない事は無いがただ単に属人って言葉に魅了されて使ってるだけなのか?
2025/05/22(木) 07:59:10.35ID:ZB7yrtfi
WhyやWhatが読み取れないからメンテ出来ない ってんなら、じぶんのWhyやWhatで作り直せばいい
それを持ってた奴が前作を作ったんだしそれが使えてきてたって事実は変わらん
おれにはできねえってんなら、前任者より能力が劣ってるということになるし、才能ある奴を
新たに採用するように働きかけする必要がある
シン成果物を作れる能力あるなら、前任者をつべこべこき下ろしてる時間はムダでしかない 成果物-1.0でもいいけど
2025/05/22(木) 08:28:50.00ID:cWZ2SmFA
>>760
書き間違えたのは申し訳ないが、whatはコードから読み取れるんよ
whyは何故その処理をしているか?何故その方法を選んだか?何故そのアルゴリズムなのか?
それら意図を完全に示す術はない
コメントを残せって言われるのはつまりwhyを残せってこと
whyを知らなければVBAに限らず、言語にも依らず、
あらゆるものごとは属人化する
属人化は必ずしも悪ではないけれど、
昨日の自分は別人ってことを鑑みれば効率が悪いことは明らか
2025/05/22(木) 08:29:26.28ID:uEqc52DQ
数年後の自分がメンテできるように作ればOK
人の能力はマチマチ、まだいない後任者のことを考えてもしゃーない
2025/05/22(木) 08:42:19.33ID:cWZ2SmFA
属人化はリスク要因となりえ、VBAは属人化する蓋然性が高いってことをわかった上で許容するのと、
わからず使う・属人化しないと信じて使うのとは大違いって話をしているに過ぎない
能力だの才能だの、シン成果物だの成果物-1.0だの、
手も頭も動かさない奴の言葉遊びほど虚しいものはないな
2025/05/22(木) 08:49:14.19ID:iwrIvlAH
属人化教なんて言葉を使っている時点で、もう何を言われても属人化の弊害なんて絶対認めないぞっていう雰囲気をぷんぷんさせているじゃない。このスレだけで何回この話題やるの?
一般に言われる業務の属人化というのは、特定の人がいなければ業務が回らない状態のことで、当該特定の人が休んだり退職したりしたときに業務が止まってしまうリスクがあることから好ましい状態ではないとみなされている。会社側としては業務内容を把握する従業員を複数人にしたり(1人に依存しない)、マニュアル化したりすることでリスクを低減化するのが通常の対応。
VBAはコード作成も実行もExcelだけでできるという特徴があり、このVBA固有の事情により、@専門のプログラマーが作成するコードに比べて一般にコードの質が低い、A会社側が把握しないうちに業務にコードが使われるという事態が生じがち。属人化の弊害が、特にVBAについて言われることが多いのはこれらの事情によるところが大きい。
要するに会社側から見て、属人化リスクを低減化する機会自体がなかったり(上記A)、コストを掛けて属人化リスクを低減化するほどの価値が見出せなかったり(上記@)というケースがVBAの場合には少なくない。
VBAがアイデンティティになっちゃっている人にはどう説明しても理解しないだろうなと思いつつ、一応説明するとこういうことね。しかし、属人化の弊害を否定したがる人って、見事なまでに会社側の視点が抜け落ちているのね。担当者個人の視点で、業務が多少効率化できるのならそれはいいことだという発想から出発してそこから一歩も抜け出ないのならそりゃ議論も噛み合わんわな。
2025/05/22(木) 08:52:23.13ID:cWZ2SmFA
>>760
才能ある奴wがマニュアルをじぶんのWhyやWhatで作り直して大惨事になった、
東海村JCO臨界事故ってのもあったな
2025/05/22(木) 09:12:43.00ID:ZB7yrtfi
Excelは属人化しやすい だからExcelで効率化を図る場合には、それに関わる部署・チーム・グループが
一丸と成ってそうならないような対策を施さなければならない 今後、対策されていない自動化は禁止する
とかならまだわかる
Excelは属人化ガー VBAは尚更ー を連呼してるだけで、何の生産性向上に繋がるんだ?
アタマがひどく悪い一族に至っては「だからVBA禁止」のお触れまで出す始末

問題発生しないよう努力する必要もあるし、問題発生したらすぐさま対策を講じなきゃならないのは
何もExcelに限らんだろうに
とりわけここ20数年で急に変遷進歩し続けてきてしまったPC作業に取り残された奴らの繰り言に近い
そんなだから失われた40年とか揶揄されちまう 先を見て向上心持ってもっととんがらないと
VBAに問題あるなら、それを解消することに全身全霊で打ち込みゃあいいだけ
何の解説者だか評論家気取りだか知らんが、悪いものを悪いと言う事なんか阿呆でもできる 悪い処は直し続けるてだけ
2025/05/22(木) 09:31:16.38ID:cWZ2SmFA
>>766
属人化を悪いって言ってるのはあなた自身だろ
俺は属人化を悪いなんて言ってない
属人化を問題だと思うなら解決すべきなのはそりゃそうだし、
解決策の一つとしての全面禁止だって、俺なら選ばないけど理解はできる
属人化が何故生じるのかを議論することは、それを解消することにも繋がる
属人化する/しないの幼稚な二元論でまとめようとするのは、
頭を使ってない・使えないことをひけらかしてるに過ぎないよ
2025/05/22(木) 09:35:02.46ID:mUoHJ/op
従業員目線なら、属人化はイコール自分への依存度で価値だから、そりゃ手放さないわな
2025/05/22(木) 09:40:52.16ID:cWZ2SmFA
会社をプロフェッショナルの集まりだとすれば、
結局のところ仕事自体がどこまで属人化を突き詰められるかだから、
しょーもないことを属人化すんなって話なだけ
2025/05/22(木) 09:46:17.63ID:ZB7yrtfi
念仏唱えてるだけで、一向に前向きに対処しない・対策しようともしないバカ共を嘲って「教」を付けてる
属人の意味を、じぶんの中で咀嚼・消化してない/しようともしないで、ヨソで聞き齧った言葉をなぞってるだけ
「前にならえ・右にならえ」がDNAに刻み込まれてるこの国の人間にゃあ、それが心地いいのかも知らんが
誰がやらなくともおれはやる ぐらいの気概が欲しいところ

と書くと、内容読まずに言葉尻だけ捉えて「それが属人化に繋がる要因だろ!」とか言い募る奴が居そうだが
オープンな属人化なら大いに結構だろ ←これも語弊がある物言いだがw
オープンにする努力を怠るな、と言ってる 制作する側もそれを使って効率を上げようとする集団も 共有ってそういうもんだろ
そのグループ・集団は同じ目的(収益の向上)を持った集団のハズなんだ その目的達成の方にこそ目を向けろ
足引っ張って他人の粗探ししてつべこべ文句言ってるだけじゃあ、そのうち滅びる
771デフォルトの名無しさん
垢版 |
2025/05/22(木) 10:05:21.01ID:cejl8MgF
>>760
時間が無限にあるのが前提ならそうだね
772デフォルトの名無しさん
垢版 |
2025/05/22(木) 10:07:32.69ID:cejl8MgF
>>765
あれ実はノーベル賞もらえるレベルの改良だよな
2025/05/22(木) 10:23:06.55ID:bEEUFRBb
>>765
裏マニュアルとは別の?
ググっても分からなかった。
2025/05/22(木) 11:03:11.01ID:j+nxGcrc
質の低いコードを公開されたって迷惑なだけなんだって。VBA命の人は、まさに収益向上の観点からVBAはメリットより害の方が大きいと判断する会社が少なくないってことをどうしても受け入れられないみたいね。
VBA = 生産性向上・業務効率化という無邪気な信念を持っているみたいだけど、多くの会社はVBAをそのようには評価していない。会社が本気でコードによる生産性向上・業務効率化をするつもりなら、どのような言語を選定するにせよ継続的な管理コストは必要になるわけだけど、それならVBAではなく、もっとちゃんとした言語でやりたいというのが普通なわけ。非プログラマ社員の内製VBAの改変履歴を管理したり、マニュアル作ったりなんてしたくないのよ。
2025/05/22(木) 16:37:21.75ID:ZB7yrtfi
さすが >>774を取るだけの素質を持ち合わせた人間の発言だなw
ExcelVBAスレでExcelVBA不要論を、あまり意味の無い言葉を並べ立てて講釈するとは
内製であれ外注であれ、その業務を賄うにはExcelで充分という案件は想定して無いだろ?
そういう案件に限ってという前提ならExcelVBAでいいじゃないか
ダメな理由を語りたいがためだけに持ち出した事例が、一向にその役目を果たしてない
どんなコードだろうと「質が低い」と判断できる能力を持ち合わせてるんなら、それを
ブラッシュアップするなり作り変えるなり その方が百万倍コストの面でメリットだろうに

どんな大袈裟なプロジェクトと比較してンの? んで、それ比較する意味あンの?
あんたの中ではあるのかも知らんけど、世間一般では無意味だ とおれは思うよ
2025/05/22(木) 17:36:10.44ID:cWZ2SmFA
>>775
少なくないってのを100%と解釈してるのか?
ダメだと判断する会社が多いってだけで、
良いと判断する会社が無いなんて書かれてないぞ
変なバイアスかけてレス読んでる様に思える
んで、ブラッシュアップなり作り変える(替える?)ことのどこにコストの優位性があるんだよ
無駄なコストを支払ってることに気づけないような奴が、
他人の発言の意味の多寡の判断なんてできないだろ
可か不可か、良いか悪いかみたいな単純な話にしないと理解できないポンコツ自慢はもうやめてくれよ
2025/05/22(木) 17:36:37.38ID:Fv3bLhDj
Excelで十分かどうかというのはあまり意味のない尺度だと思うけどね。
Excel VBAの案件って既存物のメンテを除けば基本的に現状ワークシート等での手作業を省力化したいというものだから、
そりゃExcelで十分に決まってる。元々人力でできる程度に細分化された業務なんだから。
VBAが批判されるのは、まさにそういう個別最適化の積み重ねによって細切れ(≒属人的)で非効率な業務プロセスが保存される傾向があるため。
2025/05/22(木) 19:51:20.63ID:RAnqaH1V
多くの会社から見て業務でVBAを使ってもトラブルが起きにくいパターンというのは主に2パターンあって、@重要なコードだが、何らかの理由で他の言語が使いにくい事情があるため、専門のプログラマに頼んできちんとしたVBAコードを書いてもらう場合。この場合、当然、VBA社員の出番はない。要するに、通常のシステム開発と同じだが、特定の事情により選定言語がVBAになるケース。もう一つは、Aあまり重要な業務ではないので、質の低いコードでも構わない場合。個人の裁量の範囲内でVBAの使用を認める会社というのはこっち。要するに個人で責任を取れる範囲内なら、会社は管理コストを掛ける必要もないし、担当者の裁量でVBAを使うことを禁止するまでのことはしないくても良いのではないかいう発想。それなりに合理的ではある。

逆にいうと、上記@Aいずれにも当てはまらないような使い方は、会社からするとリスク・コストを感じやすい。個人の裁量の範囲を超えて、非プログラマの書いたコードを業務に使用するような場合とかね。書いた本人はコードをオープンにしてブラッシュアップすれば良い、コストの面でも有利だなんて無邪気にのたまうけど、会社からすればそんな価値の低いものに管理コストを掛けたくない。仮に継続的な管理コストを掛けるならもっと価値のあるものに掛けたいわけ。はっきり言えば、新しく書き直すときでさえそういう既存のコードなんかない方が良い場合も多い。業務に使われている既存のコードがあるとなれば、どんなに酷いものであっても一応読まないわけにはいかないからね。

非プログラマの書くコードという括りで論じる限りは、Excelで十分な業務というより、低質なコードで十分な業務かというのが基準になるかな。それだって会社の方針次第だが。会社が全面的にVBAの使用を禁止しているような場合もあるからね。
2025/05/22(木) 21:02:03.17ID:aXwvtPcZ
VBA禁止な
reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f
2025/05/22(木) 22:58:58.92ID:zdx+eNOi
名前付き引数省略は害悪。全てキッチリ書け
2025/05/23(金) 08:26:51.53ID:oLOrCYhj
「多くの会社」を、それぞれが想定してる規模が違うような気がする
経産省のサイトを参考にすれば、商工業それぞれの規模から比較したら
小規模(社員数20人以下)のが俄然大半を占めてる(かつては零細と呼ばれてた)
製造業は九割に近付く勢いだし、小売業や飲食業も八割、卸売業は五割程度だが
「多くの会社」とひとまとめにする場合は、これらを指すのでは無いのか?
社員数2,000名以下の中規模とかをもって「多くの会社」と呼び為してる気がしてならない
小規模は、持ち合わせてる武器で戦うのがいちばん効率的なんだが
持ち合わせてるExcelだけで戦えるなら、それをフルに活用しない手は無いだろうに
その実態を知ったうえで「多くの会社」と書いてるんだろうか
2025/05/23(金) 09:06:27.49ID:RtFNfP1s
人手に余裕のない小さい会社こそ差別化要因にならない業務にはSaaS使うべきなんだよ
SaaSは企業規模に対する課金が多いため、むしろ小規模な企業の方がコスト効率も良くなる場合が多い
2025/05/23(金) 10:16:56.42ID:38AbBGg0
VBAの属人化リスクの議論って、むしろそういう小規模な会社こそが最も意識すべきことでしょ。中規模以上の会社なら、そもそも低質なVBAコードに業務を依存させるような間抜けなこと自体があまりないだろうし、仮にそういう事態を生じさせてしまっても、最悪追加コストで何とかできなくはない。
小規模会社には、VBAを「効率的」な「武器」だと思いこんで飛び付いて、必要な管理もしないまま「フルに活用」した挙句、にっちもさっちもいかない事態にしてしまったところが少なくなかった。その教訓としてVBAの属人化リスクが意識されるようになったんだよ。
「武器」にならないとまでは言わないが、そんなに大したものではないし、トータルで見れば「効率的」でもない。好んで「フルに活用」するようなものでもない。そういうVBAの等身大の実像が会社サイドに把握されるようになっただけの話。

「小規模は、持ち合わせてる武器で戦うのがいちばん効率的なんだが
持ち合わせてるExcelだけで戦えるなら、それをフルに活用しない手は無いだろうに」(>>781
多くの会社はこの後半部分が幻想に過ぎないことに既に気付いているが、VBAerには未だにこの幻想にしがみついている人が居るということ。
2025/05/23(金) 13:22:41.57ID:oLOrCYhj
>必要な管理もしないまま「フルに活用」した挙句、にっちもさっちもいかない事態にしてしまったところが少なくなかった
ここの事例を具体的に読ませてくれるサイトとかあるん? 統計とか?
文末を「・・してしまったところはほぼ無い」と書き換えてどっかで紹介して、それを鵜呑みにした読者がヨソでお披露目しても
気付かれないでしょ? おソースプリーズな言説

判り易く例として社員20人だとして、事務要員4人は規模に対して多い 大抵は現場と掛け持ちで4〜5人ならまだ普通
事務専任で1〜2人なのが一般的な見立てだろうと思う そのうち一人が丹精込めてVBA育ててたけどあいにく辞めた
他の人間は便利に使わせてもらってたけど、いざ辞められたらVBAだれもチンプンカンプン ならまだ有り得る
だからって、それが直接「だからVBA禁止!SaaSに移行!」って成ると頑なに信じてる?それ薦める?
小規模なら小規模なほど環境の変化を嫌うんだ あるものを何とかして使い続けられるならそうしたいってのが人の世の常
多少の手直し必要に成って助力が必要な状況なら、コネ使うなりしてでもそのものを使い続ける工夫に走る
タイミング良く同質のものを安価で提供できる業者とかが出てきて、それのサポートも請け負ってくれたりしたなら
ソッチに移行していくことはあったとしても、未知のサービスに賭けて投資してそれが自社の実態に即さなかったら
目も当てられない そっちのがリスキーだしその費用は丸々損害に等しい(授業料てか
どこの会社も業種が一緒なら業務も一緒だと思ってたら大間違いで、その会社独自の仕組みを持っていたりする
それに即して自在に加工できる道具として見ればExcelほど便利なものは無いのも事実

上では商工業を書いたけど、他にも建設、運輸・運送、士業えtc あらゆる業界で現実にExcel VBAが幅広く活用されてる
現実を鑑みても「ExcelのVBAは属人化しやすいから禁止」を言い張って止まないンなら、言い続けてりゃいいけどさ
書かれるたびにおれがしゃしゃり出てつべこべ反論してりゃいいんだろうし
2025/05/23(金) 13:35:20.91ID:+XeHUCKJ
どのように属人化するか・どの様に防ぐかの話題から、
属人化対策として禁止するか否かの話に
786デフォルトの名無しさん
垢版 |
2025/05/23(金) 15:19:50.38ID:eOaMEV2I
最後に 知らんけど ってつけた方がいいんじゃんね
知らんけど
2025/05/23(金) 15:21:21.07ID:mEX1XvmT
>>784
他の手段と比較してどうかはともかく、事実としてVBAが問題を起こすことが多いからあんたに仕事があるんだろ?
だったら属人化万歳くらいで流しときゃいいのに、いちいち突っ掛かってたら余計なストレスを作るだけだぞ
心配しなくても、あんたが顧客としているような会社は、全体最適云々を語るコンサルやシステム屋は相手にしない
まあSaaSについては結構小さいところもわりと積極的に営業するから敵になるかもね
2025/05/23(金) 15:53:12.83ID:dHvUhuhP
長くてわかりにくい
スパゲッティ文章はやめろ
2025/05/23(金) 16:24:52.89ID:oLOrCYhj
うん、途中からどうも話が噛みあわないな、とかは思っていた
ひと頃「ExcelのVBAは属人化しやすいから禁止する企業が増えてる」とかのたまう輩が徘徊してて
おま、それ、何もExcelに限らんだろ っつー意味で反抗してたし、そんなアホ論をこのスレで
平気で吹聴してる奴に向けて言葉のげんこつしてたんだけど どっか行っちゃったんか?
所詮、世間は、世の中は属人三昧だろ? それで右往左往世界が悪い方向に向かってる実例を
まざまざと目の当たりにしてる真っ最中だろ? で、それが悪かどうかなんか、もう少し様子を
見極めなきゃいけないまである
なんでわざわざこのスレをターゲットに、VBAは属人化!!!とか言い募らなきゃならん?
どこの回し者だ?、と

細かいこと言えば、じゃあってんでこれでもかっつー関数並べ立てて複雑怪奇な数式を組んだ
WorkSheetはどうなんだ? 属人化の極みだけどそれはいいのか? 見た目xlsxならおkなのか? と
至るスレで属人化!属人化!!属人化!!!と連呼してるならまだわかるが、なんでExcelスレ限定

で、こないだ別件で「Excel 売上管理」とかでネットをモゾモゾしてたら、そこら中の売上管理アプリの
宣伝サイトが、形ばかりのExcelのサンプル載せて「しかしExcelは属人化」っつー文言を決まり文句の
ように添えてたんだ ははぁ〜ん、とね、ある意味腑に落ちたし別の意味でがっかりしてたんだ
言い募る連中が自分の言葉でその悪弊を語れなくて「ネット見ろ」とか返すしか能が無かった理由が判明
そんなサイトだけじゃ無いのは承知してても、結局自分の意見として主張してンじゃなくて、受け売り
余所で聞きかじったのをなぞってるだけのレベルなんだな、と

しかし、少なくともこのスレに居続ける人間なら、ExcelのVBAで効率を図ることに意欲的であって欲しい
他のがいいよ、って奴はその宣伝だけして書き逃げしてて欲しい
まだまだExcel もっともっとVBA であり続けることが、このスレの健全化に貢献するはずなんだから

すぱげってぃwww 読み飛ばせばいいじゃんか 読んでくれなんて頼んで無いぞ?
2025/05/23(金) 16:44:22.04ID:HIpPOdnz
スレタイ
2025/05/23(金) 16:53:05.49ID:fshmIkkH
xlsmって唐突に未知のウイルスの疑いのあるファイル扱いになったりする事もあるから何も知らない人は扱うのが怖いかもね
2025/05/23(金) 17:18:49.63ID:4lmOgu2G
VBA職人が揶揄されるのも分かるわ。
ところで、仮にVBA職人、Ruby信者、Haskell信者、Rust信者で比べられたら、やっぱりVBA職人が圧倒的に格下扱いされちゃうのかな。ちょっと悲しみ。
2025/05/23(金) 17:28:32.52ID:U7YdU8g0
VBAがそれらと同列に比較されることはないから互いに眼中にないと思うよ
Excel VBAはピボットテーブルとか分析関数とかと同列の、Excelの上級スキルの一つに過ぎない
一般的なプログラミングとは別物
そのへんのエンジニアより、むしろBIツールがメインのデータアナリストなんかの方がVBA意識してるよ
2025/05/23(金) 17:34:04.21ID:4lmOgu2G
なるほど、そんなものかねぇ。
2025/05/23(金) 17:39:18.56ID:+XeHUCKJ
>>789
文意の分からん文章書いてて噛み合わないもクソもないだろ
伝える気ないなら書くな
読ませる気無いなら書くな
話を曲解して変な方向に話を誘導してるのはあんた自身だ
2025/05/23(金) 18:31:41.70ID:5vSRBrjF
言語にすぐ上だ下だ騒ぐ奴いるからな
2025/05/23(金) 18:59:01.81ID:BlARSTzn
言語じたいは下の下
反論する奴すらいない
2025/05/23(金) 19:12:24.88ID:K4ioF38n
構文として最低限どんなものがあって欲しいかっていうのは人によって違うからねぇ。いまは、JavascriptとかPython辺りが平均的なラインなのかな。まぁ、関数型言語等のユーザーから見ればJavaScriptとかPytnon辺りでも足りないものだらけということになるんだろうし、VBAでも慣れればそんなに不自由ではないよという人も大勢いるわけだしね。
799デフォルトの名無しさん
垢版 |
2025/05/23(金) 19:54:42.34ID:ybuGJY2P
C言語育ちのワイ、VBA始めた頃「えっ、ポインタってどうやって使うの?」って戸惑った思い出
自分の仕事が楽になる用途で使いまくってるからまぁ属人化しまくりだけど、
自分が退職した後(2年後)は知らんと思っている
2025/05/23(金) 20:17:02.36ID:dHvUhuhP
この辺がつらい

・tryがない
・for eachがバリアントのみ
・continueがない
2025/05/23(金) 21:01:05.99ID:61koEGUg
まぁ、なければないで何とかやっていけるもんだよ。
このスレではそう言っておくのが無難。
802デフォルトの名無しさん
垢版 |
2025/05/23(金) 21:05:52.61ID:fxCKrz9G
>>799
C言語にはfor eachがない、なぜならもっと原始的、シンプルな言語だからってCopilotに聞いたのですが本当なのでしょうか?
2025/05/23(金) 21:21:09.60ID:eG6EJpyW
>>802
ポインタに++すれば次の要素になるからむしろCのほうが融通が効く
804デフォルトの名無しさん
垢版 |
2025/05/23(金) 22:01:59.52ID:ai481srR
4行以上のレスは読む必要無いってマジだな
805デフォルトの名無しさん
垢版 |
2025/05/23(金) 22:09:05.20ID:4KSUIwLz
ぬるぽ
806デフォルトの名無しさん
垢版 |
2025/05/23(金) 23:17:20.35ID:fxCKrz9G
>>793
データアナリストならパワークエリーしてほしいな
807デフォルトの名無しさん
垢版 |
2025/05/24(土) 06:17:34.64ID:OSW0csek
属人化し易い言語と言うことは融通の利く言語と言うことでもある。
例えば、CやC++ではポインタが使えたけどC#では「それは危険だ」ということで使えなくなってしまった。
代わりにデリゲートを使ってセーフティーに参照しなさい、ってことなんだろうけど、まぁお仕事用の開発だったらそれでもいいのかもしれないけど、
昔PS-VITAってゲーム機があって、これがエクスペリアってスマホとクロスプラットフォームで開発できるように開発言語をC#にしてしまった。
ポインタは確かに参照先間違えると吹っ飛んだりメモリリーク起こしたりと危険なものではあったけど、扱いが面倒ではないし融通の利く機能だった。
それを潰してしまったことがPSPシリーズがVITAで終わってしまった原因ではないかと今でも思ってる。
808デフォルトの名無しさん
垢版 |
2025/05/24(土) 06:41:52.12ID:OSW0csek
>>798
JavaScriptをやったときには
前から.Net系の言語や、まぁVBAでもそうなんだけど、
何でクラスのインスタンスや文字列とかは変数に入れられるのにメソッドは入れられないんだろ?
って思ってた時期があって、
JavaScriptに当たったとき、
あ、出来る言語もあるんだってなって、あれVBAに欲しいなぁとは思った。
後はスクリプト系の言語はスカラー変数で型の指定がないから型の指定に慣れてると逆にそれが面倒だったかな。
VBAで言えば全部Variantで扱ってるようなもんだし。厳密には違うらしいけど。
2025/05/24(土) 10:35:16.26ID:sJ/mZ3mU
若いコにはやっぱPython辺りが人気とか?
2025/05/24(土) 13:44:59.73ID:3VNn3d5Y
スピル周りやLET,LAMBDAなどの関数が充実し
Excel=ビジュアルな関数型言語だと勝手に思っている
811デフォルトの名無しさん
垢版 |
2025/05/24(土) 14:39:09.90ID:a4AdJqTs
ビジュアルな関数型言語はemacs-lispだろ
812デフォルトの名無しさん
垢版 |
2025/05/24(土) 15:44:49.02ID:0gUvgwlc
表検索するのにSQL使ってたけど、FILTER覚えたら単純な検索ならこれでいいかー、ってなった
813デフォルトの名無しさん
垢版 |
2025/05/24(土) 20:17:19.55ID:c7V+L981
このスレはバカの話はなぜ長いのか考えるスレになりました
2025/05/24(土) 20:41:36.84ID:6QA0+Pxw
頭の良い人は難しいことを簡単に説明出来る
馬鹿は簡単なことを長々と判り難くする
815デフォルトの名無しさん
垢版 |
2025/05/24(土) 20:44:24.68ID:OSW0csek
>>813
正直すまんかった
久しぶりにVBAスレ来たからつい・・・
でもVBAはいい言語だと思うよ
2025/05/24(土) 21:07:47.86ID:cYe6QRvj
VBAは言語なのだろうか
VBは言語だけども
817デフォルトの名無しさん
垢版 |
2025/05/24(土) 21:42:51.33ID:ZMjSY/PV
A1セルはこのフォルダのパスを記入する
A2セルはこのフォルダのパスを記入する

流石にこれは通じる、、、よね?
818デフォルトの名無しさん
垢版 |
2025/05/24(土) 21:44:12.53ID:ZMjSY/PV
>>816
チューリング完全がプログラム言語の定義なのでしょう?
だったらVBAはプログラミング言語なのでは
2025/05/24(土) 22:37:10.39ID:iK5rs3WU
A1 Write this folder pass.
820デフォルトの名無しさん
垢版 |
2025/05/25(日) 12:18:28.20ID:IvH5YvLQ
dictionaryやFileSystemObjectのfunction関数を使っているけど、dictionaryに登録する処理や取得したファイル名やファイルパスに対する操作は事なる

こう言う場合、どうすれば個別の条件にも対応できるfunction関数が作れますか?
2025/05/25(日) 12:36:22.85ID:ubpRgCst
異なる操作をひとつの関数で行いたいという質問ですね!
まずはどういう操作を行っているのか教えてください!
2025/05/25(日) 12:45:27.58ID:czPn1bap
dictionaryは死ぬ予定だから使うのやめなよ
2025/05/25(日) 12:53:50.40ID:ubpRgCst
>>822
そうですね!
Excelなのだからデータはワークシートに格納するのがスジですね!
2025/05/25(日) 13:20:14.05ID:fZ8kzLje
AIみたいな解答ワラタ
825デフォルトの名無しさん
垢版 |
2025/05/25(日) 16:48:27.92ID:zOE9ehCa
ホントにAIに聞いた。
個別の条件にも柔軟に対応できる function を作るには、いくつかのアプローチが考えられます。例えば、以下のような方法を試してみてはいかがでしょうか。
1. パラメータを活用する
2. Enum または定数を使う
3. コールバック関数を使う
2025/05/25(日) 17:36:59.25ID:QBoxveBd
何をしたいのかが謎
型によって処理を分岐させたいってことかね

Function 関数(処理対象)
 型名 = TypeName(処理対象)
 Select Case 型名
  Case "Dictionary"

  Case "File"

  Case "Folder"

 End Select
End Function
2025/05/25(日) 18:31:50.10ID:czPn1bap
>>823
そういう話じゃなくVBS廃止の副作用で連想配列や正規表現が死ぬって話
828デフォルトの名無しさん
垢版 |
2025/05/25(日) 18:42:26.13ID:rOBfPREU
>>827
VBS廃止の副作用で死ぬのは噂や推測じゃなくて公式の情報なの?
829デフォルトの名無しさん
垢版 |
2025/05/25(日) 19:07:30.81ID:IvH5YvLQ
ファイルシステムオブジェクトでフォルダの中のファイル名一覧と、ファイルパスを取得したい時もあれば、
ファイル名に部分一致するファイルのパスを取得したい時もある
830デフォルトの名無しさん
垢版 |
2025/05/25(日) 19:13:49.79ID:5C/Jye7Q
従来の正規表現の代用って無いの
2025/05/25(日) 19:54:07.08ID:czPn1bap
>>828
逆にあれだけ情報出ててなんで死なないと思うの?
https://techcommunity.microsoft.com/blog/windows-itpro-blog/vbscript-deprecation-timelines-and-next-steps/4148301

>>830
vba-regex by sihlfallっていう、
RegExp代替のフルVBAで書かれた正規表現エンジンがある
2025/05/25(日) 19:58:13.45ID:bo3VS07C
>>829
はい!
if文で条件分岐すれば、簡単に実現できます!
833デフォルトの名無しさん
垢版 |
2025/05/25(日) 20:04:43.89ID:IvH5YvLQ
私はVBAの正規表現が死んだら、パワークエリーでJavaScriptの正規表現を使うわ


set オブジェクト = nothingって必ずした方が動作が確実になるのでしょうか?
Wordのドキュメントやアプリケーションを処理する時にエラーが出たのでそう思いました。
2025/05/25(日) 22:03:34.39ID:QBoxveBd
正規表現はREGEX関数が実装されたのでVBAでやる必要なし
835デフォルトの名無しさん
垢版 |
2025/05/25(日) 22:32:05.60ID:d/seLvao
>>822
知ったか乙
良く調べて書き直せ
2025/05/26(月) 02:34:52.38ID:J879X3+V
>>835
Microsoft Scripting Runtimeに依存してるからVBSと共に死ぬ
FSOなんかはScripting Runtimeには依存してないから引き続き使える
間違ってるなら指摘して
認識改めるから
2025/05/26(月) 09:38:22.00ID:G1Vrdcz4
>>820 が聞きたいのは
https://www.limecode.jp/entry/syntax/bind-set-filesystemobject
この辺の処理の仕方なんでは? 最後まで精読すれば、どういう書き方をすれば
より都合が良くなるか、それなり理解が深まるような
838デフォルトの名無しさん
垢版 |
2025/05/26(月) 09:53:10.39ID:wHcYCN0P
>>833
>set オブジェクト = nothing
それ書かないで過去に何度か問題起きてたような
ファイルopenして、close書かなくても勝手に閉じてくれるとしても、書いたほうがいいようなもん
たった1行各程度で未然にトラブル防げるなら書いとけと
(かと言って、親オブジェクトから連なる小オブジェクトはいちいちnothingせずに、親オブジェクトだけ書いちゃうことも多いけどな。小さい処理だと特に)
839デフォルトの名無しさん
垢版 |
2025/05/26(月) 12:08:21.83ID:chNfFSjB
>>836
間違えている
どのDLLに何が入っているかだ
840デフォルトの名無しさん
垢版 |
2025/05/26(月) 13:55:33.90ID:cvwCoF8H
>set オブジェクト = nothingって必ずした方が動作が確実になるのでしょうか?

した方が良いじゃなくてするべき
841デフォルトの名無しさん
垢版 |
2025/05/26(月) 17:21:30.90ID:c1JRhLC0
コピペ荒らしこのスレだけ来ないの面白いな
842デフォルトの名無しさん
垢版 |
2025/05/26(月) 18:35:02.01ID:FaOK97dk
>>837
すみません
今の私は例えばファイルシステムで言えば、
フォルダの中の全てのフォルダ名とフォルダパスを取得
フォルダの中の全てのファイル名とファイルパスを取得
フォルダの中に指定のファイル名と異なるファイルがあれば削除
と言う様に、
それぞれのサブプロシージャを作成する事しかできていません
なので、一つのサブプロシージャに条件に応じて複数の処理が行えないかなと思いました
原作論で言えば、一つの処理しかできないサブプロシージャこそ正しいのかもしれませんが
あと、それぞれのプロシージャでファイルシステムオブジェクトを宣言とセットをしてしまっています

nothingは今までプロシージャを抜けた時点で解放されるから特にする必要がないと思っていましたが、Wordを操作する様になって、nothingをしないと処理が止まってしまうので意識する様になりました
2025/05/26(月) 19:11:18.49ID:mCaBFscc
Sub Yaritai(i as integer)
if (i and 1) <> 0 then
Call Sub1()
elseif (i and 2) <> 0 then
Call Sub2()
End Sub
844デフォルトの名無しさん
垢版 |
2025/05/26(月) 20:30:26.44ID:sP5+kUYx
>>842
ご自分で言ってる通り、ひとつのモジュール、関数、メソッド等にはひとつの役割を与えて作るのがセオリーです。ちなみにそれを単一責任原則と言います。
ひとつのプロシージャ内で出来るかと言えば、再起処理やStaticな変数を上手く使えば恐らく出来ないことは無いでしょうが、そうするメリットをあまり感じません。
ひとつのプロシージャで処理するのではなく、ひとつのクラスとしてその辺の処理を行うことを検討しては如何でしょうか?
そうすればメンバ変数として宣言したもののインスタンスをコンストラクタで生成することも出来ますし、デストラクタで解放することも出来ますよ
845デフォルトの名無しさん
垢版 |
2025/05/26(月) 20:36:57.49ID:sP5+kUYx
×再起処理
◯再帰処理
誤変換すまんこ
846デフォルトの名無しさん
垢版 |
2025/05/26(月) 21:18:23.47ID:FaOK97dk
>>844
クラスモジュールを一通りやった事がありますが、いまいちクラスモジュールの使い方を知りません
どうすればそれぞれの機能をクラスモジュールで効率的に実装できるでしょうか?
2025/05/26(月) 22:59:03.14ID:Eh03XDLb
セルから機種依存文字を直接拾ってくるのは難しいですか?

例えば☐(unicode:2610)が入ってるセルをクリックすると☑(unicode:2611)に書き換える、みたいなのを実装する場合、
if(Range("A1").text="☐")then
だとRange("A1").textでセルの文字は取得できませんよね?
(もちろん「="☐"」で直接比較することもできませんが)

どうにかしてセルの機種依存文字を拾ってきてその種類を判定することは可能でしょうか?
2025/05/26(月) 23:15:54.66ID:MWZ/4kNq
>>847
Hex(WorksheetFunction.Unicode(Range("A1")))
2025/05/27(火) 15:49:48.18ID:j5Gfr/Ar
>>847
>Range("A1").textでセルの文字は取得できませんよね?
取得はできる。VBEで使えない文字だからソースに直接その文字を書けないだけ

Dim CHECK_ON As String: CHECK_ON = ChrW(&H2610)
Dim CHECK_OFF As String: CHECK_OFF = ChrW(&H2611)

If Range("A1").Value = CHECK_ON Then
Range("A1").Value = CHECK_OFF
Else
Range("A1").Value = CHECK_ON
End If
2025/05/27(火) 17:59:07.28ID:2OPk25Mu
>>848
解決しました。
ありがとうございます。
851デフォルトの名無しさん
垢版 |
2025/05/27(火) 20:17:39.42ID:3QS90eHP
Excelの話ではないからスレ違いなんですが、 Wordのドキュメントの2ページ目の行に文字列を挿入するにはどうしたらいいでしょうか?
2ページ目の〜行目にと言う様な指定はできないのでしょうか?
852デフォルトの名無しさん
垢版 |
2025/05/27(火) 20:38:35.17ID:0hlUsnMF
>>851
スレチとわかっていて厚かましい
死ね
853デフォルトの名無しさん
垢版 |
2025/05/27(火) 20:52:46.35ID:OuONf5SF
>>852
この馬鹿モンが!

>>851
いい質問ですね
ExcelのほうがメジャーでWordはマイナーなのだけど
WordのVBAをはじめた人にとっては初期段階でやりたい操作なのではないでしょうか?

簡単ではないですが解決策はあります
たしかinformationみたいな名のプロパティを使ったような気がする
(もうWordVBAは数年使ってないから忘れた)
ChatGPT使えば教えてくれるかも
2025/05/27(火) 20:54:35.84ID:DtCiAPP8
>>853
死ね
2025/05/27(火) 22:13:59.20ID:JUnNHiQe
>>851
ActiveWindow.ActivePane.Pages(2).Rectangles(1).Range = "文字列" & ActiveWindow.ActivePane.Pages(2).Rectangles(1).Range
856デフォルトの名無しさん
垢版 |
2025/05/28(水) 00:45:03.58ID:7WzKj5D7
フォームを作るのに標準のコントロールやAPIでは動かないことがあったから、ついにPowershellで作り始めちゃった
2025/05/28(水) 01:00:15.46ID:+7HocyMO
PowerShellは
System.Collections.Genericが使えるからかなり楽だよなぁ
VBAと違ってフォームデザイナが標準で付いてないのが難だが
858デフォルトの名無しさん
垢版 |
2025/05/28(水) 07:40:29.71ID:LbsE8EcH
VSの方が楽なんでは
PS使ったことないけど
859デフォルトの名無しさん
垢版 |
2025/05/28(水) 08:42:06.86ID:WNN+73zR
PowerShellはbatと違って、一手間や権限設定が必要と聞いたからやめた震え声
本当にそうなのですか?
860デフォルトの名無しさん
垢版 |
2025/05/28(水) 08:58:57.33ID:DZlhdmsz
震え声で言ってるの?
2025/05/28(水) 09:02:42.36ID:3/66YXCT
スレタイを音読してみよう
862デフォルトの名無しさん
垢版 |
2025/05/28(水) 09:56:27.88ID:0RI44N1Y
エグザイル ビバ しつもんしる
863デフォルトの名無しさん
垢版 |
2025/05/28(水) 20:05:51.40ID:WNN+73zR
VBAでファイルやフォルダのパスはいつも一覧表で利用しているのですが、当然属人化するリスクがあるので、もっと柔軟にパスを設定できる方法を探しています。
今考えているのは、ファイルやフォルダが見つからなかった時にダイアログを開いてフォルダやファイルを選択させ、選択したファイルやフォルダのパスをセルに記入する、と言う方法なのですが、もっと簡単で確実で柔軟な方法はないでしょうか?
2025/05/28(水) 20:44:52.08ID:Z5h4paoG
自分は設定シートを用意して、そこに記述してあるものを参照してる
2025/05/28(水) 20:50:09.42ID:bd87TuSw
ログインユーザーのマイドキュメントをルートにして開く
具体的には「HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal」
のパス
866デフォルトの名無しさん
垢版 |
2025/05/28(水) 21:40:10.79ID:WNN+73zR
>>864
その設定用シートに
例えばフォルダやファイルを複数選択した状況で右クリックのパスをコピーでシートに貼り付ける
という事さえも出来ない、わからない人も想定しないといけない訳で、、、
867デフォルトの名無しさん
垢版 |
2025/05/28(水) 21:58:53.67ID://Fv0twK
>>863
エクスプローラーからファイルをドラッグドロップ
868デフォルトの名無しさん
垢版 |
2025/05/28(水) 22:16:15.52ID:WNN+73zR
>>867
知らなかったです
これができるなら本当に希望が見えてきました
869デフォルトの名無しさん
垢版 |
2025/05/28(水) 22:18:57.59ID:QfAx2JsO
馬鹿ばっか
870デフォルトの名無しさん
垢版 |
2025/05/28(水) 23:46:46.18ID://Fv0twK
>>868
https://excel.syogyoumujou.com/memorandum/d_and_d_1.html
このやり方が簡単そう
871デフォルトの名無しさん
垢版 |
2025/05/29(木) 07:11:07.31ID:cC95Jm/J
>>870
よくよく考えれば当たり前なんだけど、ドラッグ&ドロップで追加する機能もあるんだ
これは便利だ
872デフォルトの名無しさん
垢版 |
2025/05/29(木) 17:25:49.51ID:fp+yAGdo
FileSystemObject の TextStream が使えないなら ADODB の Stream を使えばいいじゃない
と思ったら挙動が違ってびっくり
873デフォルトの名無しさん
垢版 |
2025/06/01(日) 20:16:56.40ID:wTah86rB
初歩的な質問で申し訳ないですが、マクロ実行中にエラーなどでデバック画面、エディタ画面に移動せずに、エラーハンドリングなどを実行してプロシージャを終了するにはどうしたらいいですか?
2025/06/01(日) 21:54:45.65ID:fzXRF4Kq
>>873
On Error Resume Next
2025/06/02(月) 00:34:11.70ID:14Td775l
[ツール] [オプション] [全般]
エラーでトラップ
●エラー処理対象外のエラーで中断

ということではなくて?
2025/06/02(月) 00:35:28.23ID:14Td775l
×エラーでトラップ
◯エラートラップ
877デフォルトの名無しさん
垢版 |
2025/06/02(月) 07:36:05.35ID:hx4qvUMZ
>>614
on error goto ラベル名
vba エラーハンドリング で検索して例を見た方が早いよ
2025/06/02(月) 08:46:36.26ID:IeMpK/LE
>>614
そんなひとつのモジュールに詰め込んだら管理しにくいでしょ。
モジュールは分ける。
2025/06/02(月) 09:24:06.39ID:3Ov4fjqk
>>878
何を基準にかを書かかないと役立たずじゃない?
2025/06/02(月) 15:03:33.91ID:DSKTrfoz
馬鹿はそんなことも判らないのか
2025/06/02(月) 15:07:32.82ID:OjGRkHiP
>>880
スレタイ読めない馬鹿w
882デフォルトの名無しさん
垢版 |
2025/06/02(月) 19:50:00.14ID:K2UVQp3e
>>614
ひとつのモジュールにはひとつの役割を
ひとつのプロシージャにもひとつの役割を
与えて書けばいいんじゃない?
もちろん、モジュールとプロシージャでは
与える役割が全然変わってくるけど

例えばモジュールに車という役割を与えたら
プロシージャには走る役割を与えたり

後はセンス
883デフォルトの名無しさん
垢版 |
2025/06/02(月) 20:06:38.96ID:Xhmb9taU
ありがとうございます
やはり on error goto ラベル名 なのですね
884デフォルトの名無しさん
垢版 |
2025/06/02(月) 20:25:45.14ID:gI3jZeU7
on error resume next
ヤバそうな処理
if err.number<>0 then
エラーリカバリー
end if
on error goto0
885デフォルトの名無しさん
垢版 |
2025/06/02(月) 20:45:44.86ID:Xhmb9taU
>>884
エラーが発生している、あるいはしそうな処理がある、というよりは、マクロ実行中にどんなバグでも発生したら、発生した時点で終了させる必要があります
2025/06/02(月) 21:35:59.74ID:nQl9pEtd
終了前に
err.number = エラー番号
をセットしてジャンプさせるハンドラがいる
こわー
2025/06/02(月) 22:06:18.54ID:ZCDsMgZ+
Sub Div0()
On Error GoTo Err
MsgBox 1 / 1
MsgBox 1 / 0
MsgBox 1 / -1
Err:
MsgBox "ゼロで割るな、クソが"
End
End Sub
2025/06/02(月) 22:26:41.07ID:ncJUEcFA
Err: の前で Exit Sub しないと
889デフォルトの名無しさん
垢版 |
2025/06/03(火) 07:35:55.27ID:o/OLh2ct
異常が起きる前にファイル開いてた場合、closeしないで終了してしまうとかある
890デフォルトの名無しさん
垢版 |
2025/06/03(火) 07:39:00.03ID:/ZJ1mBw3
VBAのツール作りは時間がかかるのが当たり前でしょうか?
作り方は分かっているし、作るツールもたいしたものではないのに、それでも1日2日では終わらないです
891デフォルトの名無しさん
垢版 |
2025/06/03(火) 10:48:59.43ID:Kk3A2bVT
ものによる、人による、まともにテストしてるかにもよる
2025/06/03(火) 10:57:06.67ID:Q0vXXWY4
どうせ著作権侵害や不正アクセスツールだろ
893デフォルトの名無しさん
垢版 |
2025/06/03(火) 19:25:30.47ID:gpacmpqZ
>>890
まぁそうだね
だから綺麗に部品化しておくことが大事なんだよ
それを後で使い回せるようにね
894デフォルトの名無しさん
垢版 |
2025/06/03(火) 20:26:44.49ID:/ZJ1mBw3
自分が勤めている会社で理解者や協力者を増やそうと、少しでもVBAに興味を示した人や、VBAを齧っている人を相手に勉強会を開催しても、結局VBAがわかる人は少ない
という話を聞きますが、やっぱりVBAといえど、難しいのでしょうか?
Power Queryでもそういう話を聞きます
2025/06/03(火) 21:02:42.93ID:cgHky4oh
VBAが難しくないんだったらさっさとVBA卒業して本職のITエンジニアになった方が稼げるからねえ
向上心がありすぎてもいけない、中途半端なツールなので
896デフォルトの名無しさん
垢版 |
2025/06/03(火) 21:09:44.47ID:Kk3A2bVT
チンタラ残業代稼いでる人にとって効率化は最大の敵
VBAにしろRPAにしろ最大の抵抗勢力よ
897デフォルトの名無しさん
垢版 |
2025/06/03(火) 22:04:21.82ID:gr7bEf2i
>>872 で愚痴って終わりなのもアレだから一応書いとく

・事象
 FileSystemObject.TextStream.ReadLine と ADODB.Stream.ReadText(adReadLine) が同じ結果にならない

・原因
 改行コードが CRLF と LF が混じったお行儀のよろしくないファイルだった

・対処
 LineSeparator = adLF として Replace(ReadText(adReadLine), vbCr, "")
 とやったらOKだった
2025/06/03(火) 23:26:25.06ID:aKU11sxP
>>897
Microsoftのマニュアルよりも詳しい説明
ADODB.Stream: https://atsumitm.iobb.net/its/its-050.php
TextStream:  https://atsumitm.iobb.net/its/its-051.php
899デフォルトの名無しさん
垢版 |
2025/06/03(火) 23:46:58.61ID:gpacmpqZ
>>894
VBAは比較的間口が広くてとっつき易い言語ではあるとは思うよ
ただ、何の言語でもそうだけど教える人がいると受動的になりがちで聞いてりゃ分かるようになると思ってしまうのはマズい
聞いてりゃ分かるようになる言語なんて存在しない
分かる人が少ないのは結局、VBAを本当に必要であることを迫られる立場に無いからだと思う
VBA出来なきゃ今いる会社をクビになるくらいに迫られたら大概の人は理解する
でも教えてくれる人がいるということは恵まれたことだと思うよ
このスレにいる大多数の人は恐らく独学で仕事場で使えるようにならざるを得なかった立場なんじゃないかな
900デフォルトの名無しさん
垢版 |
2025/06/03(火) 23:58:42.71ID:/ZJ1mBw3
>>899
私も完全独学で覚えました
というプログラミングは独学で学んでいる人ばかりではないのですか?
プログラミングスクールは役に立たないし、かと言って会社は教えてくれない
901897
垢版 |
2025/06/04(水) 00:06:22.21ID:/Ak3M73b
>>898
このサイトぐぐるとよく見かけるようになったけど、詳しすぎて理解できないw
2025/06/04(水) 00:40:57.38ID:b8XC2mTd
自学できない人はダメだよね
2025/06/04(水) 05:30:19.54ID:3c6clsCg
独学って、大半の人は言語に固有の文法と、開発環境に依存する実行方法を覚えただけでしょ
だからデータ型の違いとか文字コードとかアルゴリズムとかファイルシステムとか、基本がわかってないから別の言語に手を出せない
904デフォルトの名無しさん
垢版 |
2025/06/04(水) 06:02:44.09ID:/hC9EQXc
ここ見てりゃわかるけど、コピペで動いて偉くなったつもりの馬鹿ばっかだから
905デフォルトの名無しさん
垢版 |
2025/06/04(水) 07:11:35.77ID:jKpT1SFo
>>903
そうね
それはその通りだと思うわ
だから>>894の言ってる教えている人が
そもそものVBAの基本的な型やら
分岐や演算とかよく使うObjectの扱いとかを
最初に教えていることを切に願うわ
906デフォルトの名無しさん
垢版 |
2025/06/04(水) 07:34:51.95ID:BFbm2+Cn
>>900
覚えるのは自分、教わったのに覚えてないようでは学べてない
あと文法は覚えてもアルゴリズムは考えるもの
教わってないからできないって言ってるのは初心者以下な
907デフォルトの名無しさん
垢版 |
2025/06/04(水) 07:44:26.54ID:f2CAL3f8
やる必要性がないからやらないけど、Pythonが簡単というならPythonだってわかる気がするし、C言語がFor eachもない様な単純な言語だというならそれはそれでできそうな気もする(Copilotがあるから尚更)。
ローコードにしろスクラッチにしろそれは同じ。

既製品のソフトウェアを導入するか、VBAで作成するかならどちらが安いと思いますか?
もしVBAの方が安いなら世の中マクロだらけだと思うのです。
2025/06/04(水) 08:21:45.39ID:B6zQeN2g
誰も責任を負いたくない、率先して矢面に立ちたくない方々だらけだから
2025/06/04(水) 08:50:54.30ID:yTwvetl9
>>907
マクロだらけだよ
それらを管理する人(作成者)が抜けていくから管理不能になる
そういった事象を解決する銀の弾丸としてRPAやノーコードツールが喧伝されたけど、
管理する人がいないって意味では同じなので同じことが繰り返されてる
2025/06/04(水) 10:16:27.04ID:pOYKhOcI
>改行コードが CRLF と LF が混じったお行儀のよろしくないファイル

CSVなら普通にあるな
行儀の問題じゃない
2025/06/04(水) 10:36:26.59ID:yTwvetl9
行儀だよ
少なくともRFC上においては行末がCRLFであると規定されてる
ファイルの最後のみがどうでもよい
2025/06/04(水) 11:22:31.03ID:ZuFYF6Nx
>>907
どっちが安いって、保守コストまで考えて言ってる?
そりゃ作りっぱなしならVBAのが安上がりだけど、それじゃ後で困るって話をしてるんでしょ
913デフォルトの名無しさん
垢版 |
2025/06/04(水) 12:21:29.23ID:pOYKhOcI
LFは行末じゃないよ
914デフォルトの名無しさん
垢版 |
2025/06/04(水) 14:36:42.79ID:p0LJP29f
CSVの行改行と項目内改行が使い分けられてないわけが無い
使い分けられてなければ復元不可能になる
915デフォルトの名無しさん
垢版 |
2025/06/04(水) 14:39:56.22ID:p0LJP29f
>>914
"あれば可能だが無いの見たことあるのよね…
2025/06/04(水) 16:28:29.01ID:3c6clsCg
標準の改行コードはOSによって違う
CR、LF、CR+LF、LF+CR、すべてのパターンが実在する
フィールドに改行やコンマを含めたい場合、レコードの区切りと違うコードを割り当てる場合もあれば、クォートなどの記号でフィールドの範囲を明示する場合もある
Windows版Excelはダブルクォートでフィールドの範囲を指定するのが基本
2025/06/04(水) 16:30:20.58ID:3c6clsCg
>>915
それは固定長かセパレータ(コンマ)の数をカウントしてるかどっちかかな
2025/06/04(水) 18:23:31.04ID:RQn0r/Lq
>>916
CR MacOS(UNIX化前)
LF UNIX、MacOS(UNIX化後)
CR+LF Windows、DOS
LF+CR ← なんてOS?
919デフォルトの名無しさん
垢版 |
2025/06/04(水) 18:39:20.47ID:f2CAL3f8
>>909
RPAにしろ、ノーコードにしろ、なんにしろ、そうなりますよね。
結局社内でどれだけ学習意欲のある人を揃えるかによりそう。
2025/06/04(水) 19:22:49.50ID:7S8kDVf/
>>913
由来のタイプライターを鑑みたらLFは本来行頭に来るべきものだけど、
現実的には行末
2025/06/04(水) 19:55:51.24ID:frrYvMiA
頑張ってVBA勉強したところでプログラミングスキルとしては流石に時代遅れ&最底辺だし、
事務員としてスキルアップしたいならツールに入れ込むより業務知識を強化した方がいいし、
組織の中で出世したいなら自分でVBA書くより他人に書かせて継続的にスケールする仕組みを作るべき
そして、めでたく業務効率化できたとして、いず」行き着く先は「脱Excelで属人化解消&業務効率化」でVBA職人は悪者扱いだ
本当にVBAを広めたいのなら、個人の意欲に頼るのではなく、組織として適切なインセンティブを設けることだな
922デフォルトの名無しさん
垢版 |
2025/06/04(水) 20:02:53.71ID:f2CAL3f8
>>921
結局、経営者次第だよね
まるでITや業務効率化に興味がないなら何もできない
社員の進言に耳を傾けないなら騙されもするし、せっかく導入したツールは社員にとって非常に使いづらい
923デフォルトの名無しさん
垢版 |
2025/06/05(木) 00:29:50.41ID:Nu77Yg2O
>>921
そっか
あなたはこのスレ卒業だね
2025/06/05(木) 08:17:29.72ID:FSpPjL7A
四行目までは自虐だろ? 言いたいのは五行目だけって意味と捉えたが、どうなんだ
まあ、ちょっと過剰に反応し過ぎなきらいは否めないが
2025/06/05(木) 08:45:28.01ID:Lp1WVm/I
>>921
組織の中で継続してスケールする仕組み作ったなら属人化してないんだから悪者になる理由なくない?
2025/06/05(木) 09:07:39.20ID:FSpPjL7A
お利口さんに成ろうとしてアタマでっかちに成り過ぎ
大工だっていろんなレベルもあるし色んな層が大工してる
その場しのぎのやっつけ大工も居れば、客の要望を叶えるために青写真から描ける熟練大工もいる
新人大工なら木の特性とか部材同士の相性とかもよく理解しないまま最新部材使って威張ってみたり
ガルバリウムには使ってはいけない釘平気で使って1〜2年後にはその部分からサビを拡げる原因作って顰蹙買うし
それでも世の中は回ってる
改善なんか数年で変化してくものだ、という前提を踏まえてれば、それに見合うコストで運用出来てれば御の字
2025/06/05(木) 10:31:37.20ID:1teg7ITB
>>925
コンサルはいわゆるExcelバケツリレーの非効率さを指摘してくるのが常道
VBAで個々人の作業が省力化されてようとフローは変わらないので、実際非合理だから仕方ない
その上で現行業務の調査として関係者全員にヒアリングして介在するワークシートやマクロをつぶさに調査するのにかかる莫大な費用の見積りを提示されると、
もう経営層からはVBA職人なんて非効率な業務を助長するだけの排除すべき敵としか見えなくなるわけよ
2025/06/05(木) 10:49:41.34ID:1teg7ITB
あと、業務を見直してシステム化しようとした際にVBAが悪者になる大きな原因として、
一見簡単な処理に見えて蓋を開けたらたまに複雑怪奇な難攻不落の化け物が出てくる、ってのがある
これ、Excel中心のワークフローをシステム化する際にはよくある話で、スケジュール遅延や予算超過を引き起こすことが多い
そうなるとシステム部門や現場が経営層に頭下げるのは当然として、上場企業だと株主に経営層が謝罪なんてケースもある
ここまでくるともうVBAなんて悪者もいいとこよ
2025/06/05(木) 10:55:09.32ID:Lp1WVm/I
それらは継続してスケールする仕組みを作れていない場合の話じゃないの?
複雑怪奇な難攻不落の化け物って、それスケールできる仕組み作れてなくない?
そもそもの話が噛み合ってないよ
2025/06/05(木) 11:09:55.37ID:1teg7ITB
>>929
隅々まで適切にガバナンスを効かせながら使うならいいんじゃない?
それができるほどの優秀なリーダーがVBAを選ぶかは疑問だけどな
どんな組織でも、人が増えれば馬鹿も増えるし目も行き届かなくなるものだ
2025/06/05(木) 11:27:50.93ID:Z5osrhWk
Excelバケツリレーは業務や人員を追加していく分にはスケールするよ
後から変更するのが困難でありシステム化が前提なら極めて非合理だけ
932デフォルトの名無しさん
垢版 |
2025/06/05(木) 17:48:57.22ID:lb5raFks
>>928
IR出すレベルのVBAは確実に一見簡単そうな処理では無いと思います。
そこまでの規模のシステムなら、それこそ何かしらの製品やサービスを導入してください。
933デフォルトの名無しさん
垢版 |
2025/06/05(木) 17:54:18.01ID:lb5raFks
ローコードツールや多言語の方がいいのはその通りだと思います
VBAはOfficeしか扱えないのだから
2025/06/05(木) 18:20:52.21ID:uYkJABQ4
> VBAはOfficeしか扱えないのだから
AutoCAD、SOLIDWORKS、・・・
2025/06/05(木) 18:33:57.70ID:Lp1WVm/I
>>933
そうなんだ?知らなかった
936デフォルトの名無しさん
垢版 |
2025/06/05(木) 20:15:40.58ID:r0Qxvap7
そもそもパッケージやクラウドサービス使えば、中身は全くわからない
手の出しようがない
自前なら何とかなる
そこをどう捉えるかよ
そもそも基幹システムをVBAで作らないし
(小企業は知らんが)
作っても枝葉よ
937デフォルトの名無しさん
垢版 |
2025/06/05(木) 20:29:53.99ID:lb5raFks
>>936
C、CSVで吐き出せればなんとか(震え声)

TYPEを全く使ってこなかったのです。
しかし、この度同じモジュールで多数のstring型の変数を宣言する必要があります。
TYPEデビューしようと思うのですがどうでしょうか?
938デフォルトの名無しさん
垢版 |
2025/06/05(木) 23:29:45.76ID:fxlZJI+h
ここで聞かなきゃいけないような馬鹿はやめとけ
939デフォルトの名無しさん
垢版 |
2025/06/05(木) 23:53:54.23ID:r0Qxvap7
>>937
type稀にしか使わないので調べたら
CollectionやDictionaryに格納できないと
マジか、知らなかったわ
これに使うならクラスにしたらいいかもね
2025/06/05(木) 23:57:55.29ID:0HOZWCXV
>>920
リアルタイプライターではLFの位置は任意だよ
行頭とか行末とか関係なく、行の途中でも好きな所でline feedは可能
2025/06/06(金) 01:00:59.18ID:gfk/0ela
>>940
CRLFはCRが来る時点でLFが行末じゃなくなるって話
2025/06/06(金) 08:39:00.12ID:cx/TERMm
Enterキーの矢印ってLF-CRだよね
  ↓

CR-LFならこういう向きじゃないとおかしい
  ←
2025/06/06(金) 09:32:23.47ID:rGtsPzUl
VBAでクラスモジュールを使っていろいろやるのもなしとは言わないけれど、それなら正直JavaとかPythonとかの普通の言語を勉強した方が良いような気もするかな。クラスモジュールって、よくある普通の言語とはちょっと違ったVBA固有の仕様に過ぎないし。
2025/06/06(金) 09:44:39.10ID:4a1tHPn5
>>943
JavaScript様のプロトタイプに喧嘩売る気か
2025/06/06(金) 10:07:22.76ID:NfW6LToZ
クラスモジュールはVBA固有というかCOMの仕様
COMの絡まない処理で無理に使う必要は全く無いし、COMを理解してないと不可解な仕様が多い
2025/06/06(金) 10:45:07.80ID:c6RrnkVo
他言語でクラス使ってたらクラスモジュール作りたくなる病
2025/06/06(金) 11:16:07.96ID:FmZludjM
COMってどう勉強するんだろ
漠として簡潔な説明がなかなかなく
IUnknownやらなんやら、
948デフォルトの名無しさん
垢版 |
2025/06/06(金) 11:35:48.78ID:3VaYoART
InsideCOMを辛抱強く読むのが唯一の道
それ以上の資料もかみくだいた解説書もない
949デフォルトの名無しさん
垢版 |
2025/06/06(金) 18:33:04.93ID:lAxJJHmL
https://learn.microsoft.com/ja-jp/cpp/mfc/ole-in-mfc?view=msvc-170
https://learn.microsoft.com/ja-jp/windows/win32/learnwin32/module-2--using-com-in-your-windows-program
2025/06/06(金) 18:52:09.71ID:4a1tHPn5
COMの解説
https://learn.microsoft.com/ja-jp/windows/win32/com/component-object-model--com--portal
951デフォルトの名無しさん
垢版 |
2025/06/06(金) 19:13:06.68ID:fJneNGsq
>>939
TYPEは他のオブジェクトに引き渡せないとは聞いていました

結局ディクショナリーで登録しました
952デフォルトの名無しさん
垢版 |
2025/06/06(金) 20:17:15.03ID:tc8PGxli
>>951
ディクショナリだとインテリ使えんけど、まあそれでいいなら
2025/06/06(金) 20:34:48.52ID:2QLQ97JJ
たまにいる勘違い人間 「自分、CやJavaできるから低レベルのVBA(笑)なんてすぐマスターできるし」とか豪語するヤツ
954デフォルトの名無しさん
垢版 |
2025/06/06(金) 21:03:29.16ID:fJneNGsq
私はファイルパスやフォルダパスの取得や設定、ファイル名やフォルダ名の作成に冗長なコードを書いている気がしてならないのですが、何かいいコードはないでしょうか?
955897
垢版 |
2025/06/06(金) 21:52:26.62ID:CfJ/EVmD
Typeの代わりにRecordSet使ったりする Field設定いちいちするの面倒だけど
Filterとか使えるしCopyFromRecorSetとかできるし
956デフォルトの名無しさん
垢版 |
2025/06/07(土) 01:20:40.40ID:hTJ86lb5
>>954
昔はdirやnameだったけど、今はfso使ってればいいんじゃね
2025/06/07(土) 04:19:49.26ID:GCIZhVy1
>>954
その程度の処理なら、冗長で困ることなんかほとんどないよ
自分に理解できる形で書くのが、長い目で見れば一番保守性が高いんだから
ちゃんと動いてる物を直そうとして壊すことも多いから、そっとしとけ
2025/06/07(土) 07:03:08.54ID:QQtzQfGp
>>954
末尾の円マーク有無で毎回処理を分岐させてるのならBuildPathを使え
2025/06/07(土) 09:36:28.54ID:zGsllLLl
>>954
その冗長なコードとやらを貼ってみれば何が悪いか指摘してもらえると思うぞ
2025/06/07(土) 10:26:27.74ID:pGBLBsE0
.netの文字列操作ライブラリとか見たらいたせりつくせりで贅沢過ぎるわ!って怒り出しそう
2025/06/07(土) 12:33:58.98ID:NHsDgqoS
タスクバーのアイコンを取得したくて、下記のサイトのC#をVBAに移植しても、Excelがハングアップする
C#ではちゃんと動く
なぜ?

Dim pUIAutomation As New CUIAutomation
Dim windowElementTray As IUIAutomationElement
Set windowElementTray = pUIAutomation.ElementFromHandle(ByVal hTaskBar)


https://learn.microsoft.com/en-us/answers/questions/115440/how-to-find-taskbar-button-screen-rect-of-a-window
2025/06/07(土) 13:25:32.25ID:QQtzQfGp
https://qiita.com/Mrs_P/items/5c8070fd880b9deb284a
↑ここの人がVBAで似たようなことやってますね
GetReferenceElementという関数の中に >>961 と同等のコードが書かれているから
hTaskBarの値がおかしいんじゃないの?

これでブラウザの自動操縦できるのかぁ 便利そうだな
2025/06/07(土) 13:32:49.76ID:NHsDgqoS
>>962
このサイトも見た
hTaskBarの値は、C#版とVBA版で同じ値だったので、正しいと思う。

Chromeのウィンドウハンドルでやった場合は、ちゃんと動いた
2025/06/07(土) 13:58:10.47ID:QQtzQfGp
これで最後の行まで動いたよ

Dim hWndTray As LongPtr: hWndTray = FindWindow("Shell_TrayWnd", vbNullString)
Dim hWndRebar As LongPtr: hWndRebar = FindWindowEx(hWndTray, 0, "ReBarWindow32", vbNullString)
Dim hWndMSTaskSwWClass As LongPtr: hWndMSTaskSwWClass = FindWindowEx(hWndRebar, 0, "MSTaskSwWClass", vbNullString)
Dim hWndMSTaskListWClass As LongPtr: hWndMSTaskListWClass = FindWindowEx(hWndMSTaskSwWClass, 0, "MSTaskListWClass", vbNullString)

Dim pUIAutomation As New CUIAutomation
Dim windowElementTray As IUIAutomationElement
Set windowElementTray = pUIAutomation.ElementFromHandle(ByVal hWndMSTaskListWClass)
MsgBox "終わり"
2025/06/07(土) 14:07:56.34ID:QQtzQfGp
もうひとつの方もこれで動いた

Dim hWndTray As LongPtr: hWndTray = FindWindow("Shell_TrayWnd", vbNullString0)
Dim hWndTrayNotify As LongPtr: hWndTrayNotify = FindWindowEx(hWndTray, 0, "TrayNotifyWnd", vbNullString)
Dim hWndSysPager As LongPtr: hWndSysPager = FindWindowEx(hWndTrayNotify, 0, "SysPager", vbNullString)
Dim hWndToolbar As LongPtr: hWndToolbar = FindWindowEx(hWndSysPager, 0, "ToolbarWindow32", vbNullString)

Dim pUIAutomation As New CUIAutomation
Dim windowElementTray As IUIAutomationElement
Set windowElementTray = pUIAutomation.ElementFromHandle(ByVal hWndToolbar)
MsgBox "終わり"
2025/06/07(土) 15:15:58.64ID:NHsDgqoS
>>965
あ、
Windows 11だと動かないな…

>>964のタスクバーのボタンは動いたけど、
>>965のトレイアイコンは、最後の1行で、やっぱExcelごとハングアップで強制終了するわ
(Set windowElementTray = pUIAutomation.ElementFromHandle(ByVal hWndToolbar))

C#版は、>>965のトレイアイコンもちゃんと動くんだけど…
967デフォルトの名無しさん
垢版 |
2025/06/07(土) 16:04:31.64ID:I++ihMYF
>>959
例えばファイルシステムで
フォルダ1の中から指定の文字列を含むフォルダを探して
見つかったフォルダのパスを取得して
さらにそのフォルダの中から指定の文字列を含むフォルダを探して
見つかったフォルダのパスを取得して
そのフォルダの中に指定のフォルダがあるか確認してなかった場合はフォルダを作成するコードです
2〜3回同じ様な事を繰り返しているので冗長な気がしてなりません
2025/06/07(土) 16:09:10.87ID:WTKqP7i+
>>967
それそのままAIに投げたら一瞬で書いてくれるよ
969947
垢版 |
2025/06/07(土) 16:28:51.74ID:ADmBeqPj
>>948, 949, 950
ありがとうございます

マイクロソフトのサイトは機械翻訳がどうも…、と敬遠していましたが、参照してみます
それから洋書、かぁ…
970デフォルトの名無しさん
垢版 |
2025/06/07(土) 17:36:52.86ID:hTJ86lb5
>>967
それを平で書いてるなら冗長
再帰処理でやるのがあるべき姿
まずは指定フォルダ下の全フォルダを出力する再帰処理書いてみ
(全てが再帰処理ではない。呼び出し元処理と再帰処理の2つ書くことになる。念の為)
2025/06/07(土) 17:47:31.26ID:QQtzQfGp
>>966
Windows11はタスクバーに使われてるクラスが変わってるらしいから関係あるかもよ
https://www.autohotkey.com/boards/viewtopic.php?style=19&t=108539
AHKにクラス名を調べるツールがついてたような
2025/06/07(土) 17:55:49.45ID:nK7i38Q0
>>967
こんなのかな
>フォルダ1(Path1)の中から指定の文字列を含むフォルダ(Pattern1)を探して見つかったフォルダのパス(Path2)を取得する

Path2 = GetPatternPath(Path1, Pattern1) As String

>さらにそのフォルダ(Path2)の中から指定の文字列(Pattern2)を含むフォルダを探して
>見つかったフォルダのパス(Path3)を取得する

Path3 = FindPatternPath(Path2, Pattern2) As String

>そのフォルダ(Path3)の中に指定のフォルダ(Pattern3)があるか確認してなかった場合はフォルダを作成するコードです

result = CheckPatternPath(Path3, Pattern3) As Boolean
If result Then
Call MakePatternPath(Path3, Pattern3)
End If
あとは関数の中身を書くだけ
2025/06/07(土) 18:21:21.32ID:QQtzQfGp
>>967
ShiteiNoMojiretsu = "指定の文字列"
Shitei = "指定"
Path = "C:\フォルダ1"
Path = Path & "\" & Dir(Path & "\*" & ShiteiNoMojiretsu & "*", vbDirectory)
Path = Path & "\" & Dir(Path & "\*" & ShiteiNoMojiretsu & "*", vbDirectory)
If Dir(Path & "\" & Shitei, vbDirectory) = "" Then
MkDir Path & "\" & Shitei
End If
2025/06/07(土) 18:49:45.58ID:NHsDgqoS
>>971
んー

でも、C#ではちゃんと動くので、VBA側の問題な気が…
クラスが変わってるのも知ってる。
975デフォルトの名無しさん
垢版 |
2025/06/07(土) 22:19:45.07ID:I++ihMYF
>>970
やっぱりそうですよね
再帰処理を頑張って覚えます
976デフォルトの名無しさん
垢版 |
2025/06/08(日) 02:30:07.18ID:bVJzS0fI
>>975
そやね
たったこれだけでフォルダ階層どこまでも潜れるのかと感動すると思う
(かもしれないw)
フォルダ再帰ができたら各全ファイル名列挙も再帰処理の中に追加しとき
いつか使う時が来る
977デフォルトの名無しさん
垢版 |
2025/06/08(日) 03:49:16.50ID:kACuu3za
こんなので偉そうにする馬鹿
978デフォルトの名無しさん
垢版 |
2025/06/08(日) 10:13:48.24ID:szoadHGe
>>977
わざわざ「私バカです」って手を挙げて出てきてどうした
979897
垢版 |
2025/06/08(日) 10:59:09.81ID:BE7fUg1L
>>976
昔だったら stack overflowとか心配してたけど今はあまり気にしなくて良さそうだね
2025/06/08(日) 11:01:04.08ID:j4jIPbHU
.netのAPIラッパー関数もソース見ると大抵泥臭い事やってんのよね
2025/06/08(日) 11:03:50.75ID:4qkaLQIW
スタック領域は昔からほとんど変わってないから気にする必要はある
2025/06/08(日) 11:07:37.10ID:j4jIPbHU
Excel VBA 質問スレ Part83
https://mevius.5ch.net/test/read.cgi/tech/1749348402/
983897
垢版 |
2025/06/08(日) 11:11:01.02ID:BE7fUg1L
>>982
乙彼
>>981
共有サーバのアドレス変わった時、全フォルダの奥までショートカット探して書き換えたけど
何ともなかったからそんなもんだと思ってた
984デフォルトの名無しさん
垢版 |
2025/06/08(日) 12:43:48.49ID:gXHyLlYW
>>976
再帰処理のコード自体はわかるのですが、If文で再帰処理をする、しないまでは考えてなかったです
985デフォルトの名無しさん
垢版 |
2025/06/08(日) 14:43:09.01ID:bVJzS0fI
>>984
if?
途中から折り返す時のこと?
それなら必要
2025/06/08(日) 16:28:21.07ID:46RFXcFD
2階層しか掘らないのにわざわざ再帰処理にするかなぁ
987デフォルトの名無しさん
垢版 |
2025/06/08(日) 16:56:20.91ID:DI4VVn6/
>>978
構ってもらうのも大変なんだぞ
察してあげなきゃ
2025/06/08(日) 17:17:56.33ID:8915HtnW
>>983
スタックさせたまま全ファイル走査なんてしないだろうから、
ファイルの数何個あろうが同じでは?
2025/06/08(日) 19:19:30.01ID:4BwIalv3
ソース的に簡単にするなら全ファイルのフルパス取って正規表現だな
990デフォルトの名無しさん
垢版 |
2025/06/09(月) 07:30:24.52ID:UIpY0QNU
フォルダのショートカットファイルがある場合の動作確認はした方がいいぞ
2025/06/09(月) 08:19:56.01ID:EHQrQQev
シンボリックリンクとジャンクションとハードリンクも動作確認した方がいいぞ
パスが255文字超えた場合も動作確認した方がいいぞ
992デフォルトの名無しさん
垢版 |
2025/06/10(火) 20:52:05.68ID:RKOrDLCJ
VBAのfor eachやfor nextでif文を使用して条件に合わなかった時にnext するにはどうしたらいいでしょうか?
2025/06/10(火) 21:05:38.20ID:94f6xD2K
forの中をDo-Loopで囲んで脱出したい時はExit Doする
2025/06/10(火) 21:05:45.22ID:zK5HBYNC
>>992
VBAでFor EachやFor Nextループ中に条件に合わない場合に次のループに進むには、If文を使い、条件が合致した場合のみ処理を記述します。
' For Each の例
For Each item In collection
If 条件 Then
' 条件に合った場合の処理をここに書く
End If
Next item

' For Next の例
For i = 1 To 10
If 条件 Then
' 条件に合った場合の処理をここに書く
End If
Next i

Elseブロックを記述しないことで、条件が合わない場合は自動的に次のループへ進みます。
2025/06/10(火) 21:17:29.25ID:KLsW+s5l
next の手前にgoto
996デフォルトの名無しさん
垢版 |
2025/06/10(火) 21:35:49.89ID:chtn5cci
gotoでnext前のラベルに飛ぶ。ラベルは
CONTINUE_1:
など
997897
垢版 |
2025/06/10(火) 21:41:20.79ID:4RtejL7X
C言語の呪いから解けずにGoTo使いにくい俺
2025/06/10(火) 21:55:14.34ID:qJv58WHL
無理して使うもんじゃない
そもそもifで処理せずにnextさせたいなら、
逆にifで処理させれば条件に当てはまらなければnextになるんだし
999デフォルトの名無しさん
垢版 |
2025/06/10(火) 21:57:34.45ID:YNq6kTxr
馬鹿ばっかで呆れるスレ
1000デフォルトの名無しさん
垢版 |
2025/06/10(火) 21:58:07.04ID:YNq6kTxr
馬鹿ばっか
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 137日 18時間 26分 52秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。

▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.net/

▼ UPLIFTログインはこちら ▼
https://uplift.5ch.net/login
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況