1 名前:デフォルトの名無しさん [2025/01/24(金) 03:31:15.25 ID:l239yW+P.net] ExcelのVBAに関する質問スレ コード書き込みや作成依頼もOK 次スレは>>980 が立てること 無理なら細かく安価指定 関連スレ Excel VBA 質問スレ Part79(ワッチョイあり) https://mevius.5ch.net/test/read.cgi/tech/1674875532/ Excel VBA 質問スレ Part80(ワッチョイあり) https://mevius.5ch.net/test/read.cgi/tech/1700826110/ ※前スレ Excel VBA 質問スレ Part79 https://mevius.5ch.net/test/read.cgi/tech/1674874007/ Excel VBA 質問スレ Part80 https://mevius.5ch.net/test/read.cgi/tech/1685489018/ Excel VBA 質問スレ Part81 https://mevius.5ch.net/test/read.cgi/tech/1713416618/
2 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 05:27:04.93 ID:uQJDDdhk.net] >>1 スレ立て乙まんぢゅう https://i.imgur.com/JjNUnMG.jpeg
3 名前:デフォルトの名無しさん [2025/01/24(金) 13:15:18.84 ID:Pei63FOH.net] 菊水だけがこんな差で劣化するかな… 消して上書きでもそこだけ使うかとw 謎だ
4 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 14:13:31.24 ID:uQJDDdhk.net] >>3 新潟県胎内市へお越しの際は是非お立ち寄りください。
5 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 17:31:59.07 ID:yqzUBum2.net] googleのストリービューでみたら同じような感じだった インクの違いなのかな
6 名前:デフォルトの名無しさん [2025/01/24(金) 18:39:58.40 ID:gUqxBqw/.net] >>4 そんなとこにあるのね 昔関東にいた時に苗場までしか行ったことない リニアが開通したらぐるっと観光してみたいな @みかん県
7 名前:デフォルトの名無しさん mailto:sage [2025/01/24(金) 18:52:12.99 ID:uQJDDdhk.net] >>5-6 新潟に関心を持っていただけて恐縮です。 俺も新潟県に住んでいたときはこの地名が気になっていたんだけど、乙まんぢゅうは食べたことがなかった。 今度Excel VBAコーディングで行き詰まったら、乙まんぢゅうを食いながらエナジーチャージしようと思います。 強引なこじつけでスレチ回避。
8 名前:デフォルトの名無しさん mailto:sage [2025/01/27(月) 20:22:37.08 ID:Edg2jktU.net] そんなもんに頼る奴はアホ ってのは置いといてChatGPTとExcelのCopilotだとVBAはどっちが精度良いとかある?結構頼りたい
9 名前:デフォルトの名無しさん mailto:sage [2025/01/28(火) 06:56:23.19 ID:srrQLsM6.net] >>8 内容によりけりかと。 両方に同じ質問するのは大した手間でない。 両者それぞれ回答の仕方に性格みたいなのが出る。
10 名前:デフォルトの名無しさん mailto:sage [2025/01/28(火) 08:10:41.00 ID:lflkdOQ3.net] >>8 そんなもんに頼るって、乙まんぢゅうのことを指してるのか?
11 名前:デフォルトの名無しさん mailto:sage [2025/01/28(火) 08:23:11.32 ID:1NgzbOtc.net] >>8 どっちもまあまあハルシネーション起こすよ VBAにおいてはCopilotの方が行儀悪いコード返す ChatGPTの方が丁寧だけど嘘も多い
12 名前:デフォルトの名無しさん [2025/01/29(水) 00:36:51.64 ID:3sg9vRpP.net] 透過処理の不具合はまだ直らない?
13 名前:デフォルトの名無しさん mailto:sage [2025/01/29(水) 11:40:32.41 ID:l1wTy5LU.net] 一般的にはコパイロットの方がコード生成向きと言われている
14 名前:デフォルトの名無しさん mailto:sage [2025/01/29(水) 15:02:27.81 ID:Y8sa7aMn.net] きちんと指示せずVBAを書かせると、オブジェクト変数にNothing代入しないCopilot
15 名前:デフォルトの名無しさん mailto:sage [2025/01/29(水) 16:11:17.83 ID:r2ULz+MP.net] ChatGPTで検証繰り返してエラーの起きない部署内の抽出システム作って社長賞30万 10万は部の飲み会で使われて消えた
16 名前:デフォルトの名無しさん mailto:sage [2025/01/29(水) 16:57:16.04 ID:15mvMXpA.net] >>15 30万円のうち所得税3万円引かれて、残りの27万円から飲み会に10万円消えて、手取りは17万円か。
17 名前:デフォルトの名無しさん mailto:sage [2025/01/29(水) 19:15:30.00 ID:dOgWcUI+.net] エクセルのCopilotもChatGPTも使いまくってるけど今のところ ChatGPT>>>>>Copilot え?Microsoftお前んとこのアプリなのに?マジでこんなに差があるの? てレベルでCopilotはダメすぎる
18 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 00:04:51.14 ID:Rrkw5pGV.net] ChatGPTは最後には自分で作れ(意訳)って投げられて終わりだった 結局AIなんてネットにある情報を見つけてくるだけだから、まだ誰も発表してない物はやっぱ無理よな
19 名前:デフォルトの名無しさん mailto:sage [2025/01/30(木) 08:59:03.48 ID:gYAmvW7e.net] そりゃそうだ あれは検索したものを自然な言葉でまとめてくれるのがすごいとこであって自分で何かを生み出してくれるもんじゃないしな
20 名前:デフォルトの名無しさん mailto:sage [2025/02/01(土) 19:19:03.91 ID:6DDlyQfL.net] もしAIが勝手にセキュリティーの甘い世界中のPCの中に侵入したり 暗号化されたデータを解析して普通は見れないネット上の情報を集めてビッグデータを構築しはじめていたらどうかな
21 名前:デフォルトの名無しさん mailto:sage [2025/02/01(土) 20:27:12.49 ID:uxF+4Xu3.net] >>17 ちょっとDeepSeek触ったけど、良さげ。 ローカル32Bの日本語モデル。 痒いところに手が届く感じで書いてくれる。 AIの進歩凄いな。 あとcopilotはマジで使えない。 VBA使う現場で、IDEが終わっててコード補完無いし、作法覚えるのが面倒くさいから使ってるけど、セル値1個ずつ代入とかマジ腐ったコード書くから、一々「一括で配列に代入して~」とか手間がかかる。
22 名前:デフォルトの名無しさん [2025/02/01(土) 23:37:28.11 ID:k2Af8ELN.net] 車のATもMTモード無いと使い勝手悪いこともあるからね AIも同じようなもん
23 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 04:05:22.81 ID:wp4IFx4T.net] どうもExcelの印刷が苦手だからExcelでデータ入力して Wordのテンプレの〈〈文字列A〉〉にExcelのセルAをいれる、とかVBAてやってるけどやってる人いる? これはこれでExcelからの表組みがうまくWordのテンプレの表に収まらなかったりして難しい 差し込み印刷は売上データなんかをAccessのレポートみたいにできないからだめなんだよね そのためにAccess買うのもアホらしいし
24 名前:デフォルトの名無しさん [2025/02/06(木) 04:29:46.26 ID:2jGHzNy6.net] 企業向けofficeにはaccess入ってるんじゃ うちは使えるようになって喚起したわ
25 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 08:26:54.72 ID:dQANt/Gp.net] >>23 ランタイムライブラリだけ入れてVBAでAccessの機能使えば良い
26 名前:デフォルトの名無しさん [2025/02/06(木) 09:59:08.74 ID:GcFYqCgf.net] >>23 30年以上前からその機能あるけど糞は糞のままだね
27 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 13:53:44.56 ID:wp4IFx4T.net] AccessはAccessでとても使いにくいよね
28 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 14:08:15.92 ID:JDrlzCG7.net] それはあなたの感想ですよね(キリッ
29 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 14:26:14.44 ID:wp4IFx4T.net] はい
30 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 14:27:50.89 ID:wp4IFx4T.net] ExcelとAccessまぜたのつくってほしい オートフィルやUIなんかはExcelでDBになってるやつ Excelで擬似DBつくるのは転機がめんどう
31 名前:デフォルトの名無しさん [2025/02/06(木) 15:03:38.82 ID:2jGHzNy6.net] access使いやすいやん あれだけの機能と使いやすさが一つになってるアプリ他に知らない 上で書いてるようにレポートが特に優秀 accessがDBやフロントエンド作成にどれだけ役に立ったことか 業務システムにめちゃ使ったし、ちょこっとDB作りたい時にはこれ一択だわ (もちろんOracleやSQLサバ使うこともある)
32 名前:デフォルトの名無しさん [2025/02/06(木) 15:08:02.73 ID:2jGHzNy6.net] EXCELでは、似て非なるpowerquery使えば少しは楽かもだが、そちらで済むか、楽かは場合による
33 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 15:20:06.75 ID:wp4IFx4T.net] >>31 レポートつくるUIがひどすぎてなあ 90年代からやってた人はなれてるかもしれんが現代人にはきつい 右側に出るプロパティなんかも小さすぎる
34 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 15:20:39.28 ID:wp4IFx4T.net] ちなみに比較はファイルメーカーね
35 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 15:29:16.45 ID:mU8snJfJ.net] ExcelVBAでAccess批判か……
36 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 15:59:53.23 ID:80shuo/K.net] いくら場末の落書き掲示板だとしても、ちょいちょい誤字混ざる人は 集中力に欠ける粗忽者 のほほんとアプリを操作して、思うような結果が 出なかったらアプリのせいにするのも共通点 言うなれば、アプリに見下されているようなもの「おまえにゃまだ早い」と コクヨの集計用紙(全11商品)へチマチマ書き込んで電卓叩いて集計する 作業からやり直すのがお似合い 苦手な印刷も、ソッチならじぶんの思い通りに仕上げることができるだろう
37 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 16:04:23.37 ID:80shuo/K.net] 書き損ねたが、アプリ側は命令された通りの結果を出すだけ 要は、結果が思わしく無いなら命令がポンツコということ 思い通りの結果を出したければ精進して正しい命令を書く努力しろ、と
38 名前:デフォルトの名無しさん [2025/02/06(木) 16:19:55.46 ID:VOtv9fbX.net] >>35 データベースをまともに使えない馬鹿頭の人が自分の馬鹿頭で理解できないから文句を書いてるだけだな
39 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 16:32:37.70 ID:dQANt/Gp.net] まぁAccessのUIを何故モダン化しないのか不思議ではあるね 開発者的にも、どのみちみんなVBAで操作するんだろ?って感じなのかな
40 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 16:50:31.28 ID:XU76YYln.net] Accessは開発終了したんじゃなかったっけ?
41 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 16:53:30.64 ID:XU76YYln.net] ああ、2026年10月13日でサポート終了。 その後のアナウンスが今のところない・・・ということか。
42 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 17:22:39.25 ID:TX9oFlWX.net] Accessなら貴水と浅倉に任せろ!
43 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 17:38:21.66 ID:EMlcP8l1.net] >>39 データベースのフロントエンドなんて今時ほとんどWebだからね 以前AccessをWeb化する試みはあったが、Accessはクラサバ前提のアーキテクチャのためWeb版は殆ど互換性のないゴミで大失敗した で、どうせ互換性がないなら態々Accessに拘る意味もないため、Accessを放棄してDBのローコード分野はPowerAppsとかExcel onlineとかに任せることになった
44 名前:デフォルトの名無しさん [2025/02/06(木) 19:36:10.16 ID:VOtv9fbX.net] >>43 こういう馬鹿な人がいるのがこのスレ
45 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 19:50:11.45 ID:H9nud2IS.net] >>43 webは印刷がね >>39 たぶん廃止されるよ
46 名前:デフォルトの名無しさん [2025/02/06(木) 21:38:25.92 ID:PUaOdYG7.net] >>33 ACのレポート以上に多機能で作りやすいのは何?
47 名前:デフォルトの名無しさん [2025/02/06(木) 21:45:56.60 ID:r+sgqPgT.net] >>46 えっ!? ファイルメーカー?w 昔比較にならないほど貧相だったが今はACレポート以上に多機能で使いやすいのか? 機能少ないから使いやすいではなくて? VBA相当でゴニョゴニョもどれくらいできるの?
48 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 22:34:33.55 ID:gPOv1eyh.net] >>23 エクセルの内容をワードに転記して書類作る謎の業務があるから正にそれやってる ワードの各場所にEXCELのセル番号入れて指定してるけど
49 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 22:57:48.93 ID:yfodVwIW.net] >>47 世界中の大手が導入してるくらいはすごい 少なくともAccessじゃ蟻と象 むしろ機能多すぎる
50 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 22:58:35.00 ID:nFs5sIy0.net] >>48 ExcelでVBA実行してWord開いて書き込むって感じ?
51 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 23:01:32.11 ID:gPOv1eyh.net] >>50 そんな感じ
52 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 23:35:35.06 ID:nFs5sIy0.net] >>51 WordじゃないとPCの表示倍率によってずれたりするからずれないWordでやって印刷なりPDFってことなのかな あとは帳票になってるならレイアウトの自由とか(Excelってセル内の余白設定すらないからな。左右はインデントあるけど文字単位だし)
53 名前:デフォルトの名無しさん mailto:sage [2025/02/06(木) 23:57:02.68 ID:NyHIlSRI.net] そもそも一般的な会社ではExcelで何をしてるものなの? 例えば販売データのCSVなりExcel渡されて この中から条件に合うやつだけ抽出しろとかそんなの?
54 名前:デフォルトの名無しさん [2025/02/07(金) 01:33:48.32 ID:KDvERFpc.net] >>49 ファイルメーカーは中小企業というよりも小企業が使ってるかもしれないね IT関連の仕事してて大手、中規模くらいでかつて一度も見たことないわ 多機能でないのは結局やりたいことできなくて廃れる
55 名前:デフォルトの名無しさん mailto:sage [2025/02/07(金) 02:05:15.18 ID:948vsJjG.net] >>54 いや大規模のとこしかつかってないよ
56 名前:デフォルトの名無しさん mailto:sage [2025/02/07(金) 02:06:31.58 ID:948vsJjG.net] >>51 それって間違ってWord上書き保存しちゃったら またマーカーというか指定位置作り直すはめになるのか
57 名前:デフォルトの名無しさん [2025/02/07(金) 02:24:02.46 ID:mthoc5IH.net] >>55
58 名前:導入企業調べてみると… ある印刷企業、資本金10万円 w ある釣具メーカー、従業員数4人 ww 少し大きなとこもあるけど、大規模なとこしか使ってないね www [] [ここ壊れてます]
59 名前:デフォルトの名無しさん mailto:sage [2025/02/07(金) 03:22:09.93 ID:948vsJjG.net] >>57 日本航空株式会社 ホンダ ダイキン 大塚製薬 三菱重工業 アサヒビール 日産 日本郵便 フジテレビ 小田急電鉄 日本原燃株式会社 公立千歳科学技術大学 神戸製鋼グループ 大阪市高速電気軌道株式会社 株式会社ホリプロ 国立病院機構 大阪医療センター あたりが公式発表された企業
60 名前:デフォルトの名無しさん [2025/02/07(金) 03:38:57.90 ID:kGAOem5c.net] >>58 馬鹿って、公表されている企業が基幹システムで使っていると思ってるんだ このスレってこいつみたいな馬鹿ばっか
61 名前:デフォルトの名無しさん mailto:sage [2025/02/07(金) 03:52:18.76 ID:948vsJjG.net] >>59 え?Access基幹ソフトとして使ってるとこあるの? Accessとの比較じゃなかった?
62 名前:デフォルトの名無しさん [2025/02/07(金) 03:58:31.73 ID:kGAOem5c.net] >>60 ではわざわざ公表するって、単に購入したとか一部で使われているってだけなのか? それならAccessなんて使ってる企業は大量にあり過ぎだろ
63 名前:デフォルトの名無しさん mailto:sage [2025/02/07(金) 04:12:08.31 ID:mKu5nA30.net] >>61 Accessよりへぼいだろ、といったから 圧倒的にすごくて大手も使ってるといっただけ ファイルメーカーは料金体系が零細じゃ払えないレベルだからな ちなみに誰も使ってないからサポート打ち切りつまり廃盤なんじゃないの?
64 名前:デフォルトの名無しさん [2025/02/07(金) 04:24:48.18 ID:kGAOem5c.net] >>62 >ファイルメーカーは料金体系が零細じゃ払えないレベルだからな 突然零細に限定 馬鹿過ぎて笑える
65 名前:デフォルトの名無しさん mailto:sage [2025/02/07(金) 06:47:23.10 ID:UT8q5JHQ.net] >>30 Accessのグラフって、まともに使える? ポンチ絵みたいな簡単なのしか出来なくて諦めた。
66 名前:デフォルトの名無しさん mailto:sage [2025/02/07(金) 08:51:10.85 ID:nSLgJIDh.net] 俺が前にいた会社では、半導体工場の製造装置の予備品管理にAccess2000を使っている。 そのシステムをメンテできる人が辞めて何年も経つから、予備品発注点の管理とか現品棚卸しとか納期遅延管理とか、不足する機能を追加できずにいて、予備品欠品で生産停止を頻繁に起こしていた。 ISO9001/IATF16949の定期審査でも予備品管理は狙い撃ちにされていて、品質保証部は尻拭いに大変だった。
67 名前:デフォルトの名無しさん mailto:sage [2025/02/07(金) 08:54:15.39 ID:v+GJWF0M.net] 霞ヶ関でも重宝されているポンチ絵を侮ってはいけない ps://note.com/narumi/n/nf4210a6c6051 まぁ、どんなグラフが欲しいのか次第で、他のアプリの力添えが必要なのがAccessの弱みのひとつではある 実はその程度ならAccessだけでも作れるよ ってグラフも多いのだが、制作者の力量次第
68 名前:デフォルトの名無しさん mailto:sage [2025/02/07(金) 08:56:48.69 ID:v+GJWF0M.net] >>65 それはAccessのせいじゃ無いだろ 設備投資や人員補充をできないその会社固有の問題に過ぎない
69 名前:デフォルトの名無しさん [2025/02/07(金) 09:58:20.76 ID:/5QwLK/7.net] >>62 最低いくらからと思ってるの?w
70 名前:デフォルトの名無しさん [2025/02/07(金) 10:04:49.40 ID:/5QwLK/7.net] >>64 EXCELの高機能なの使いたければこちらを使う ワードのようにリッチテキスト出せないのも同じ
71 名前:デフォルトの名無しさん mailto:sage [2025/02/07(金) 10:52:11.05 ID:5nqX8k30.net] >>66 「ポンチ絵」じゃ霞ヶ関のパワポ芸を連想させてしまって、伝わらないか・・・ 例えば、そのnoteの3枚目のパワポ事例の右肩に、簡単な円グラフと棒グラフがあるけど、 Accessでできるグラフって、この程度(=パワポレベル)でね? 過去にAccessでやりかけたものの一つは、 2016年から公開されている系統電力エリア需給実績データで、 グラフ機能がショボくて諦めた。 せっかく細かくデカいデータを、いろいろ繋げたり加工はできるのに。 (実は、ファイル容量上限2GBもネックだったりする・・・) で、今、Excelで、bookもクエリーもVBAで多段処理して ヒイヒイ言いながらなんとか作っている、お恥ずかしいグラフは、こんなの。 i.imgur.com/Ossd2O9.png ChatGPTに相談したら、Power BIどころか、 これはこれでもう、OracleかSQLかなんかでサーバー立てて、 htmlゴリゴリ書いてWeb共有したら? と言われる始末。
72 名前:デフォルトの名無しさん [2025/02/07(金) 16:21:39.67 ID:KDvERFpc.net] >>70 2GBの壁はテーブルを切り出せばいい 1テーブルならSQLサバ無料で
73 名前:デフォルトの名無しさん [2025/02/07(金) 17:44:34.26 ID:KDvERFpc.net] >>70 グラフ凄いな 全体構造はわからんけど、オレが作るなら データ取得とデータ提供クエリーをaccess側で EXCELはaccessからデータもらって画像のように出力 かな EXCEL側から全部できるようにしとくと便利だけど、密結合(イメージ)すぎると他に流用しにくくなる 例えば別形式のグラフ出そうとして別EXCELファイル作ると、そちらにもデータ取得処理が必要になるとか、データ取得のために画像のEXCEL起動が必要とか accessでデータ取得にしとくと、スター型みたいに複数EXCELやワード、パワポにデータ提供しやすい まあ、理想通りにいかないことも多々あるんですけどw
74 名前:70 mailto:sage [2025/02/07(金) 20:11:00.46 ID:5nqX8k30.net] 他の人の参考になるとは思えんけど、拙いこの集計の概略を晒すと、 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分カレンダークエリーを作って、 需要が落ちる祝日情報も取り込み、 読み込んだデータをマージして、ピボットテーブルでグラフ用集計。
75 名前:70 mailto:sage [2025/02/07(金) 20:23:37.17 ID:5nqX8k30.net] 2016年から作り始めて、その間、 元のcsvデータが間違ってた(時間コマを飛ばしたりズレていた)とか、 2018年9月に北海道胆振東部地震でエリア全域ブラックアウトになり、 その期間を最大最小計算から外す細工が必要になったとか。 2024年度は途中でエリアバラバラで、 1時間平均MW値が30分平均値化。過去遡及して30分値化するとか、 火力一本だったのが燃料別に4つに分かれるとか、蓄電池が追加されるとか、 勝手に項目を追加する一般送配電事業者が出てくるとか。 一送各社Webサイトで当日分だけグラフ表示するようになったけど、 正の領域しか表示せず、揚水動力、連系線出、再エネ抑制といった調整力はわからないまま。 インタラクティブに過去のグラフは表示しない。 いろいろあって、結局Excelで、やっとの思いで今のリアルタイム集計になりまして。 Power BIでは積上げ棒を透過させたり、上下に2段3段と並べて連動するグラフは作れなかった。 1時間平均値の時には気象データも連携させていた。 別途再エネ接続量データを連携させて、設備利用率も出したいけれど、 もうExcelでは限界かなぁ・・・と。
76 名前:デフォルトの名無しさん [2025/02/07(金) 20:26:43.73 ID:kGAOem5c.net] >>74 PythonとかRでやれ
77 名前:70 mailto:sage [2025/02/07(金) 20:46:10.04 ID:5nqX8k30.net] Pythonは、クエリーでこの程度の加工計算なら、Power Queryで済んでしまう。 Webからスクレイピングするとき、CSSには強いが、今のところPower Queryで困っていない。 速いかどうかは知らん。 Rは、学術的に正確な統計計算とそのグラフに強い。 正規分布でない風速をポアソン分布やガンマ分布で解析、出現予測するとか、 気温と需要の関係を解析するようになったら必要だろうけど、 自分はそこまで至っていない。 せいぜい、気温の1時間平均値を標準偏差×±2か箱ひげ図で外れ値判断するとか、 需要の増加や火力最大値の減少を近似直線で傾向把握する程度だったら、 これもExcelで済んでしまう。 どっちも前処理は、何らかのカタチでExcelでやる必要があるのかな? とも。
78 名前:デフォルトの名無しさん mailto:sage [2025/02/08(土) 03:13:58.75 ID:tlJEZ7dN.net] Excel→WordとかやるくらいならVBAでSVG書いて直接デザインすればなんでもできるよ インクスケープでマウスやペンタブで書いてその部品ごとのコードVBAに貼るだけ SVGブラウザで開けばPDFにもできるし
79 名前:デフォルトの名無しさん mailto:sage [2025/02/08(土) 18:14:28.86 ID:YOnQ5wlc.net] >70 から書いてきたことを自分で読み返してみて、 改めて注意喚起しておかなきゃならないと思ったのは、 このケースはあくまで、 「入力が既にcsvなどでデータ化されている場合」。 これが手入力データからスタートの場合は、 Power Queryでは、過去データに応じて入力フォームを設定するのは難しい。 クエリー更新かけると入力欄も簡単にチャラにされてしまうので。 項目と空の入力欄のテーブルをクエリーで用意するのは出来ても (このクエリーテーブルをVBAのフォームと組み合わせるのも含めて)、 手入力後のテーブルを「ワークシートの範囲」として別クエリー名で読み取って そのたびにVBA使って「一時DB」としてバックアップ転記・追記しておくとか。 しかもバージョン管理が必要。 こんな使い方はPower Queryでは想定していない。 グラフなどのバックエンドはさておき、 このあたりのフロントエンドは Accessなどのデータベースソフトとか、ゴリゴリhtmlのWeb入力の方がよろしいのかしら?
80 名前:デフォルトの名無しさん [2025/02/09(日) 00:59:53.18 ID:6fa/wPsL.net] >>78 この膨大なデータを手入力ははなからやろうとは思わないけどw >これが手入力データからスタートの場合は、Power Queryでは、過去データに応じて入力フォームを設定するのは難しい。 これの意味がわからん Power Queryは既にあるデータを加工して取ってくるだけなので、元データをフォームで入力するのは単独の別の処理
81 名前:デフォルトの名無しさん [2025/02/09(日) 01:11:46.58 ID:6fa/wPsL.net] >>78 今はEXCELでも広大なシートを作れるので、全部そこに用意しとくのもわからないでもない 高速にデータ参照できるだろうし これをわざわざaccessのテーブルにしろとは言いにくい 条件(フィルター、where)をパカパカ頻繁に変えてグラフ見るなら、その条件でいちいちaccessからデータ取ってくるのは遅くなるのは当たり前なんで
82 名前:デフォルトの名無しさん mailto:sage [2025/02/09(日) 01:55:05.78 ID:RVVDgg/U.net] ウェブアプリみたいな角丸の入力フィールドを好きなところに配置できて固定できるようにしてほしい あとはドロップダウンのデザインやテーブルにゴミ箱アイコンとかおいたときに勝手に増加させて処理してほしい
83 名前:デフォルトの名無しさん mailto:sage [2025/02/09(日) 01:56:46.49 ID:RVVDgg/U.net] 入力フィールドイラレでつくって背景に設定してみたがズレてうまくいかなかった 個人的趣味でウェブアプリみたいにおしゃれにしたい もしかしてHTMLで書いて保存先エクセルにはすればいいだけなのだろうか
84 名前:デフォルトの名無しさん mailto:sage [2025/02/09(日) 02:15:42.23 ID:ybP+0gdx.net] >>79 計測器からデータロガーで使ってcsv吐かせられるならいいけれど、 現場で人力測定データをタブレットかなんかで手入力するケースはあるわけで。 「過去データに応じて入力フォームを設定」とは、 要は、既存データ体系からシーンに応じた入力項目を設定する意味。
85 名前:デフォルトの名無しさん mailto:sage [2025/02/09(日) 02:37:12.87 ID:pfV2LLH0.net] >>82 オートフィルとかつかえなくない?
86 名前:デフォルトの名無しさん [2025/02/09(日) 03:29:11.72 ID:ErSKFJrF.net] >>81 お前にはできないだけだぞ 馬鹿はいい加減黙れや
87 名前:デフォルトの名無しさん [2025/02/09(日) 15:46:01.78 ID:STHiG3Gx.net] >>83 バカw
88 名前:デフォルトの名無しさん [2025/02/09(日) 15:48:49.27 ID:3YuH3Lbs.net] >>86 このハゲ!
89 名前:デフォルトの名無しさん mailto:sage [2025/02/11(火) 13:55:02.31 ID:0Z94qsdx.net] >>81 「ウェブアプリみたいな角丸の入力フィールド」って、どんなヤツ?
90 名前:デフォルトの名無しさん mailto:sage [2025/02/12(水) 01:10:50.08 ID:NQ28SsUV.net] メーカーの品証だけど製造部の事務所に3ヶ月応援きたからメンテ不要の何か作ったろうかと思ったら99%がただの関数で解決して博士扱い こんなのマジで毎回手打ちとコピペ?嘘だろ?と…いやChatGPTどころかネットの検索もしないんかよ いいけどさ
91 名前:デフォルトの名無しさん [2025/02/12(水) 09:27:28.40 ID:hQT6SIeG.net] まあ男の誰もが料理できるわけではないのと変わらん
92 名前:デフォルトの名無しさん [2025/02/12(水) 10:53:22.20 ID:WpGOIYcm.net] 今は情報教育義務化されたからあと20年くらいしたら改善されるかもしれないししないかもしれないね
93 名前:デフォルトの名無しさん mailto:sage [2025/02/12(水) 10:58:55.06 ID:D1sa/bS6.net] >>89 他社からくるエクセルファイル結構でたらめなこと多いけど全部手でやってるのかね
94 名前:デフォルトの名無しさん mailto:sage [2025/02/12(水) 12:03:31.97 ID:QhKQzcUs.net] みんな義務教育を信用しすぎ 習ったことなんて大人になったら大半は忘れるのが普通だぞ 例えば料理だって基本のキは義務教育でやらされるのに、何も覚えてない、できないやつは珍しくないだろ
95 名前:デフォルトの名無しさん mailto:sage [2025/02/12(水) 12:36:23.45 ID:7RfvnUeA.net] 組織がデカく成れば成るほど、責任が降りかかるような業務には背を向ける連中が増殖する 楽してトラブル起こさず査定にヒビを入れないようひっそり仕事して、ちまちまおちんぎん増やすのが主目的に成る そんなメーカーは潰れてしまえ 社内のディープステートを一掃して、世のため人のため国のために業績上げる企業に仕立て上げて行かないと かつて見下していた国々に居場所を奪われ、逆の立ち位置に陥るだけ ま、なんとかもおだてりゃ木に登る例えで、自分らは楽して業務効率あげた、おれたちスゲー としか思って無いんだろうさ
96 名前:デフォルトの名無しさん mailto:sage [2025/02/12(水) 18:55:47.83 ID:92VQoW6N.net] >>92 足でやってる人もいるかも知れない
97 名前:デフォルトの名無しさん mailto:sage [2025/02/12(水) 19:12:40.63 ID:AFDgFLET.net] 猫の手を借りたかもしれない
98 名前:デフォルトの名無しさん [2025/02/12(水) 21:40:20.00 ID:UYbuLO93.net] うちはマクロもUSBも禁止です。 社員連絡は音声通話のみ。
99 名前:デフォルトの名無しさん mailto:sage [2025/02/12(水) 22:01:23.57 ID:udhLPr28.net] 重要な企業情報を流出させないためってのはわかるんだが何でもかんでも禁止でがんじがらめにされるとなあ せめてシフト表ぐらい個人スマホから見れるようにしてくれてもいいのにって思う
100 名前:デフォルトの名無しさん mailto:sage [2025/02/12(水) 22:29:17.32 ID:QhKQzcUs.net] ちょっと気を抜いて某国のスパイに根こそぎやられた企業の悲惨な末路
101 名前:デフォルトの名無しさん mailto:sage [2025/02/12(水) 22:31:59.53 ID:wnMgVjAK.net] 外資だけどアホみたいに緩くて性善説で成り立ってる 本国はめちゃくちゃ厳しいらしいけどUSBというかスティックSSDの申請済 私用スマホ使いまくり まぁでも家にある前職で作ったものはメールでコードだけ送って足すのが基本
102 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 15:48:31.12 ID:hWVJCQNu.net] マクロ禁止は分かる。だがマクロ以外禁止とかあると聞いたぞ??
103 名前:デフォルトの名無しさん [2025/02/13(木) 15:58:14.25 ID:8KNio/Em.net] マグロがだめならサーモンだ いつも回転寿司で食ってる。
104 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 16:12:14.59 ID:DxyqPuNW.net] Windowsには標準でプログラミングツールが入ってるんだから、csv加工アプリを作ってデータ処理させればいい マクロ禁止でも楽する方法はいくらでもある
105 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 18:51:17.89 ID:hg23MJ0N.net] 内閣府の会議資料に中国企業のロゴが入っていることもあるんだからスパイはお互い様
106 名前:デフォルトの名無しさん [2025/02/13(木) 21:02:43.75 ID:hOBkcaQO.net] ほとんどの人はPCを紙と鉛筆代わりにしか使えてないって聞いたことあるような、ないような。 それは極端としても、やはりデカい計算機ってとこかな。
107 名前:デフォルトの名無しさん mailto:sage [2025/02/13(木) 23:58:35.18 ID:QwmiUi8q.net] >>101 許可制にすりゃいいのに、と思うけど予期せぬバグとかバグなくても自動処理の弊害で間違った請求データとかになることをおそれてるんだろうな 個人経営で自分でやってるけど自動で整形してたのが実は特殊な状態でおかしくなることに気がついたことはある 自動だから確認もせずにやってた
108 名前:デフォルトの名無しさん mailto:sage [2025/02/14(金) 00:00:11.80 ID:fWic+l24.net] >>105 デジタルより印刷した紙でやったほうがはやい仕事とかあるからな たとえばある複数の仕事を従業員や下請けに振り分けるとか配送をどこに頼む、とかは配車システム使うより紙でやったほうが速くて簡単
109 名前:デフォルトの名無しさん [2025/02/14(金) 07:06:32.31 ID:/mXci98E.net] もしかしてネット接続できるワープロでいいんじゃね?。
110 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 10:37:52.77 ID:T6J7j9HD.net] 公務員とかは中途半端にデジタル化したせいで再雇用老人が使い物にならない デジタル化といってもワープロと大差ないしな
111 名前:デフォルトの名無しさん mailto:sage [2025/02/15(土) 10:50:41.70 ID:WjHnLDkb.net] んにゃ? NGワードなんか? どなたか代理で下記をビジネスsoft板のExcel総合相談所に書いてくだちぃ 310宛(アンカ先が無いと蹴られたから已む無く) ガントチャートが必要な場面は工程が複数あるのが定番だと思うが、それ前提で話すと A工程で遅延が発生したらB工程に影響が出る そうするとB工程の作業開始日も後ろにズレ込んでしまう 以下CDEと連綿と影響を及ぼす それぞれの工程の間にマージン取っておくやり方もあるかも知らんが、それだと非効率的だし売り上げに響く と、いうことは プランとしてのガントチャートと実際の進捗のガントチャート、二段構えにするのがベター そうすれば、それぞれの開始日〜終了日 の二つの日付で済む A工程で2行B工程で2行C工程で2行以下同 のように作るのがいいような気がする
112 名前:デフォルトの名無しさん [2025/02/15(土) 23:31:35.96 ID:0ADe+YEn.net] >>110 chmateから問題なく書けた
113 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 08:12:05.13 ID:dmsQInvB.net] どうもありがとうございました 何故かあのスレだけに書き込めない ヨソでやれと叱られる もう一ヶ月ぐらい何度かいくつかの質問に応じようとチャレンジしてたけど蹴られ続けてる あの板もこの板も他のスレッドだと書けるのに、なんでやねん 嫌
114 名前:われ者なんだろうな、きっと [] [ここ壊れてます]
115 名前:デフォルトの名無しさん [2025/02/16(日) 11:54:23.99 ID:rAQQ2/+c.net] スレ単体で容量オーバーみたいなのがあって 突然書き込めなくなるときがあるみたいね
116 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 12:29:12.88 ID:2jRcsuG5.net] それは別のエラー出る
117 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 15:26:01.80 ID:DIbjuain.net] 最近、巻き添え規制?なるものを食らうよ。ありゃダメだ
118 名前:デフォルトの名無しさん [2025/02/16(日) 18:40:30.02 ID:M+q415JA.net] どんぐりレベル確認に書けない板があるのよね 深く考えずに他の板で書いてしまうけど
119 名前:デフォルトの名無しさん [2025/02/16(日) 19:24:09.70 ID:flfTaIIb.net] だいたいNGワードかなんかなんで表現変えたり わざと誤字ると通ったりはする 他人が普通に書き込めてるのは納得いかんが
120 名前:デフォルトの名無しさん mailto:sage [2025/02/16(日) 21:25:23.95 ID:mgXfTMjn.net] 回線やIPアドレスでも規制がかかってるし、課金すると一部のNGワードは書けるようになるし、もうわけわからん
121 名前:デフォルトの名無しさん [2025/02/17(月) 05:06:27.69 ID:YfDQ2u6Y.net] 超初歩的な質問なんだけど thisworkbook.closeしてもエクセル閉じないんだけどどうすれば良いですか? AIに聞いたらいわゆるゴーストエクセルって状態ですねって返ってきた けど結局直し方わからん…
122 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 06:35:24.79 ID:IxK7m8id.net] >>119 半角だとNGワードになって書き込めないから全角で書く Shell (”cmd.exe /c taskkill /F /IM excel.exe”)
123 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 07:56:37.28 ID:85i1FDmI.net] >>119 そりゃそうだ ワークブック閉じてもエクセルのインスタンスを閉じたわけじゃない エクセルのインスタンスを終了させるならApplication.Quit が要る
124 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 08:23:48.78 ID:nMxQf7tT.net] いつも右上のバッテンボタンでExcelを綴じていると、アプリの終了とファイルを閉じることの区別が分からなくなっているんだろな。
125 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 08:30:05.23 ID:5A83ez5u.net] どこのどいつがAIに「ゴーストエクセル」なんてぇ言葉を入れ知恵したのかを知りたいw どの界隈でも見聞きしない単語なんだけど close と Quit はセットだと深く記憶に刻み込むだけで、今後はスラスラ
126 名前:デフォルトの名無しさん mailto:sage [2025/02/17(月) 12:59:32.50 ID:5A83ez5u.net] MS Community にならLeeさんが質問してたケースがあった "Ghost" Window という書き方だったが Ghost Excel でググると、スピルがどうのこうのというのがゾロゾロ出て来る スピル使うとゴーストに悩まされるケースが多いのか
127 名前: mailto:sage [2025/02/17(月) 22:44:52.64 ID:pni2qfsM.net] >>119 Quitでアプリケーション閉じると思うけど、他にもファイルを開いていた場合の処理をまともに考えると面倒くさくなるので、closeで今の動きのまま使った方がいいと思う。
128 名前:デフォルトの名無しさん [2025/02/18(火) 11:08:45.68 ID:HbHlBTpR.net] >>123 ゾンビエクセルなら判る
129 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 14:35:53.85 ID:y6aTCeqW.net] >>125 隠しExcelって基本外部からの起動だし メモリケチらないと死ぬ環境でなければ別プロセスだし 見えないまま置いとくなんてメモリ富豪でも死ぬし 閉じないならせめて可視にして終わったで!アピールすべきでは?
130 名前:デフォルトの名無しさん [2025/02/18(火) 17:25:51.88 ID:27EraVEW.net] やればわかるけどapplication.quitで他人のworkbook巻き込んで死ぬとか無いから 自分で起動して自分で始末迄しといてokというかするべき
131 名前:デフォルトの名無しさん mailto:sage [2025/02/18(火) 17:36:42.84 ID:IbEo812m.net] メモリをケチりたいときはCreateObjectじゃなくてGetObjectで起動済のExcelを使えるんよ 外部からファイル開いて見せつけたいときはGetObjectを試すと良い
132 名前:デフォルトの名無しさん [2025/02/18(火) 18:02:02.82 ID:27EraVEW.net] GetObjectで取得したらQuitせずに放置 CreateObjectで取得したら必ずQuit でいいじゃんカンタンでしょプログラマならね
133 名前:デフォルトの名無しさん [2025/03/02(日) 20:24:16.26 ID:3wR71eCu.net] この4〜5ヶ月の間で勉強してわかる様になったけど、分かった今、今まで勉強してきた内容は全て、答えと理屈と解説があればだったの3日で覚えられる内容じゃなかったのかなと思えて本当に怖い。 自分があまりにもバカすぎるんじゃ無いかと思えて怖い。 function関数、参照渡し、値渡し、配列、配列の内容を貼り付ける為のresize、クラスモジュール、ディクショナリー。 これ以外にも一通りの事はやったし、ただの事務所にはお釣りのくるレベルだと思う。 それくらいやり込んで思うのは集計ならPower Queryでデータベースの真似事をしようって事。
134 名前:デフォルトの名無しさん [2025/03/02(日) 20:28:12.87 ID:3wR71eCu.net] >>124 私は全くの素人で間違っていたら悪いけど、 スピルの正体は配列だと思う だから恐らく配列が解放されないままという事があるという事では
135 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 20:34:37.89 ID:ie+DhjRu.net] >>131 真似事というかMSがAccessを捨ててExcelでデータベースをやろうとしてるのでそれが正道だよ
136 名前:デフォルトの名無しさん [2025/03/02(日) 20:35:44.42 ID:3wR71eCu.net] >>30 Power Queryでは無いのですか?
137 名前:デフォルトの名無しさん [2025/03/02(日) 20:48:17.32 ID:3wR71eCu.net] >>133 Power QueryやM言語でデータベースと言っちゃって、本物のSQLやOracleやデータベース構築をやっている人から怒られないか心配。 ただMicrosoftもワークシートに何でもありのExcelに限界を感じているから基本的な物ではテーブルや、Power Queryの様にレコードとフィールドのデータベースの様なものを作ったんだろうなと思う。 Power Queryに全くの理解が得られていないから、ここでは使っている人がいて本当に助かる。
138 名前:デフォルトの名無しさん [2025/03/02(日) 21:34:16.79 ID:3wR71eCu.net] VBAでテーブルを積極的に活用している人は少ないですか? 私はワークシートの構造化参照がとても便利だから、きっとVBAでもテーブルは便利なはずだと思って積極的に活用しているのですが
139 名前:デフォルトの名無しさん mailto:sage [2025/03/02(日) 22:30:40.17 ID:wyYqpjGW.net] あなたが便利だと思うのならそれでいい
140 名前:デフォルトの名無しさん [2025/03/03(月) 07:54:16.57 ID:ojMLYwWW.net] AIがロケットエンジンを自分で設計してそれを元に作られたエンジンが既に実験されているとか 微生物学者が10年研究してたどり着いた非公開の結論にAIが2日でたどり着いたとか AIはバカにできないと思うな
141 名前:デフォルトの名無しさん [2025/03/03(月) 15:57:09.20 ID:cZqqn2mw.net] >>138 ロケットエンジン凄いよな 造形も含めて驚いたわ 車のエンジンも作らせてみてもらいたい ピストンでもロータリーでもない、メンテ不能な使い捨てエンジンになるんだろうかw
142 名前:デフォルトの名無しさん [2025/03/03(月) 19:25:36.27 ID:ojMLYwWW.net] ゴーストExcelというのが、解放されていない配列(スピル)だとして、閉じる時にクリックボード云々、メモリが云々と出てくるメッセージの処理をすればいいのではないだろうか? Quitする前に計画メッセージの表示を非表示にしているのをTRUEにするとか 上書き保存したらメモリが解放されるらしい?
143 名前:デフォルトの名無しさん mailto:sage [2025/03/03(月) 20:08:42.07 ID:EFm5iDvj.net] >>138 AIは仕組みの名称だから、賢いAIがあるのと賢くないAIもある 人間でも賢い奴とそうでないのがいるのと同じ
144 名前:デフォルトの名無しさん [2025/03/03(月) 20:29:16.51 ID:493HRTJ5.net] >>140 やっぱり馬鹿か
145 名前:デフォルトの名無しさん [2025/03/03(月) 21:09:08.94 ID:ojMLYwWW.net] >>142 Application.Quitで確実にメモリは解放されるのでしょうか?
146 名前:デフォルトの名無しさん [2025/03/03(月) 21:12:23.20 ID:ojMLYwWW.net] Copilotの方がバカだと言う意見も多数見受けられますが、 そもそもサイトで解説されているコードの多くがループでCellsを指定するコードで、配列を解説するサイトは少ない方だと思いますし、初心者は配列を理解できるとも思いません。 なのでこれはこれで非常に賢く、正解だと思います。
147 名前:デフォルトの名無しさん [2025/03/03(月) 22:02:00.76 ID:ojMLYwWW.net] >>139 ロリータエンジンを設計してほしい
148 名前:デフォルトの名無しさん mailto:sage [2025/03/03(月) 22:14:59.59 ID:hY/Abd7Z.net] ビジネスで使うPCにはエクセルが入ってない方が稀なレベルなのにVBAやマクロを使う人の割合はマジでめちゃくちゃ少ない だがこれだけで食っていけるスキルではなく部署や部門での業務を理解した上で使うと破壊力がすごい この絶妙なバランスがVBAが廃れない理由なのである どこかの国の経済だか社会だかの学者のお言葉の翻訳 ソースはネット
149 名前:デフォルトの名無しさん mailto:sage [2025/03/03(月) 22:28:28.95 ID:DQzgbxtw.net] Excel ビバは永久に不滅です!
150 名前:デフォルトの名無しさん mailto:sage [2025/03/03(月) 22:42:56.50 ID:wbua/BWz.net] 生成AIはネット上にある誰かのアイデアを盗んでくるだけだぞ 独創的な発明なんて無理
151 名前:デフォルトの名無しさん [2025/03/03(月) 22:43:48.97 ID:ojMLYwWW.net] >>146 Power Queryを使おう 表計算なんて馬鹿馬鹿しくなります そもそも世の中から事務職やホワイトカラーは滅びつつあります 簿記一級(税理士試験の簿財相当)の保有者でも現場が人手不足だからと倉庫に配置された、なんて話も聞きます
152 名前:デフォルトの名無しさん [2025/03/03(月) 23:09:35.45 ID:God49AsR.net] やっぱり馬鹿だな
153 名前:デフォルトの名無しさん [2025/03/03(月) 23:16:43.94 ID:ojMLYwWW.net] set wb = workbook.Ado dic.Ado キー,wb で新出の値のキー登録と新規ブックの作成 キーによる個別のブックの操作 を考えたんだけど誰か活用する?
154 名前:デフォルトの名無しさん [2025/03/03(月) 23:22:23.68 ID:5a9xjhPC.net] こいつは統合失調症なのか?
155 名前:デフォルトの名無しさん [2025/03/03(月) 23:30:26.74 ID:ojMLYwWW.net] >>152 残念ながら医者に何病とも診断されていません 自分でも本当に不思議です
156 名前:デフォルトの名無しさん [2025/03/04(火) 00:43:55.38 ID:ajxEvwK0.net] そりゃ歯医者に行っても無駄だろ
157 名前:デフォルトの名無しさん [2025/03/04(火) 00:50:05.83 ID:Tb7et4b8.net] >>154 当然精神科ですね
158 名前:デフォルトの名無しさん [2025/03/04(火) 00:58:45.82 ID:ajxEvwK0.net] 普通の人は精神科に行くことはない
159 名前:デフォルトの名無しさん [2025/03/04(火) 01:16:43.31 ID:Tb7et4b8.net] >>156 精神科で何の診断も有りませんでした よって正常
160 名前:デフォルトの名無しさん [2025/03/04(火) 03:49:28.88 ID:Z4+Dy9AK.net] というかそもそも精神科に行ってること自体異常
161 名前:デフォルトの名無しさん [2025/03/04(火) 04:24:25.03 ID:murVybZ/.net] ひといないねこのすれ
162 名前:デフォルトの名無しさん [2025/03/04(火) 04:29:56.69 ID:Tb7et4b8.net] トランプみたいな妄想に取り憑かれた精神異常者がアメリカの大統領の多様性な時代だから、頭がおかしくても何ら問題ないでしょう?
163 名前:デフォルトの名無しさん [2025/03/04(火) 07:47:19.70 ID:Tb7et4b8.net] 例えばワークシートの変数だって Thisworkbookならオブジェクト名でいいのに Dim ws as Worksheet Set ws = Sheets("シート名") と いちいち変数宣言と変数に代入するコードばかり 理由があるとするなら、 Set ws = 〜 と書かなきゃ、いきなりオブジェクト名でO.Range(〜)と書かれても読み手や初心者は意味不明だからという事だと思う 私はほとんどSet ws = なんか使わない With wb.sheets(1)とも書く 何なら最近はworkbooks.open(パス).Sheets(1)で引数として渡したりもする
164 名前:デフォルトの名無しさん mailto:sage [2025/03/04(火) 08:21:00.58 ID:V+ku5Fot.net] >>161 なんでいちいち変数宣言とオブジェクト代入が別のコードばかりだと思う? ちゃんと理由があるんだよ 考えてごらん 考えて分からなければ試してごらん
165 名前:デフォルトの名無しさん mailto:sage [2025/03/04(火) 12:50:49.08 ID:qe0goVko.net] ひとりでだらだら書くの怖い
166 名前:デフォルトの名無しさん [2025/03/04(火) 14:24:47.72 ID:KDWWkhFc.net] shtSrc、shtDstとか使ったりするな この場合、片方withにしたりしない wbは使うけど wsは似てるのでshtを使ってるな(マイルール)
167 名前:デフォルトの名無しさん [2025/03/04(火) 15:24:21.79 ID:ZeQg+/wO.net] 基地外の妄想に真面目に付き合うとこちらも基地外の思考に引きずり込まれるので注意
168 名前:デフォルトの名無しさん [2025/03/04(火) 19:07:56.30 ID:Tb7et4b8.net] VBAを頑張った所でお金を稼ぐ仕事をしていないし、評価もされないのに、VBAをプライベートの時間まで勉強しているのだから、確かに頭はおかしいのかもしれませんね
169 名前:デフォルトの名無しさん [2025/03/05(水) 01:44:45.99 ID:LorqVIUg.net] お薬は何を処方されているのか気になる
170 名前:デフォルトの名無しさん [2025/03/05(水) 05:53:49.38 ID:S1rSI3xB.net] >>167 だから 何病とも診断されていない と言っているじゃないですか
171 名前:デフォルトの名無しさん [2025/03/05(水) 06:04:58.80 ID:S1rSI3xB.net] 精神科や精神病というのは、 差別主義のための診療科目でもなければ、甘ちゃんの為の診療科目でもないので、そう簡単に診察はありません
172 名前:デフォルトの名無しさん mailto:sage [2025/03/05(水) 07:01:41.35 ID:DooANywK.net] 死ぬまで自演してろ
173 名前:デフォルトの名無しさん mailto:sage [2025/03/05(水) 17:31:26.77 ID:vLk2O6Ps.net] 変数名はハンガリアン1択だな
174 名前:デフォルトの名無しさん [2025/03/05(水) 18:13:21.81 ID:LorqVIUg.net] >>169 精神科では簡単に「診察」してくれないと主張し始めたのかよ キチガイは大変だな
175 名前:デフォルトの名無しさん [2025/03/06(木) 22:30:47.24 ID:5BI70O69.net] Office田中だの、大体でITだの、中身の一切ない無駄な講釈サイトより、Microsoftの公式サイトの方が、関係するメゾット一覧、プロパティ一覧が経済されていて、よっぽど有意義じゃないか あとは関係していそうなページを見るだけ
176 名前:デフォルトの名無しさん mailto:sage [2025/03/06(木) 23:59:57.39 ID:Un6knBQR.net] Oh, holy sht...
177 名前:デフォルトの名無しさん [2025/03/07(金) 06:39:57.68 ID:oiMOetm/.net] 今更Microsoftの公式サイトでrange.sub totalメゾットがある(小計ボタン)って知りましたよ。 あの機能の存在は知っていたけどまさかGroupByがワークシートにもあったとは
178 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 07:51:41.51 ID:D6WVspdH.net] ひどい自演を見た
179 名前:デフォルトの名無しさん [2025/03/07(金) 09:03:00.38 ID:HLiObQ+Z.net] メソッドとリゾットがごっちゃに成ってる 英語で理解してれば間違うはず無いんだが 一覧が経済 う〜ん、日本語も不自由 君はどんな分野ならミス無く仕事を完遂できるんだ? ほぼレッドに近いイエローカードもらいまくりだろ
180 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 10:23:33.45 ID:ZUUdqpBt.net] まだプロパティーと黒パンティーは混同してないからセーフ!
181 名前:デフォルトの名無しさん [2025/03/07(金) 19:06:23.36 ID:oiMOetm/.net] VBAを使っている人の知性はこの程度って事ですね
182 名前:デフォルトの名無しさん mailto:sage [2025/03/07(金) 20:48:42.08 ID:D6WVspdH.net] >>179 メゾットのこと?
183 名前:デフォルトの名無しさん [2025/03/07(金) 21:05:52.57 ID:oiMOetm/.net] やっとディクショナリーのネストがわかった 長かった 公式サイトをみてメソッドの一覧と各動作を見たら一発で理解出来た
184 名前:デフォルトの名無しさん [2025/03/08(土) 09:21:00.57 ID:+sLjG1A5.net] プロパティー、パンティー、ディレクトリー、ディクショナリー、フォルダー 20年前から更新されてないなおじいちゃん
185 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 09:31:12.70 ID:FRvS9N8B.net] なかなかラベルの高い会話だ
186 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 10:15:44.24 ID:mX90+5qU.net] 高いのはバベルだ
187 名前:デフォルトの名無しさん [2025/03/08(土) 11:20:05.23 ID:wd5PxXx5.net] >>182 VBAはその程度の知性しかないですし
188 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 12:03:51.71 ID:QXQsSL9T.net] わしのディスクトップパコソンでもExcel VBA は動くかのぅ
189 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 12:13:21.77 ID:r5ZNbAEG.net] この流れ糞面白くもない上加齢臭すごい
190 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 13:54:02.30 ID:VZYYsV9d.net] 5chは加齢臭の巣窟ですよ 子供は他所で遊んだ方がいいですよ
191 名前:デフォルトの名無しさん [2025/03/08(土) 15:07:01.86 ID:wd5PxXx5.net] COBOLがまだまだ現役ですから
192 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 16:03:33.93 ID:kCgnTDtk.net] もうこの板よりもmisskeyの方が良い情報貰えるわ…この板で聞いても煽りしか沸かん。皆さんmisskeyで鯖建てよう。
193 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 16:42:26.92 ID:XgYWxsH2.net] まともな質問者にはまともな回答ついてるし、 質問者にも問題あるように思う
194 名前:デフォルトの名無しさん [2025/03/08(土) 17:18:10.25 ID:vCpbeV3o.net] 馬鹿は馬鹿の考える馬鹿な解決方法で決め付けて馬鹿の作る文章で質問するからだよ
195 名前:デフォルトの名無しさん mailto:sage [2025/03/08(土) 19:48:52.46 ID:YLd0igTq.net] コボルドなんて雑魚モンスターだろ
196 名前:デフォルトの名無しさん mailto:sage [2025/03/09(日) 13:15:12.93 ID:J7YQ+go/.net] >>192 黙れ馬鹿お前がそんなに優秀なら草生やしてこい
197 名前:デフォルトの名無しさん mailto:sage [2025/03/09(日) 16:51:18.96 ID:CSDQeC2U.net] イマドキこんな匿名掲示板で、コメントにいちいち草生やす輩は、 ネトウヨかサイコパスだと思っておる。
198 名前:デフォルトの名無しさん mailto:sage [2025/03/14(金) 22:17:51.45 ID:A1uiYhGj.net] 浅はかな質問者こそ、インターネットのExcel情報発信サイト(笑)に洗脳されるんだからなw
199 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 21:41:00.86 ID:k9QY0dar.net] 夜でも浅はか
200 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 22:23:20.41 ID:obne4fTm.net] 書き込みがあかさたなはまやらわ
201 名前:デフォルトの名無しさん mailto:sage [2025/03/20(木) 22:47:14.58 ID:5IJrnU3Y.net] アサヒのア ハガキのハ スズメのス
202 名前:デフォルトの名無しさん mailto:sage [2025/03/21(金) 17:18:18.91 ID:alm1JiMV.net] イタチのタヌキ カニのカトリ サンマのマヌケ オハシのオハナシ
203 名前:デフォルトの名無しさん [2025/03/21(金) 17:24:26.35 ID:JiFNMtL1.net] ハゲの丸焼き
204 名前:デフォルトの名無しさん mailto:sage [2025/03/21(金) 17:37:40.15 ID:unkB4GFH.net] 遺憾のいを表明 遺憾のかを表明 遺憾のんを表明
205 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 14:23:19.16 ID:U6/Lg1xx.net] プログラマはexcolなんて使いません
206 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 14:27:12.25 ID:ysLvJ2cD.net] あるものは使うだろ
207 名前:デフォルトの名無しさん [2025/03/22(土) 14:29:25.98 ID:OatR6CaF.net] excolなんて確かに使わんな
208 名前:デフォルトの名無しさん [2025/03/22(土) 15:24:48.78 ID:r/hyrwnj.net] 蜜柑の実を使う
209 名前:デフォルトの名無しさん mailto:sage [2025/03/22(土) 19:45:04.24 ID:xM4TaIFM.net] EXILE VIVA!
210 名前:デフォルトの名無しさん mailto:sage [2025/03/23(日) 15:48:36.40 ID:Pd0iCCXX.net] VBAで三次元グラフィックスやりたいです
211 名前:デフォルトの名無しさん [2025/03/23(日) 17:30:15.85 ID:ScdshZBH.net] セルベーダーできるくらいなんで、簡易的なのはできると思うよ、静止画なら 精密で動画ならただの修行w
212 名前:デフォルトの名無しさん mailto:sage [2025/03/23(日) 17:32:25.69 ID:3L7kbFUL.net] EXCEL方眼紙をまずつくって グラフィックプロシジャー書くしかないんだあ
213 名前:デフォルトの名無しさん [2025/03/23(日) 21:14:48.00 ID:ScdshZBH.net] お前の頭ではそれしかないやろな
214 名前:デフォルトの名無しさん mailto:sage [2025/03/23(日) 21:24:33.44 ID:qwrrHNuJ.net] チューリング完全だからやろうと思えばできる
215 名前:デフォルトの名無しさん mailto:sage [2025/03/23(日) 22:54:18.51 ID:OWjplp2/.net] できるけど時間が死ぬほどかかる
216 名前:デフォルトの名無しさん mailto:sage [2025/03/23(日) 23:58:49.95 ID:DkwEuCLI.net] >>213 そこをCopilotでサクッと
217 名前:デフォルトの名無しさん mailto:sage [2025/03/24(月) 10:11:36.39 ID:j43eEgQI.net] 死ぬまでやればいい
218 名前:デフォルトの名無しさん mailto:sage [2025/03/24(月) 11:43:02.14 ID:H/K5oxH1.net] DirectXでも使えば Declare PtrSafe Function D3D11CreateDeviceAndSwapChain Lib "d3d11.dll" (ByVal pAdapter As LongPtr, ...
219 名前:デフォルトの名無しさん mailto:sage [2025/03/27(木) 18:34:39.05 ID:jLlr0ssr.net] Excelって表計算ソフトなんだから計算自体は遅くはないはず ExcelやPCが古いとか、使い方が悪いと遅く感じることがあるのはどうしようもない
220 名前:デフォルトの名無しさん mailto:sage [2025/04/02(水) 12:11:51.70 ID:k9Y5euIy.net] >Excelって表計算ソフトなんだから計算自体は遅くはないはず いやいや
221 名前:デフォルトの名無しさん mailto:sage [2025/04/02(水) 12:46:20.80 ID:fQLD12N3.net] 計算自体は遅くない VBAで計算させてみればわかる
222 名前:デフォルトの名無しさん [2025/04/02(水) 15:40:30.32 ID:YtX8ROzr.net] 通常の計算が死ぬ程遅いとは思わんが
223 名前:デフォルトの名無しさん [2025/04/02(水) 15:49:04.58 ID:DrCS0/v3.net] 速くはないがなぜ死ぬほど遅いと受け取るのか 頭がおかしい
224 名前:デフォルトの名無しさん mailto:sage [2025/04/02(水) 16:23:36.39 ID:H/EOI9A8.net] >>221 コード記述に関して書かれてる>>213 の死ぬほど時間がかかるってレスの意味を多分読み違えてる
225 名前:デフォルトの名無しさん mailto:sage [2025/04/02(水) 19:33:48.61 ID:GjoCEHh1.net] 実際に動かしてみてどの程度遅かったのかが聞きたい 時間がかかりそうだからやらないでは何も始まらない
226 名前:デフォルトの名無しさん [2025/04/03(木) 23:53:58.10 ID:vgLE3lm4.net] 遅いのは描画 最新のPCでも普通に図形を動かすだけだと60fps出ないからな だからDirectXとかBitbltとかいう話になる
227 名前:デフォルトの名無しさん mailto:sage [2025/04/04(金) 09:56:41.82 ID:SBbIvQPE.net] つまり60fps出なければ死ぬほど遅いということになるのか
228 名前:デフォルトの名無しさん mailto:sage [2025/04/04(金) 11:09:10.33 ID:3rR7dcVE.net] 死ぬほど遅いって言ってる奴いないんだが
229 名前:デフォルトの名無しさん mailto:sage [2025/04/04(金) 11:39:05.90 ID:Vh1WrxqP.net] LED信号機の50Hz/60Hz点滅を認識出来る特殊能力持ちには堪らないストレスだろうな。
230 名前:デフォルトの名無しさん [2025/04/04(金) 19:28:27.01 ID:qx9rdEtn.net] KPIの計算式、方程式、関数は皆んなバラバラでしょうか? だとしたらどうやって脱Excelで集計しているのでしょうか?
231 名前:デフォルトの名無しさん [2025/04/04(金) 21:00:36.31 ID:qx9rdEtn.net] 脱Excelだ、属人化解消 って言っても、Excel以外のソフトやツールを使う事自体が属人化じゃないのですか? 海外ではWPSが使われていると言ってもそれは無料だからだし
232 名前:デフォルトの名無しさん mailto:sage [2025/04/04(金) 21:15:44.03 ID:3rR7dcVE.net] もうちょっと文章を推敲してから書き込んでくれる?
233 名前:デフォルトの名無しさん [2025/04/05(土) 16:25:13.50 ID:TpoqeJku.net] 5ちゃんは判る人だけに判る表現で描かれてることも多いから 推敲されとらんと判らんと言うのは野暮ったい
234 名前:デフォルトの名無しさん mailto:sage [2025/04/05(土) 18:24:33.10 ID:XKDZSGpX.net] >>231 回答が欲しくないならそれでもいいけど
235 名前:デフォルトの名無しさん mailto:sage [2025/04/05(土) 18:58:09.80 ID:hd9p0hEb.net] https://www.youtube.com/watch?v=HMuDFGuJZYM
236 名前:デフォルトの名無しさん mailto:sage [2025/04/06(日) 04:01:11.85 ID:z7QOz7qq.net] >>231 >判る人だけに判る表現 ソレを狙った表現でなければ只のバカだろ
237 名前:デフォルトの名無しさん mailto:sage [2025/04/06(日) 11:41:24.27 ID:9WLXexQN.net] EXCELはWEB版でもVBA動かせるようにしとけよ TypeScript面倒なんだよ
238 名前:デフォルトの名無しさん mailto:sage [2025/04/06(日) 18:52:35.42 ID:g9ozMYHT.net] ___,,,,,..... -一ァ / ̄;;;´;;、;;;ヾ;;;, -──--、,! . /'´|;;;;,、;;;;;;;;;;/ ,! . /:.:.:.レ´:.ヾ;;;;;;i 断 だ ,! /:.:.:.:.:.:.:.:.:.:.:ヾ;i る が ,! . /:.;.イ:.:.:.:.:.:.:.:.:.:..ヽ ,! . /レ' ;|:.:.:.:.:.:.:,:ィ:.:.:.:〉 __,.,! /-、ヽ,:|:.:.:,/ /:.:.://.:,:ィ:.:.:.,! /'ヽ、ヾi ゙´.: /__;:;:-'"´ ,;|:.:.:.,! . /ゝ-`';:/ .:〈ニ=-=ニ二 ̄ヽレ',! /::::;;;;;/ ' ,, ニ`ー-,、__\〉ィ,! . /;:::::/ ::. ::.,,\_ゞ;'> 〈;,! /i!:::::iヾ-'、::.. '';~ ,;:'/,! . /;;;i!fi´l_、,.` .: ,;:' ,! /;;;;;i' ('ー、ヽ ..: ,;:'' ,! ヽ、jゝ、`ヾ:、゙、 ,..:'.:'" .: ,! ``ヽ.、_ ¨` ,:' (_r:,! ``ヽ.、.. ノr;ソ~,! ``ヾ、 / 7,! ``ヽ,!
239 名前:デフォルトの名無しさん mailto:sage [2025/04/06(日) 18:58:34.75 ID:ICEKjU1A.net] 単に断るだけなら「だが」要らんだろ
240 名前:デフォルトの名無しさん [2025/04/06(日) 22:30:46.17 ID:4gRE+8Pn.net] 元ネタ知らない馬鹿
241 名前:デフォルトの名無しさん [2025/04/07(月) 14:20:42.41 ID:w0rhHNCz.net] >>235 VBAの資産全滅ざまぁ
242 名前:デフォルトの名無しさん mailto:sage [2025/04/07(月) 15:09:30.33 ID:0LfejpZB.net] で、結局VBS廃止でdll消されるからregexとfsoは使えなくなるの確定なのかい? おじさん心配で夜しか眠れないよ
243 名前:デフォルトの名無しさん [2025/04/07(月) 15:36:31.97 ID:kZI1I2BQ.net] >>240 おっさんのことなどどうでもよい
244 名前: mailto:sage [2025/04/07(月) 19:20:15.82 ID:fb5y/oiU.net] FSOはVBSとは違うんじゃない? そうなの?! そりゃ大変だよ さいきんRegExpの使用箇所の洗い出しをしてるけど、FSOまでとなったら会社辞めてMSと完全に縁を切るワ
245 名前:デフォルトの名無しさん mailto:sage [2025/04/07(月) 19:40:43.63 ID:zOM1Iu/f.net] VBScriptの非推奨範囲はvbscript.dll 今のところscrrun.dll削除の予定はない
246 名前: mailto:sage [2025/04/07(月) 22:11:50.81 ID:w+REsrqQ.net] >>243 だよねー thx
247 名前:デフォルトの名無しさん mailto:sage [2025/04/07(月) 23:26:16.00 ID:nefkTrVC.net] JScriptでExcel使うのむずくね? 遅いし
248 名前:デフォルトの名無しさん [2025/04/08(火) 01:48:28.39 ID:Hw/h5B8F.net] えぇ? 正規表現が廃止されるのですか?
249 名前:デフォルトの名無しさん mailto:sage [2025/04/08(火) 02:21:51.21 ID:26WTqqHE.net] VBSが廃止されるからVBSのライブラリに依存した機能は段階的に使えなくなる
250 名前:デフォルトの名無しさん [2025/04/08(火) 02:53:56.60 ID:IxiA36wq.net] >>246 >>243 を理解できないのか?
251 名前:デフォルトの名無しさん [2025/04/08(火) 12:06:39.31 ID:kmco6Wwx.net] VBAもいつ非推奨になってもおかしくないが、Excel離れを助長することにしかならないから難しいんだろうな 今VBAを正式に非推奨としてアナウンスすれば、多くのユーザーが移行先として選ぶのはOffice ScriptではなくどこぞのSaaSだろう
252 名前:デフォルトの名無しさん [2025/04/08(火) 20:50:20.47 ID:sp6xhIAw.net] VBA非推奨(次期officeで廃止)なんてトランプ関税並みのインパクトやぞ
253 名前: mailto:sage [2025/04/08(火) 22:48:13.08 ID:NxLLuNcW.net] VBSの代わりにPowerShellとか使ってといってるようだけど、移植のハードルって大したことないのですかね?
254 名前:デフォルトの名無しさん mailto:sage [2025/04/08(火) 23:24:39.13 ID:obSlGbgk.net] 別に難しくはないけど、いちいち書き換える手間が大変なんだよ
255 名前: mailto:sage [2025/04/08(火) 23:38:51.65 ID:NxLLuNcW.net] トランスレータみたいの用意してくれないかな VBS→PS
256 名前:デフォルトの名無しさん mailto:sage [2025/04/09(水) 13:58:53.47 ID:+I/+km/B.net] 俺の願望とかAIの進化とかそんなレベルじゃなくこれだけ世界中でExcelとVBAが普及してたらもうそもそも廃止なんてめちゃくちゃ時間かかる 経済が麻痺するレベルで不可能
257 名前:デフォルトの名無しさん [2025/04/09(水) 15:30:40.84 ID:7L8XyA+w.net] >>254 よく海外ではExcelは使われていないと言われていますがどうなんでしょうか?
258 名前:デフォルトの名無しさん mailto:sage [2025/04/09(水) 16:01:21.96 ID:6nvcZIHs.net] Microsoft、BGIに「Office365」提供停止 米中緊張影響か https://www.nikkei.com/article/DGXZQOCB084ZK0Y5A400C2000000/
259 名前:デフォルトの名無しさん [2025/04/09(水) 20:48:25.72 ID:wBzmCbK7.net] VBAが廃止される理由はセキュリティ面ですよね? VBAがセキュリティ面で問題なのはそれはVBAがなんでもできてしまうからなのでしょうか?
260 名前:デフォルトの名無しさん [2025/04/09(水) 21:03:18.64 ID:wBzmCbK7.net] VBAが禁止される大きな理由の一つに属人化しやすいという事が挙げられますが、そうならC言語やC++やPythonやJavaなら属人化しにくいのでしょうか?
261 名前:デフォルトの名無しさん [2025/04/09(水) 21:28:37.04 ID:Uc0oV4Gf.net] 馬鹿が勝手に考えた馬鹿な理由に説明を付けろと?
262 名前: mailto:sage [2025/04/09(水) 22:04:28.14 ID:3FQpKr3b.net] >>257 廃止が前提に聞こえるけど、そうなの?
263 名前:デフォルトの名無しさん [2025/04/09(水) 22:06:17.28 ID:Uc0oV4Gf.net] 馬鹿が馬鹿な知識で馬鹿な妄想をしてるだけだぞ
264 名前: mailto:sage [2025/04/09(水) 22:09:08.54 ID:3FQpKr3b.net] 属人化はどの言語もあまり変わらないと思うけど、ソース管理がしづらいのが… ブックをコピって亜流がモリモリと、、
265 名前: mailto:sage [2025/04/09(水) 22:14:44.41 ID:3FQpKr3b.net] >>262 属人化する、しないはどの言語もあまり変わらない、ということでした
266 名前:デフォルトの名無しさん [2025/04/09(水) 23:56:13.19 ID:wBzmCbK7.net] 闇Excelはあるのに、闇kintoneはないのですか?
267 名前:デフォルトの名無しさん mailto:sage [2025/04/10(木) 08:43:45.73 ID:SycQuxFd.net] ないなら作ればよいではないか
268 名前:デフォルトの名無しさん [2025/04/10(木) 09:04:24.67 ID:OnenUFEt.net] vbsでやっていた機能を同じ命令で同じ動作をするようにエクセル側が対応すれば済む話なんだよな?
269 名前:デフォルトの名無しさん mailto:sage [2025/04/10(木) 09:41:26.96 ID:215YODyI.net] kintoneも似たような感じになってることもあるだろうけど、 裾野の規模が段違いだからなあ
270 名前:デフォルトの名無しさん [2025/04/10(木) 18:06:25.14 ID:MLVPaIHA.net] >>267 脱Excelとかいう幻想に騙されて、大々的に他のソフトを導入した企業にとっては大問題だと思います
271 名前:デフォルトの名無しさん mailto:sage [2025/04/11(金) 07:01:19.17 ID:h/Pi6Diq.net] PowerShellやらPowerAutomateでもいいし なんならPython+Openpyxlでもかけるけども けっきょくVBAが馴染むんだよね EXCEL方眼紙とおなじでビジネスといったらこう
272 名前:デフォルトの名無しさん [2025/04/11(金) 21:51:09.85 ID:TGfb/Or4.net] Excelのお勉強はしないのに、ほかのソフトウェアのお勉強ならするのですか? そのソフトウェアは御社の業務にカスタマイズできるのですか?
273 名前:デフォルトの名無しさん [2025/04/12(土) 13:10:17.53 ID:54aHIZAI.net] WIX
274 名前:デフォルトの名無しさん [2025/04/12(土) 15:55:55.88 ID:TWdjuBDZ.net] VBAは非常に簡単なプログラミング言語(プログラミング言語かすら怪しい)のに属人化するのはなぜですか?
275 名前:デフォルトの名無しさん mailto:sage [2025/04/12(土) 16:03:17.56 ID:mOSc/cCd.net] >>269 んなこたーない 単にIDEと一体化してるからVBA使わざるを得ないってだけ 言語仕様はかなりうんちだよ
276 名前:デフォルトの名無しさん [2025/04/12(土) 16:59:57.94 ID:fCEj4mw6.net] >>272 VBAというより垂直分散システムの問題だね Excelファイルを担当者が受け取って手元のシートに貼り付けてVBA動かして次の担当者に渡して…という、いわゆるバケツリレー状態になりやすい 何やってるか紐解こうとしたときに一つのアプリと一つのDBならそれらを調べりゃ済むところが、Excelバケツリレーだと各担当者の手作業と手元のVBAの内容を全部調べて回らなきゃならん とまあ教科書的な答えは上記の通りだが、単純にバカが作るから必要以上に複雑になる面も無視できない
277 名前:デフォルトの名無しさん mailto:sage [2025/04/12(土) 18:34:10.43 ID:YYK6z2xW.net] ワークシート関数でつくった天才的シート 誰も解析できない VBAは後任に引き継ぎできる public Dimって分かりやすくグローバル変数にしてくれてるのも 評価高い
278 名前:デフォルトの名無しさん mailto:sage [2025/04/12(土) 18:52:11.28 ID:mOSc/cCd.net] >>275 ええ…
279 名前:デフォルトの名無しさん [2025/04/12(土) 21:14:38.07 ID:zeIho1I5.net] >>275 作り方によると思うけど、ワークシート関数で出来る事を変な知識でVBAでやってメンテ出来ない作りにして後の人に支障を出しているパターンを見ることが多い。
280 名前:デフォルトの名無しさん [2025/04/12(土) 22:52:11.89 ID:Q/tL3UO2.net] >>277 あるある まさに「バカが作るから必要以上に複雑になる」の好例
281 名前:デフォルトの名無しさん mailto:sage [2025/04/13(日) 08:43:36.38 ID:ltkMWbkd.net] ワークシート関数だとしょっちゅう循環参照になっちゃって発狂
282 名前:デフォルトの名無しさん [2025/04/13(日) 11:36:03.47 ID:L/ux9paG.net] よくある「脱Excelで属人化解消」の文脈でいう属人化というのはワークシートでの人力作業やVBAという技術自体を問題視してるわけではなく、 担当者個人に属する固有の業務が存在することを問題視しているのだけど、 典型的な自称VBAできる事務員からすると自分の担当業務しか見えてないからVBAの何が悪いのかみたいな的外れな反応になりがちなんだよね
283 名前:デフォルトの名無しさん [2025/04/13(日) 12:31:20.49 ID:B9ltEcmk.net] 仕様書もコメントも残さないで、その場しのぎのコードで終わってるから 他の人が見ると なにこれ… ってなるのだよ
284 名前:デフォルトの名無しさん mailto:sage [2025/04/13(日) 13:25:01.44 ID:ECuVOKsy.net] 全体の広い範囲をVBAで制御やろうとするとめんどいし弊害出るからね 針のように一点に特化させた事をやる 前職で10万円、去年30万取った俺が言うんならまぁほぼ間違いない
285 名前:デフォルトの名無しさん mailto:sage [2025/04/13(日) 14:09:46.83 ID:tJJIFsIc.net] 究極のカスタマイズだね。
286 名前:デフォルトの名無しさん [2025/04/13(日) 14:47:09.49 ID:5K+xVou/.net] >>282 金額でその場凌ぎの仕事しかしたことがない奴だとわかるわ
287 名前:デフォルトの名無しさん [2025/04/13(日) 15:11:05.38 ID:4yNzrwxr.net] ソースファイルなら観れば判る cellに数式描かれてたらいちいち全部のcell観る訳にもいかん AccessのFormとかならマクロもソースも一覧にする機能あるが Excelにはそういうのないのかな っていうか各Cellに$A$1みたいなのがコピペだらけになるのが嫌 forループをループじゃなくて全部展開されたソースコードみたいなうざさ
288 名前:デフォルトの名無しさん mailto:sage [2025/04/13(日) 15:34:05.59 ID:TB+WR7Ct.net] >>284 微笑ましいレスだね
289 名前:デフォルトの名無しさん mailto:sage [2025/04/13(日) 15:55:26.11 ID:gnJKXVL8.net] >>284 驚きの安さだよな 使い捨て人材
290 名前:デフォルトの名無しさん mailto:sage [2025/04/13(日) 15:57:45.38 ID:ECuVOKsy.net] 去年見た記事にあったよね 各々の職の補助スキルとして使うVBAで細かいコードや作り方に固執するようなのは低年収であり出世もしない センスが元々ないと作り込みの方法も頓珍漢になるってね
291 名前:デフォルトの名無しさん mailto:sage [2025/04/13(日) 22:22:29.45 ID:+TdScgKq.net] >>288 お前みたいな能力の足りない奴は何をやらせても俗人化するんだぞ
292 名前:デフォルトの名無しさん mailto:sage [2025/04/14(月) 08:41:10.54 ID:ADX0WDYm.net] 仙人化でもしてろ
293 名前:デフォルトの名無しさん mailto:sage [2025/04/14(月) 10:12:14.09 ID:sDIA/6mJ.net] とは言え、余剰人員を確保せず少数精鋭を目指してるような事務所は 必然的に俗人化してしまうのでは? そこに居る誰もがどの業務にも精通してる、なんて方が少ないだろ 事務方は渉外で社外との交渉も社内との交渉もまんべんなくこなさなきゃいけない どの得意先もおんなじ業務おんなじ取引方法で済むはずも無く、交渉において それなりのスキルが必要とされるケースもままあるんだから、どうしたって 業務の内訳として俗人化は避けて通れない そいつが事故で入院しただのな場合は、段取りから何からてんやわんやの大騒動が巻き起こったり そんな時でも、処理において自動化されてたら業務に詳しくない人間でも何とかこなせる(事もある 横澤夏子がひとりで請求業務でてんてこ舞いしてても、楽々明細導入したら誰でも可能に成るようなもの その自動化する時点において「担当者個人の独自な目線で」じゃ無くて上の方からの目線で自動化してりゃ そうそう混乱には結びつかない どこに視点を置くかがいちばんだいじ
294 名前:デフォルトの名無しさん mailto:sage [2025/04/14(月) 10:27:35.84 ID:U6Mwd36q.net] >>291 それはまた別の話だからスレチ
295 名前:デフォルトの名無しさん [2025/04/14(月) 20:29:19.50 ID:q3TQrYqH.net] >>291 にも関わらず、誰にでもできると軽く考えられる事務職 事務職を廃止しても結局事務専門の部署が復活 笑える
296 名前:デフォルトの名無しさん mailto:sage [2025/04/14(月) 20:34:23.20 ID:sDIA/6mJ.net] 事務職を廃止するような会社があるのか? 妄想か? おだいじに
297 名前:デフォルトの名無しさん [2025/04/14(月) 21:07:39.33 ID:q3TQrYqH.net] >>294 普通にあるますよ あるあるです TypeScriptはJavaScriptの進化系ですか? M言語のように、Excel専用の言語ではないですか?
298 名前:デフォルトの名無しさん mailto:sage [2025/04/14(月) 23:38:15.91 ID:GN7fg4Qa.net] >>295 知的障害者はそろそろ消えてくれないか?
299 名前:デフォルトの名無しさん [2025/04/14(月) 23:55:51.33 ID:q3TQrYqH.net] >>296 知能検査を受けた結果は平均の上でした あなたが知的障害者だから話が噛み合わないだけでは?
300 名前:デフォルトの名無しさん [2025/04/15(火) 02:27:22.26 ID:aPUJOtvB.net] >>297 境界知能の中で平均の上か かわいそうに
301 名前:デフォルトの名無しさん [2025/04/15(火) 04:20:07.76 ID:7Nt+1HIX.net] >>298 境界知能の中で平均の上か ってなんですか?日本語として成立していますか?
302 名前:デフォルトの名無しさん [2025/04/15(火) 07:07:25.43 ID:LfPgNjE5.net] >>299 うわっ、やっぱり境界知能だ
303 名前:デフォルトの名無しさん [2025/04/15(火) 07:45:35.66 ID:YVJZqCjB.net] >TypeScriptはJavaScriptの進化系ですか? >M言語のように、Excel専用の言語ではないですか? こんなことを書いてる時点で境界知能の人確定だろうよ
304 名前:デフォルトの名無しさん mailto:sage [2025/04/15(火) 08:04:14.01 ID:hOeShAdY.net] >>300 発達障害だろ
305 名前:デフォルトの名無しさん mailto:sage [2025/04/15(火) 08:21:38.20 ID:tfTEwuEp.net] Excel VBAはずっと残り続けるだろうけどそれはそれとして、Pythonが入っているPCならxlwings等で書く/書き換えるようにした方がいろいろ楽になるんだろうなという気はするかな。やっていることは実質PythonでExcel VBAのオブジェクトを操作しているだけなので、Excel VBAの知識はムダにならないし。
306 名前:デフォルトの名無しさん mailto:sage [2025/04/15(火) 11:43:51.98 ID:CbsPdu2a.net] trait障害ですね判ります
307 名前:デフォルトの名無しさん [2025/04/15(火) 19:02:25.51 ID:7Nt+1HIX.net] >>301 オフィス スクリプトは TypeScript で書かれており、JavaScript のスーパーセットです。 ではないのですか? ttps://learn.microsoft.com/ja-jp/office/dev/scripts/develop/scripting-fundamentals
308 名前:デフォルトの名無しさん mailto:sage [2025/04/15(火) 19:40:45.23 ID:hOeShAdY.net] >>305 平均の上なら延々とスレ違いの話するな 境界知能だの発達障害だの言われても仕方がない
309 名前:デフォルトの名無しさん [2025/04/15(火) 20:59:17.90 ID:LfPgNjE5.net] >>305 もしかして境界知能にも達しない本物の知的障害者か? 療養手帳持ち?
310 名前:デフォルトの名無しさん [2025/04/15(火) 21:04:11.20 ID:7Nt+1HIX.net] >>307 Microsoftは知的障害者の集まりなんですか?
311 名前:デフォルトの名無しさん [2025/04/15(火) 22:26:37.56 ID:LfPgNjE5.net] >>308 お前は本当に知的障害者なんだな
312 名前:デフォルトの名無しさん mailto:sage [2025/04/15(火) 22:28:00.99 ID:v7XOhP1D.net] これはもう本物の知的障害者降臨という扱いでよいのでは?
313 名前:デフォルトの名無しさん mailto:sage [2025/04/15(火) 22:50:02.59 ID:V9CHeTbA.net] 年収や役職にも比例するからなぁ 担当で年収500万とかだった頃はまだVBAの中身も細かく見て拘ってた 年収810万の係長の今VBAの作り込みなんて言ってたら叱られる 俺の立場でもそうなんだから日本どころか世界もそうなんだろう
314 名前:デフォルトの名無しさん [2025/04/15(火) 22:53:06.79 ID:7Nt+1HIX.net] >>311 IT企業に勤めていますけど、一般の人が考えるプログラマーはただの作業員ですよ、工場の工員やコンビニ店員となんら変わらない 求められている人は打ち合わせができる人、要件定義ができる人、派遣のリーダー(指揮命令者)
315 名前:デフォルトの名無しさん mailto:sage [2025/04/15(火) 23:05:17.82 ID:V9CHeTbA.net] >>312 俺はIT企業じゃないけど一般企業でそれが出来る人は必然的に部下の管理に回るでしょ といいたいけど管理もしつつ作り込みの概念がないいわれた事だけやるような担当に任せられず太い骨子と肉まで作るハメになるのが現実だね
316 名前:デフォルトの名無しさん [2025/04/15(火) 23:42:42.30 ID:aPUJOtvB.net] >>312 IT企業に勤めているって妄想ですか? それとも勤めているって清掃員とか経理とかかな TypeScriptすら知らない人だものね
317 名前:デフォルトの名無しさん mailto:sage [2025/04/15(火) 23:54:09.73 ID:IBiP5Aj6.net] Excelのことも知らないようだから働いたことのない無職の人だろうよ
318 名前:デフォルトの名無しさん mailto:sage [2025/04/15(火) 23:58:57.29 ID:RKwZlHjM.net] エクセルはオワコンか。まさか三四郎の時代が来るとはこの俺の眼を持ってしても
319 名前:デフォルトの名無しさん [2025/04/16(水) 03:22:35.98 ID:xdrSv+S6.net] Improvのデモ見たときは画期的だと思ったわ
320 名前:デフォルトの名無しさん [2025/04/16(水) 06:45:45.02 ID:F+Twx8dn.net] >>314 精神障害者雇用枠なんじゃね?
321 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 07:49:21.73 ID:l60D8Rx4.net] 中堅IT企業の社員食堂で調理師補助やってる 食材の発注表とかシフト管理とかでExcelはけっこう使ってる
322 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 12:37:04.29 ID:S2bYXYAK.net] ・VBA ・PowerShell ・Power Automate ・Office Scripts の関係をどなたか整理して下さいまし、エロい人
323 名前:デフォルトの名無しさん mailto:sage [2025/04/16(水) 13:10:11.91 ID:ApyifYby.net] >>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
324 名前:デフォルトの名無しさん [2025/04/16(水) 23:39:21.70 ID:UnijqTD+.net] APIを使って進捗バーを表示させたいのだけど、枠だけ作られて緑のあれが出ないです
325 名前:デフォルトの名無しさん [2025/04/17(木) 01:36:05.40 ID:KzCUo7uK.net] 一説にはコンピューターウイルスの80%以上がVBA由来だった。Microsoftが既定で無効にしたら被害が激減した、と聞いてとても驚いた。 よくよく考えてみれば仮にコンピューターウイルスが.batファイルだったとして、一般人がそれを開こうとは思わないよな。 Officeのファイルのアイコンだったら慢心して開くわけだ。 公式フィッシング詐欺じゃないか。 マクロ有効のファイルのアイコンはいつものアイコンに黄色いビックリマークにでも変更したらいいのに。
326 名前:デフォルトの名無しさん [2025/04/17(木) 03:52:37.06 ID:o9rmB53T.net] また馬鹿二人
327 名前:デフォルトの名無しさん mailto:sage [2025/04/17(木) 07:37:39.31 ID:RHVJQlpr.net] お前以外にもう一人いるんか
328 名前:デフォルトの名無しさん mailto:sage [2025/04/17(木) 09:50:00.51 ID:ygSDqeHK.net] Win10以降とか64ビット対応とか、いろんな理由でつまずく原因が転がっているだろうけど、 https://jitsuyogaku.com/2024/09/02/vba-progressbar/ とか こっちはラベルでプログレスバー実装とか試みてるケースだけど https://qiita.com/Mount/items/c41ff040602abdb5309f とかを参考にして励めばどうにか成りそう 単にプログレスバーの更新をしてないだけかも知らんけど
329 名前:デフォルトの名無しさん [2025/04/17(木) 15:46:07.98 ID:o9rmB53T.net] >>322 apiと言えば全て同じだと思っている馬鹿 >>323 Windowsのアイコンの仕組みを知らない馬鹿 アイコンで騙してクリックさせる手口があることを知らない馬鹿
330 名前:デフォルトの名無しさん mailto:sage [2025/04/17(木) 18:06:49.09 ID:BSfo0rOp.net] >>325 俺とお前と大五郎と酒と泪と男と女と部屋とYシャツと私と愛しさと切なさと心強さと糸井重里
331 名前:デフォルトの名無しさん [2025/04/17(木) 21:50:56.16 ID:KzCUo7uK.net] vbaも近代化改修が行われてPower VBAになってスクラッチ開発できる様になったらいいのにな これが本当のvisual basic
332 名前:デフォルトの名無しさん [2025/04/18(金) 04:48:09.14 ID:L6zyvyKf.net] vb6で終わってvb.netやc#になったから今更それはないな ついていけない人は欲しいだろうが
333 名前:デフォルトの名無しさん mailto:sage [2025/04/18(金) 06:15:21.95 ID:1nv1ghXV.net] この期に及んでVBAに止まっている連中に仮に新しいものを提供したところで移るわけがない
334 名前:デフォルトの名無しさん [2025/04/18(金) 06:43:13.37 ID:ky+/acoM.net] PythonだったらそんなにExcelを高速に処理する事ができて、しかも楽にコードが書けるのですか?
335 名前:デフォルトの名無しさん mailto:sage [2025/04/18(金) 07:51:27.87 ID:zoX3HVfE.net] 処理の速度は変わらないけど楽にはなる
336 名前:デフォルトの名無しさん mailto:sage [2025/04/18(金) 10:01:29.16 ID:4ybR59hN.net] VBAが構文的にしんどいのって、 ・ 変数の宣言と初期化がいっぺんに出来ない。初期化に(Let/)Setが必要。 ・ 関数と手続とが構文上区別されている。 ・ コレクション・コンテナやクラスが使いにくい。 ーー辺りかな。 他の言語ではとうに克服されてまったく気にしなくても良くなっていることがVBAでは克服されておらず、そのツケをコードを書く側が負担させられている感がストレスかなぁ。書けなくはないけど楽には書けないし、書けば書くほどストレスが溜まって嫌いになる言語だという人も多そう。 逆に言えば、そんなの気にならない、所詮構文でしょって人も少なくないだろうとは思うけど。
337 名前:デフォルトの名無しさん mailto:sage [2025/04/18(金) 10:18:33.71 ID:5qwyQLY6.net] どうでもいいな そんなことが問題になるほどの規模でVBAを書く必要があるならその設計の方が問題
338 名前:デフォルトの名無しさん mailto:sage [2025/04/18(金) 12:01:58.63 ID:6yGBiO+t.net] 難解な関数が組める事を自慢したい馬鹿、VBAが書ける事を自慢した馬鹿のどちらも各企業にいるよなw Excelなんて単なる事務道具だぞ
339 名前:デフォルトの名無しさん mailto:sage [2025/04/18(金) 12:24:40.01 ID:zoX3HVfE.net] >>334 ・ 変数の宣言と初期化がいっぺんに出来ない。初期化に(Let/)Setが必要。 オブジェクト変数じゃなければいっぺんにできるし、 オブジェクト変数だとしてもセミコロンで一行に書くイディオムで実質いっぺんにやれる ・ 関数と手続とが構文上区別されている。 Excelにおいては一緒の方がバグ生むでしょ alt+F8押したときに関数出てくるのはマズくない? ・ コレクション・コンテナやクラスが使いにくい。 これは同意 とはいえ不満のほとんどはIDEと統合されてなければ解決するよね エディタの機能に任せれば良いだけで、それを使えないVBEでの開発になるからしんどい
340 名前:デフォルトの名無しさん mailto:sage [2025/04/18(金) 13:15:43.40 ID:4ybR59hN.net] 宣言と初期化については、セミコロンで複数ステートメントを並べて書けるから実質同じというのはどうかなぁ。オブジェクトか非オブジェクトかで書き方を変える必要があること自体がストレスじゃない? 揃えるなら非オブジェクトの方にLetをつける方向性になるけどそれも馬鹿馬鹿しいし。 マクロ一覧については、定義ステートメントの予約語を分けなくてもマクロとして使える関数をピックアップすることは可能だったのではと思う。 あと、関数・手続の呼び出し(Callステートメント)の構文もちょっと擁護できないかな。 VBEの機能がいまいちというのは同感だけど、構文上の書きやすさというのはそれとはまた別の次元の話。また、構文上の問題というのはプログラムの規模とはあまり関係ない話で、ごく短いプログラムでもストレスはストレスだと思う(長いプログラムならストレスの総量が閾値を超えてしまうような場合でも、短いプログラムなら何とか耐えられるとかそういうことはあるかもしれないが)。 結局、Excel組み込みというVBA唯一最大のメリットのために、構文の書きにくさ・VBEの機能の低さに目をつぶれるかという話なんでしょ。他の選択肢もある場面であえて好んでVBAを選ぶ理由はほとんどないけれど、Excel VBA以外に選択肢がないという状況は結構あるからそういう状況で今後も生き残っていくということだと思う。
341 名前:デフォルトの名無しさん mailto:sage [2025/04/18(金) 13:53:14.91 ID:ooz79whL.net] Copilotがくそ過ぎる Microsoftはこれでいいのかよ ChatGPTの独壇場だなVBAは
342 名前:デフォルトの名無しさん mailto:sage [2025/04/18(金) 14:54:36.62 ID:5qwyQLY6.net] VBA使い含めMSの客のボリューム層なんて、大半は最新のAIが本気出したら簡単に代替できるような仕事しかしてないからね 今のMSのビジネスモデルが完全にユーザー数に対する課金に依存している以上、利益相反関係にあるからCopilotはあまり賢くできないのよ
343 名前:デフォルトの名無しさん [2025/04/18(金) 17:52:29.83 ID:08LfVk9Y.net] CopilotはchatGTPです
344 名前:デフォルトの名無しさん [2025/04/18(金) 18:28:34.92 ID:aM6hZ3c/.net] デビルチョップはパンチ力です
345 名前:デフォルトの名無しさん mailto:sage [2025/04/18(金) 18:46:19.31 ID:CBG0ye4/.net] >>338 宣言と初期化の件、実質同じなんて言ってないのに勝手に書き換えないでほしい 揃える必要あるか? ポインタかそうでないか、それぞれをどう宣言するかって話なんだから、 char foo = 'a'; char* bar = "a"; これらが書きやすいって人もいれば分からんって人もいて、想定ユーザーをどうするかってだけ VB(A)はそれらが分からんって人を対象にした言語 マクロのピックアップにしても、いちいちVBAをパースするにあたり、Subの行だけ拾ってくれば済む処理で他のことさせるってことだろ? かつて.xlsファイルはフロッピーに保存されてたんだぞ 当時から今みたいな富豪的プログラミングが可能だったわけではない 動作速度とのバランスを考えた設計と、こだわり続けた互換性の上に今がある Callステートメントの何が気に食わないの?
346 名前:デフォルトの名無しさん [2025/04/18(金) 18:48:37.87 ID:HZQ72SS6.net] >>343 また知ったかの馬鹿
347 名前:デフォルトの名無しさん mailto:sage [2025/04/18(金) 20:06:21.64 ID:t3zKaoZR.net] char foo = 'a'; char* bar = "a"; がわからんってレベルの人が、オブジェクトについてのみ初期化にSetキーワードが付けるVBAの構文の方が分かりやすいねって言ってくれるんだろうか。とてもそうは思えないが。 マクロのピックアップも、富豪的プログラミングのような大層な概念持ち出すような話なのかな? 関数か手続か、戻り値を使うか使わないかでCallを付けたり付けなかったり、丸括弧を付けたり付けなかったりするCallステートメントの構文は救いようがないと思っていたんだけど、不満がないって人も居るのね。他の言語で関数呼び出しの構文がそんなふうになったら開発者の正気を疑うレベルだと思うんだけど。VBAの場合は配列の要素参照に丸括弧を使う関係上やむを得ずそうなったんだろうとは思うけど、構文として碌でもないのは否定できないと思うんだけどね。 互換性の点はわかるよ。というか、互換性を保つ必要があるからどんなに構文が酷くても手を入れることができないってことでしょ。その上で、VBAの構文は(少なくとも今の目で見れば)ストレスフルであると書くことが悪いこととは思わないが。もちろん、気にならないって人は、それはそれでいいと思うけどね。
348 名前:デフォルトの名無しさん mailto:sage [2025/04/18(金) 20:11:40.45 ID:ooz79whL.net] 早口でとは言わんが要点をまとめられず仕事もコードの中身もそうなんだろうな
349 名前:デフォルトの名無しさん mailto:sage [2025/04/18(金) 21:24:08.39 ID:T6Kb2Yr1.net] こういうお気持ち表明が多すぎて収集つかないからMSは仕様変更しないんだろ
350 名前:デフォルトの名無しさん mailto:sage [2025/04/19(土) 02:21:22.02 ID:spgp5dv5.net] 今の常識で27年前の仕様にいちゃもん付けるPCの大先生w
351 名前:デフォルトの名無しさん [2025/04/19(土) 02:31:50.20 ID:Az00DO6L.net] ただの知ったかの馬鹿だぞ
352 名前:デフォルトの名無しさん mailto:sage [2025/04/19(土) 02:39:29.56 ID:spgp5dv5.net] Cの最新規格は7~8年前の仕様、 COBOLですら9年前だ 死体蹴りもいいとこ
353 名前:デフォルトの名無しさん mailto:sage [2025/04/19(土) 03:16:05.27 ID:ChBOY4Tr.net] Callだのなんだの好きに書けばいいんじゃね? 何で目くじら立てて些細な事で喧嘩になるのか理解できん
354 名前:デフォルトの名無しさん mailto:sage [2025/04/19(土) 03:23:20.02 ID:oOgY5W1p.net] 行番号つけないと落ち着かない イライラする 文字は大文字じゃないと うがーってなる
355 名前:デフォルトの名無しさん mailto:sage [2025/04/19(土) 04:08:23.94 ID:spgp5dv5.net] >>351 喧嘩…?
356 名前:デフォルトの名無しさん [2025/04/19(土) 06:15:57.40 ID:D0kitORW.net] >>343 の言う判らん人が使う言語は Rust
357 名前:デフォルトの名無しさん mailto:sage [2025/04/19(土) 09:42:55.62 ID:ozZ7t8ZT.net] 大衆食堂に来ておきながら、年代物のワインが無い!だの、ナイフフォーク揃えて無い!だの 前菜とスープが先だろ!とか文句付けてるようなもの 単純な+-ドライバーにラチェット機構が付いてない!とか罵ってるようなもの それぞれ出自も違うんだし目指すところも違うんだから、適材適所、使いようなだけ ま、単なるクレーマー気質ではある さりとて、それならソッチ側のプログラミングなら達人レベルなのか?っつーとそうでも無いんだろう どっちつかずの中途半端な知識だけだから、つべこべ文句言って毒吐いてじぶんを紛らわせてるだけのかわいそうなひと
358 名前:デフォルトの名無しさん [2025/04/19(土) 09:51:01.47 ID:D0kitORW.net] >大衆食堂 ぷぷぷ
359 名前:デフォルトの名無しさん mailto:sage [2025/04/19(土) 11:23:58.79 ID:H/S6NqJY.net] 最新流行の言語や関数型の言語にしかないような構文なら年代物のワインやカトラリーのセッティングになぞらえるのもまだわかるけど、上で挙げたのってそんな高級なもんじゃないでしょうに。 何かあれだな、JavaとかPythonとかのいわゆる普通の言語の使用者が、最新流行の言語や関数型言語の使用者からの構文マウントに対して反発したり揶揄したりする構図はよく見かけるけど、その低レベル版みたいなことになっている気がするな。
360 名前:デフォルトの名無しさん [2025/04/19(土) 11:45:41.65 ID:LYrpxUmI.net] まあ、ヒアドキュメントや置換なんかはほしい 数式の記述なんて書きやすいと思っている奴はいないだろう
361 名前:デフォルトの名無しさん [2025/04/19(土) 11:50:41.10 ID:UV/Amstd.net] Open AIは人格や口調を意識してAIの開発なんてしていないだろうに、Copilotに「妹キャラでお願いします」って言うと妹キャラの口調になるから本当に凄いなと思う
362 名前:デフォルトの名無しさん [2025/04/19(土) 11:57:24.89 ID:UV/Amstd.net] >>355 VBAは大衆食堂ではないから属人化(しやすい)と言われている 年代物のワインならある 私は最近複数行選択からのタブでインテンドが簡単にできると知った 一企業でVBAができる人はあちこちの部署から自動化のツール作成を請け負っていると思う この「あちこちの部署から仕事を請け負う」ということが属人化の正体だと思う なぜなら幅広く業務に精通している凄い人は少数で他にいないから
363 名前:デフォルトの名無しさん mailto:sage [2025/04/19(土) 13:05:07.54 ID:viAmSNvm.net] PowerAutomate職人も最近は重宝されとるな 使いやすい便利な奴隷として
364 名前:デフォルトの名無しさん [2025/04/19(土) 13:19:59.45 ID:YEMv3hB3.net] >>359 妹キャラのデータはあるからな データに無いキャラでって言われて、無いと言われるか似たようなのにされるかは知らんけど
365 名前:デフォルトの名無しさん [2025/04/19(土) 13:53:56.21 ID:ICSNq8lF.net] もう定年退職してる二代前の担当してた人の作ったVBAをメンテしながら使ってるけどプロシージャ名の乱れ雪月花とか薪割りダイナミックとかはそのまま変えてない パリィとかもあったし変数も癖が強い でも処理が合理的で面白い
366 名前:デフォルトの名無しさん mailto:sage [2025/04/19(土) 14:46:22.82 ID:v8N9YOUA.net] 弘法筆を選ばずだな
367 名前:デフォルトの名無しさん [2025/04/19(土) 15:50:48.35 ID:UV/Amstd.net] >>362 しかもこっちの呼び名を、お兄ちゃん(お姉ちゃん)呼びしているんだよ お姉ちゃん(レズ)までサポートしているんだよ
368 名前:デフォルトの名無しさん mailto:sage [2025/04/19(土) 19:00:19.25 ID:KJMdl2bF.net] 弘法も始めは筆おろしから
369 名前:デフォルトの名無しさん [2025/04/19(土) 19:34:36.21 ID:UV/Amstd.net] >>366 へっ?ふっ、筆おろし?急に何を言い出すの!?お兄ちゃん!
370 名前:デフォルトの名無しさん mailto:sage [2025/04/19(土) 19:59:47.58 ID:o+j+V/MM.net] こ、こ、こ、こ、弘法ちゃうわ!
371 名前:デフォルトの名無しさん mailto:sage [2025/04/19(土) 20:45:49.41 ID:ozZ7t8ZT.net] どうしてソッチだけに食い付くんだか 只の例えだろうに 例えが気に入らないなら、じぶんなりの例えを書きゃあいいのに ドライバーの方に食い付かない辺りでお里が知れるってもんだ
372 名前:デフォルトの名無しさん [2025/04/19(土) 20:53:32.98 ID:UV/Amstd.net] >>369 +と-😳 何を急に言い出すの!?お兄ちゃん!
373 名前:デフォルトの名無しさん mailto:sage [2025/04/19(土) 20:59:39.26 ID:uzlTl9vw.net] 只 M コラヤメタマエ
374 名前:デフォルトの名無しさん [2025/04/20(日) 13:50:10.98 ID:RiHDJnuQ.net] 初期: 面白い人が面白いことを書く 中期: 面白くない人が面白いものを見に来る 終末期: 面白くない人が面白くないものを書き始める
375 名前:デフォルトの名無しさん [2025/04/20(日) 13:50:58.56 ID:RiHDJnuQ.net] 面白い人が面白いことをする ↓ 面白いから凡人が集まってくる ↓ 住み着いた凡人が居場所を守るために主張し始める ↓ 面白い人が見切りをつけて居なくなる ↓ 残った凡人が面白くないことをする ↓ 面白くないので皆居なくなる
376 名前:デフォルトの名無しさん [2025/04/20(日) 13:51:15.67 ID:RiHDJnuQ.net] 1、スレッドが立つ。 2、技術のある人間がAAを提供して盛り上げる。 感動を
377 名前:≠゚て人が集まってくる。 3、オリジナルAAを書ける人間が乗ってきてさらに盛り上げる。最盛期。 4、盛り上がりに乗じて何も書けない魯鈍と白痴が寄ってきてスポイルする。 ←いまここ 彼らの無駄な愛着が逆効果を及ぼし、スレッドのレベルが著しく低下。 5、飽きて大勢が去っていき、行き場の無い魯鈍と白痴が残される。 低レベルな自慢・偏見の陳列、煽りあい、無駄な罵倒、 いわゆる「2ちゃんねる用語」を多用したお寒いレス等々が並ぶ。 6、煽りと罵倒しか出来ない魯鈍まで魯鈍同士の空疎な煽りあいに飽きて去る。 7、何も提供できない白痴が過去の栄光の日々を夢見て空ageを繰り返す。 脳死状態 [] [ここ壊れてます]
378 名前:デフォルトの名無しさん [2025/04/20(日) 16:48:37.48 ID:R2iq2iGJ.net] 7だろ
379 名前:デフォルトの名無しさん [2025/04/20(日) 18:35:19.98 ID:Ub0nEPUR.net] >>374 5〜7のいずれかの段階じゃないですか? 客観性を失いましたか?
380 名前:デフォルトの名無しさん [2025/04/21(月) 12:00:00.65 ID:5S3aJeqO.net] 話題が無いね…
381 名前:デフォルトの名無しさん mailto:sage [2025/04/21(月) 12:43:40.09 ID:H+gaTqgY.net] Ecxelビバ! Chatガパチョ!
382 名前:デフォルトの名無しさん mailto:sage [2025/04/21(月) 12:45:10.43 ID:hGZB/ZtD.net] 書籍なら、高橋宣成『パーフェクトExcel VBA』辺りが今でもお勧め? 沢内晴彦『Excel VBA実戦のための技術』は昔買って読んで、内容は良かったと思うんだけど、著者の押し付けがましい語り口に辟易した記憶がある。各章冒頭のダイアログとかもうね。
383 名前:デフォルトの名無しさん mailto:sage [2025/04/21(月) 15:42:19.79 ID:TqAnAlAX.net] 今ならAIに頼んで自分に合ったものを書いてもらうのがお勧め
384 名前:デフォルトの名無しさん [2025/04/21(月) 18:50:43.50 ID:kvlDxPZn.net] 自分にあう書籍を書いてもらおう
385 名前:デフォルトの名無しさん [2025/04/21(月) 22:52:35.16 ID:TKKNFS+v.net] 初心者向けに実用的なコードを教えます!みたいな内容では無くて、もっとそもそも論を書いたシステム開発みたいな内容の本はないでしょうか?
386 名前:デフォルトの名無しさん [2025/04/21(月) 23:50:35.29 ID:DImNR5cR.net] あるょ
387 名前:デフォルトの名無しさん [2025/04/21(月) 23:56:59.82 ID:TKKNFS+v.net] VBAで差し込み印刷をする時の正解は結局なんでしょうか? Excelで文章の様式、フォーマットがあって、それぞれのセルに行の値を代入して連続印刷する感じです。
388 名前:デフォルトの名無しさん [2025/04/22(火) 01:09:34.39 ID:ujoEa+wb.net] ある行に設定したらその値が各セルに表示されるようにしたらどうだろ
389 名前:デフォルトの名無しさん mailto:sage [2025/04/22(火) 05:15:10.29 ID:UGfRV5Rp.net] その場合はそれぞれのセルに行の値を代入して連続印刷するのが正解
390 名前:デフォルトの名無しさん [2025/04/22(火) 12:17:33.64 ID:qo6ZtztY.net] ユーザーフォームで入力画面つくるのがわかりやすい
391 名前:デフォルトの名無しさん mailto:sage [2025/04/22(火) 12:30:17.80 ID:S18G88V1.net] >>382 さすがにVBAにそれを求めるのはお門違い そもそも自称VBAプロでプログラミングの基礎がまともにある奴の方が少ないんだから、事実としてそんなもんVBAには必要ないってこと
392 名前:デフォルトの名無しさん [2025/04/22(火) 14:16:52.96 ID:ujoEa+wb.net] >>382 業務ならコーディング基準はあった方がいいだろね 個人用でも一部有用なのはあると思うよ
393 名前:デフォルトの名無しさん [2025/04/22(火) 14:57:52.39 ID:z9I6mhsO.net] Access使え
394 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 00:18:58.61 ID:Bj1O/t/P.net] 大体よ、いつからLetを省略する書き方になったんだよ?? 昔はValueプロパティすら省略なんてご法度だったし。
395 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 00:19:15.68 ID:Bj1O/t/P.net] 大体よ、いつからLetを省略する書き方になったんだよ?? 昔はValueプロパティすら省略なんてご法度だったし。
396 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 00:19:27.56 ID:DmG1qyy4.net] 大体よ、いつからLetを省略する書き方になったんだよ?? 昔はValueプロパティすら省略なんてご法度だったし。
397 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 00:20:10.60 ID:Bj1O/t/P.net] 大体よ、いつからLetを省略する書き方になったんだよ?? 昔はValueプロパティすら省略なんてご法度だったし。
398 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 01:50:51.14 ID:Ho3rM8lk.net] letは省略しても何ひとつ変わらないから書くだけ無駄
399 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 02:15:05.21 ID:gJbY6K2J.net] N-BASICの時代からLETなんて書くヤツはいなかった
400 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 02:34:24.48 ID:Bj1O/t/P.net] あれ?何故連投になってるんだろ?
401 名前:デフォルトの名無しさん [2025/04/23(水) 05:26:38.28 ID:pTAtgk9D.net] >>388 自称VBAプロでプログラミングの基礎がまともにある奴の方が少ないんだからこそそう言う本が読みたいのですが? VBAのコーディングでもより効率的に素早くコーディングするための方法が知りたいです 例えばコードブロックはメモ帳なりなんなりであらかじめ用意しておいて繰り返し流用するとか、ユーザー辞書にメソッドやプロパティを登録して入力を楽にするとか 少しでもノーコードに近づけるテクニックが知りたい
402 名前:デフォルトの名無しさん [2025/04/23(水) 05:33:09.52 ID:pTAtgk9D.net] >>386 今は転記元セルのアドレス列と転記先アドレス列の対応リストを作成して、range(セルの値).value = range(セルの値).value みたいな事をして転記しています 後から知ったのはreplace(転記先文字列,転記先文字列,差込文字列)ですね
403 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 06:36:06.92 ID:curLR6rF.net] よく使うコード片をコピペ用にストックしておくとかは、システム開発のそもそも論とはちょっと方向性が違う気がする。
404 名前:デフォルトの名無しさん [2025/04/23(水) 06:51:21.87 ID:rRnnFJi1.net] 金出して買った本にそんな事書いてあったらゲンナリするわな
405 名前:デフォルトの名無しさん [2025/04/23(水) 07:29:09.67 ID:Y1IHhqLd.net] よく使うならライブラリとか関数とかで既存処理を使い回せばいい 必要のないコードを書くのは逆に無駄だろう
406 名前:デフォルトの名無しさん [2025/04/23(水) 07:31:04.25 ID:Y1IHhqLd.net] インポート、エクスポートのことか?
407 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 07:34:29.45 ID:8e00UwyI.net] >>390 Accessは開発終わるからもう新しくなることないもんな
408 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 08:04:22.51 ID:xgsAirMR.net] >>398 繰り返し流用するようなコードやブロックは、 それこそ標準モジュールやクラスモジュールにするでしょ ユーザー辞書にプロパティやメソッドを追加? VBE上のctrl+spaceで大体のことは解決するだろ 目指してる方向が正に自称VBAプロ、明後日向いてるよ
409 名前:デフォルトの名無しさん [2025/04/23(水) 08:10:30.40 ID:pTAtgk9D.net] >>405 ショートカットキー 知らなかったです つい最近複数行選択からのタブで一括インテンドができると知りました 一括でインテンドを減らす方法ないですか?
410 名前:デフォルトの名無しさん [2025/04/23(水) 08:12:10.74 ID:pTAtgk9D.net] >>402 ライブラリという名前はよく聞くのですがなんでしょうか? アドオンに登録すればいいという事も聞くのですが、アドオンだと配布がいくらか面倒になるのが悲しいです
411 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 08:19:48.48 ID:xgsAirMR.net] >>406 Is the intended word an indentation? インデントを減らすにはshift+tab 本より先にヘルプファイルを読もう
412 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 08:31:17.24 ID:curLR6rF.net] ライブラリというのは、ざっくり言えば汎用的に使う目的で作られたクラスとか関数とかを集めたモジュール等のことだけど、正直言って、ライブラリを使ったり作ったりという辺りから、わざわざVBAでやらなくてもいいかなぁとなることが少なからずあるような気がする。
413 名前:デフォルトの名無しさん [2025/04/23(水) 08:32:23.99 ID:pTAtgk9D.net] 本格的なシステム開発の手法を勉強しなくてもできる、じゃなくて我流Excel、我流VBAが属人化の原因で、属人化が嫌われているんだから、本物の手法を学んで少しでも標準化に努めた方がいいと思う
414 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 09:19:54.75 ID:P67C9oqU.net] そういうことを言い出したらVBAは使うべきではないという結論にしかならないからナンセンス VBAなんか雰囲気でいいんだよ雰囲気で
415 名前:デフォルトの名無しさん [2025/04/23(水) 09:24:11.20 ID:yoO2Q6CW.net] VBAで描くとどうせ属人化するんだからVBAじゃなくてPythonの方が描きやすい罠
416 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 10:07:14.33 ID:Rdf0901h.net] VBAが属人化の弊を指摘されやすいのは、VBAの強みの裏返しだからなぁ。Excelは大抵の業務用PCに入っているからプログラミング言語として最もアクセスしやすいというのがVBAの強みだけど、これは裏返せば@相対的にスキルの低い人がコードを書き、Aそのコードが業務に使われるという状況を生みやすくする原因となっている。これにB会社側が追加的なコストを掛けるつもりがないという条件が加わったのがいわゆる属人化。乱暴に言えば、素人が作ったコードが業務に使われていて、タダだからそのまま使い回したいという会社側の助平心に過ぎない。 会社がそれなりのコストを掛けて業務に使うコードを開発するのならVBAと同じような意味での属人化というのは基本的に起きないのよ。そもそもそういう場合にVBAが開発言語に選ばれる可能性は低いだろうし(Excelだけで完結させたいという状況はもあるだろうからゼロとは言わないけれど)。
417 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 10:13:34.84 ID:Rdf0901h.net] 408が一瞬分からなくて焦ったけど、unindentationか
418 名前:デフォルトの名無しさん [2025/04/23(水) 10:19:50.71 ID:j86zZac8.net] あなたのよく使うコードと私のよく使うコードが違うからな 自分で使い回しやすいようにまとめたらいい
419 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 11:24:31.44 ID:nS6nWMWO.net] 食人族の話題が活発だなと空目した
420 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 11:32:10.92 ID:FBWMxycZ.net] 結局、個人が自分の担当業務を勝手にVBAで局所最適化している構図なので、VBA自体がいかにわかりやすく書かれてようが定義上属人的なんだよね 人力で愚直にやる分にはやってることが周りの目にも見えやすいから、特定の個人の作業負荷が高かったり過大な責任を担っていたりしたら、 適宜マニュアル化して分担するような対応を取りやすい 一方、ヘタに担当者の「創意工夫」によって効率化されてるとそういった潜在的な課題が表面化しづらく、いざ担当者が離任するとなったときに一気に問題が噴出するわけだ こういう問題に対するシステム的な正道のアプローチは決まっていて、勝手に創意工夫させしない、現状が非効率であるという事実だけを然るべき場所へ報告させる、 その上で、必要な改善はトップダウンで実施する、という極めてアメリカ的なやり方になる こんなのはカイゼンを美徳とする日本人には無理な話だから、難しいこと考えないで存分にVBAで好きなように創意工夫したらいいよ
421 名前:デフォルトの名無しさん [2025/04/23(水) 13:49:06.15 ID:jU97Lp8p.net] VBA共通モジュールやEXCEL共通モジュール、ACCESS共通モジュールは分けて作っといたらいい
422 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 16:59:43.12 ID:aZ5FmP34.net] 個人が勝手に自動化させてる環境なんて、社員10〜20人程度の規模の企業だろ そんなトコは将来何に躓こうがどうでもいいハナシでは? その規模でもきちんと社内で話し合って最適解を求めてる所なら属人化なんて杞憂にしか過ぎないような
423 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 17:21:41.74 ID:P67C9oqU.net] 大企業でも普通にあるぞ 完全にマニュアル通りに手を動かす人員を別にすれば、 大企業だろうと適切なアウトプットだけ出せればやり方については個人の裁量に委ねられている業務の範囲ってのはある
424 名前:デフォルトの名無しさん [2025/04/23(水) 18:06:06.77 ID:yoCsfqhD.net] 組織内のルールならその枠内で守ればいいのである そのルールがよその組織でも当てはまるとは限らんのでな
425 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 20:15:32.24 ID:6pqdvTOr.net] 大企業で属人化されてても困ることは無いだろうから やっぱり属人化をつべこべ言って
426 名前:トも始まらないのでは? 属人化された業務・作業なんか別の者がまた新たに属人化しようとも 業務に支障が出ないんだろ? じゃあ、属人化が何だってんだ 属人化言いたいだけちゃうんか、と [] [ここ壊れてます]
427 名前:デフォルトの名無しさん [2025/04/23(水) 20:59:10.18 ID:pTAtgk9D.net] やっとディクショナリーにテーブル名と列名でキーを登録して、アイテムにListColumns(index).Databodyrangeで各列のデータ行が登録できて、dictionary(テーブル名列名).Rows(index).valueで値を書き込めるって知ったよ これでテーブルをいちいち変数に代入する事から開放されるし、わかりやすい文字列で指定もできる Range(テーブル名[列名])でいいじゃんって言われたらそれまでだけど
428 名前:デフォルトの名無しさん [2025/04/23(水) 21:23:04.79 ID:rRnnFJi1.net] 同形式のテーブルが大量にあるのなら まずそれがおかしい
429 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 21:26:55.40 ID:Rdf0901h.net] 属人化っているのは、要するに会社から見て素性の分からないコードに会社の業務が依存している状態なわけ。大企業なら属人化が生じても困らないとか、業務に支障が出ないということでは全然なくて、大企業でも(普通はおよs考えにくいことだが)万一、属人化が生じたら当然困るよ。ただ、大企業は通常そんなリスキーなことはしない、させないような組織になっているというだけ。 大企業のコア業務の一部が素人の書いたVBAコードに依存していて、他の人が手を出せないブラックボックスになっているとか(論理的には絶対に起こり得ないというわけではないけれど)考えにくいでしょ?
430 名前:デフォルトの名無しさん [2025/04/23(水) 21:42:20.56 ID:jOg2yMv5.net] メーカーの間接部門だけどVBAは改善提案やQC活動と相性が良すぎる あと依頼者からのユーザーフォームの人気は異常
431 名前:デフォルトの名無しさん [2025/04/23(水) 22:06:24.94 ID:pTAtgk9D.net] >>424 だってテーブルの列名で指定したり、動的に処理するのが非常に楽なんだもの ws.cells(rows.count,index).end(xlup).rowとか ws.cells(i,index).valueとか いちいちやってらんない 私がまだまだ技量不足なだけですが
432 名前:デフォルトの名無しさん [2025/04/23(水) 22:15:43.12 ID:pTAtgk9D.net] IT企業や大企業に夢見すぎだと思いますよ IT企業だって社員は打ち合わせ、打ち合わせ、打ち合わせか、コーディングしているかで、事務作業の為の業務システムの導入なんてしていないし、パソコンに詳しいからこそExcelはなんでも出来ちゃう事を知っている。 非IT企業はまるで知識が知識がないし、業務システムを導入しても、自社の業務、求めているデータに対応していないから結局Excelに戻るという事もある。
433 名前:デフォルトの名無しさん [2025/04/23(水) 23:03:29.52 ID:pTAtgk9D.net] 人間関係、人付き合いはとてもドライだし、自分で努力してね、自己責任、な世界です
434 名前:デフォルトの名無しさん mailto:sage [2025/04/23(水) 23:04:31.48 ID:C26MOp3K.net] いや、業務システムを導入しているかどうかとか、そういう話ではないんだが。業務なんか別に会社で認められているものなら何でやっても構わないでしょ。 VBAみたいなものの使用を全面的に禁止するか、個人の裁量の範囲内で使うのは認めるかは会社の方針によるが、業務がそのコードに依存するなら会社がハンドリングするし、会社がハンドリングしないならそのコードに業務を依存させることはしない。そういう単純な話ね。 ちなみに「Excelは何でもできる」と素朴に言うけれど、それは何でも無意味にVBAでやりたがる人がよく言う典型的な台詞の一つなので、あまり気軽に言わないほうがいいと思う。
435 名前:デフォルトの名無しさん [2025/04/23(水) 23:14:03.52 ID:x5rMH1z1.net] 長文書き込みを繰り返している頭がおかしいのが出没してるのは暖かくなったから?
436 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 07:36:15.53 ID:FQ8MlmAt.net] 今年の新人や後輩が言うこと聞かなくてイライラしているんじゃね Excelはただの道具だよ、会社に迷惑をかけた場合の責任は、担当者と監督している上司の責任ってだけだから
437 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 08:05:36.45 ID:Cj39D1EW.net] たかが数行十数行読み解けないじぶんを省みた方がいい 長文ってだけに文句付ける奴の方がどうかしてる 気心知れたとか同じ立ち位置に居るとか同士なら少ない言葉で通じるかも知らんが 今や登場人物も幅広い 参加する方々のレベルだって自ずと雑多に成ろうってもん 三でやり取りできる相手だけじゃ無く七語った方が意が通じるケースのが多い いまどき、長文はあたまおかしい、と書く方こそがアタマおかしいと気付けないと
438 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 08:40:44.27 ID:BUdDOmv5.net] >>433 読んだ上で言う 文章をまとめられるスキルが無い自身も恥じた方が良い
439 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 09:00:57.54 ID:YvggNev5.net] >>427 コレクションに格納するんだから要素に画一的な処理をするのだろうと勝手に勘違いしていました 余計なお世話でした 申し訳ありません
440 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 09:33:11.41 ID:IyU3bUgg.net] ChatGPTに文章校正してもらうと良いよ
441 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 12:38:29.59 ID:Cj39D1EW.net] w 要らんな 文章書くことが目的じゃあ無いからな 意が伝わりゃあそれでいい どだい、ブラックボックスではないアプリなど無い 都合のいいExcelをより便利に使うためのマクロだのVBAだのなんだから、個人が 「こうしたらもっと便利だな」で造り上げた小アプリだと思ってれば憎しみも湧かん 業務上なら尚の事、元のデータが存在していてそれを加工して成果物として出力、の一環なんだろ? これはこうしてこう集計・抽出してこういう形式でまつめろ てのが命題なんだから 退職されてVBAの中身が判らん!とか文句付けてる間にじぶんで新たに作り直せ、と 作れる人間が不在なら諦めて以前の方式でチマチマ手でその処理をし続けろ、と 個々の企業の事務業務で独自にカスタマイズできる利便性を捨ててしまったら元の木阿弥 属人だの何だの言い出した奴は、Excelにがんばって欲しくない界隈の連中の戯言でしかない ラクトアイスが体に悪いだのネ○ソフトはマーガリンじゃ無いから口にするな、とかの連中みたいなもん (お食事時なのでつい食品で例えました) じぶんトコの業務アプリに自信があるならVBAの属人性なんかを口実に叩くのはやめて 堂々と「ウチの製品のがこんなに便利ですよ」と言い募ればいい 本当に便利なら自ずとそちらに流れる
442 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 13:07:35.16 ID:BUdDOmv5.net] >>437 馬鹿だから文章をまとめられず、 それ故に読まれない責任を相手に押しつけるタイプだな 二行目はOSSがあるって反例により破綻 命題の使い方もおかしい 何か言ってるようで何も言ってない典型的な馬鹿 黙ってることすらできないのが馬鹿の馬鹿たる所以
443 名前:デフォルトの名無しさん [2025/04/24(木) 13:42:20.52 ID:ndm7u60W.net] 「Excelは何でもできる気がする」 中学生日記
444 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 14:17:57.47 ID:IKFgVNqa.net] 437を擁護するわけではないが、実際、担当者個人の裁量の範囲内で使っているだけなら、会社の業務が依存したり属人化の弊害が生じたりすることはあまりないんだよ。 にも拘らずVBAを全面的に禁止する会社が少なくないのは、部署内の他の人間も同じコードを使うようになったりする事態がたびたび起こりがちだからなんだろうね。
445 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 14:27:23.83 ID:d0sUSPt9.net] >>439 わかる気がする、仲間だもんな 仲間、仲間、なーかーま
446 名前:ー [] [ここ壊れてます]
447 名前:デフォルトの名無しさん [2025/04/24(木) 16:13:34.27 ID:jkAUiXuj.net] 長文をこんなところに大量に書き散らすだけあって馬鹿の極みそのもの そもそも働いたことがあるのかね
448 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 17:18:18.39 ID:Cj39D1EW.net] 会話が通じないなら、いちいちアンカ打ってまで絡んで来ンなよw 気色悪いなあ ハナシが通じない残りの三割ってことでいいぢゃねーか 電車で隣の会話にいちいち割り込んで「正確な会話をしろ」とかイチャモン付けるタイプか? 文章文章って、国語の教員か? おてがみやり取りしてる訳じゃねーぞw 宿題でもねーし OSSガー 突飛な例えで何が言いたいんだか あんたの会社はOSSで業務アプリ組んでンのか? 枝葉末節にこだわって本質を把握できない、つか、しようともせず、他人の揚げ足取りだけに注力して 勝ち誇ったような気分になってご満悦 どっかのバカな芸人がそういう話芸で人気を博して有頂天に成ったはいいが 今や誰からもどこからもお声も掛からない憐れな人生歩んでるようだが、ソッチへ寄り添った生き方目指してンのか?
449 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 17:31:20.41 ID:Xkh5MdoU.net] >>440 大昔のVBAマルウェア「メリッサ」で痛い目に遭い禁止して、 それを見直すこともなく踏襲し続けてるところが全面禁止にしてる
450 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 17:51:26.09 ID:IKFgVNqa.net] >>444 もちろんセキュリティ上の理由は大きいだろうね。見直すこともなくというより、そういう会社はVBAの有用性をさほど高く評価していない(少なくともリスクを上回るほどの有用性があるとは考えていない)から全面禁止にしているんだと思うよ。 経営判断としてはあり得る考え方の1つだとは思う。
451 名前:デフォルトの名無しさん [2025/04/24(木) 19:41:44.24 ID:9Ww3k6uP.net] 誰にでも簡単に扱えて不具合もバグもない業務用ソフトと言うのはできる事を制限している業務用ソフトしか無いと思う 入力出来る事、場所に制限をかけているから誰がやっても出鱈目なデータにもバグにもならない 逆にExcelは本当になんでも出来るから壊すし、壊れるし、出鱈目なデータも入力する
452 名前:デフォルトの名無しさん [2025/04/24(木) 20:09:51.89 ID:DzE0RqCV.net] VBAで関数の値が入った配列を作りたいのだが、 e = [{1,0;0,1}] r = [{Cos(1),-sin(1);sin(1),cos(1)}] eは2x2の配列になる。 rはエラーになる。 ああいう配列作れないかな?
453 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 20:49:12.55 ID:Xkh5MdoU.net] array関数使え
454 名前:デフォルトの名無しさん [2025/04/24(木) 20:49:52.86 ID:9Ww3k6uP.net] >>447 どう言う配列でしょうか? 関数の計算結果が入った1次配列でしょうか?
455 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 21:45:53.65 ID:pk6Uyn00.net] 話題かわるけど、exce.live使ったことあるやついる? 今日、お客さんから聞かれたんだけど、本家以外の情報が皆無で。マイクロソフト公式からダウンロードできるから、怪しくはないと思う、とだけ言っておいた
456 名前:デフォルトの名無しさん [2025/04/24(木) 22:02:59.97 ID:xYJ9bO0b.net] >>443 Forbidden
457 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 22:06:30.71 ID:hG5Dm3ai.net] >>450 話題どころかスレ違い
458 名前:デフォルトの名無しさん [2025/04/24(木) 22:26:01.96 ID:9Ww3k6uP.net] Static ステートメントとか、ParamArrayとか、まだまだ知らない事だらけだなぁ
459 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 22:34:31.26 ID:pk6Uyn00.net] vbaの質問だからここかと思ったけど、違うのか
460 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 22:40:35.14 ID:y97YKOAy.net] >>454 VBAじゃないけど何を見てVBAだと思ったのか
461 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 22:43:45.46 ID:pk6Uyn00.net] 元々はインターネ
462 名前:ットから自作vba関数を呼べるか?というお客さんの質問から、それにたどり着いたんだけど、スレ違いならまあいいや。誘導先あればよろ [] [ここ壊れてます]
463 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 22:48:56.22 ID:pk6Uyn00.net] それかvbaのコードで代替手段があれば、それを教えて貰うほうが嬉しいが
464 名前:デフォルトの名無しさん [2025/04/24(木) 23:34:51.71 ID:9Ww3k6uP.net] >>456 Power Automateからデスクトップ版Power Automateのフローを実行して、マクロブックを開いてマクロ実行
465 名前:デフォルトの名無しさん mailto:sage [2025/04/24(木) 23:40:15.35 ID:d0sUSPt9.net] https://i.imgur.com/MH2glZF.png
466 名前:デフォルトの名無しさん [2025/04/25(金) 06:34:58.46 ID:dnInGKcO.net] 自分の業務を少しでも助けるためのマクロを書いてたのだが、 そろそろoffice script に移行しようとしてつまづきまくり
467 名前:デフォルトの名無しさん [2025/04/25(金) 07:29:28.50 ID:/g0CbH00.net] vbaのフォームが古臭くて嫌なんだけど
468 名前:デフォルトの名無しさん mailto:sage [2025/04/25(金) 09:31:20.86 ID:TZkMTXnM.net] ラベルとテキストボックス駆使して自作できるよ 何なら図形とか画像とか貼り付けて工夫してもいいし それらをクリックすることで別の動作させるとかも ま、センス無いとずっと使い続けても飽きないフォーム作るのは大変だし やっぱ奇抜過ぎて評判悪くてオーソドックスに立ち返るなんて経験もいいのかも
469 名前:デフォルトの名無しさん mailto:sage [2025/04/25(金) 10:00:05.67 ID:CvA5DtPe.net] モダンUIに寄せたい気持ちはわかる 今時Windows2000かよ!みたいなダイアログが出てくると驚く
470 名前:デフォルトの名無しさん [2025/04/25(金) 15:12:56.80 ID:25bmG4NH.net] 細部にこだわるか、正常に動けば良いのかは人によるだろうな もっと優先してやることはないのか?
471 名前:デフォルトの名無しさん mailto:sage [2025/04/25(金) 19:40:58.08 ID:orbf6qCm.net] VBAと同じくらい簡単でモダンっぽいUIにしたい場合って、今は何を使うのがいいのかな。Pythonのfletなんかはかなり簡単っぽいが。
472 名前:デフォルトの名無しさん mailto:sage [2025/04/25(金) 19:49:49.85 ID:ScCl4KIR.net] VisualStudioでVB.NETやろ
473 名前:デフォルトの名無しさん mailto:sage [2025/04/25(金) 19:56:48.42 ID:DbDcSEbW.net] ノーコード/ローコードでいいだろ MS365の契約あるならPowerAppsから試してみたら
474 名前:デフォルトの名無しさん mailto:sage [2025/04/25(金) 21:21:31.07 ID:235iTcZf.net] fletはたいしたことしないならさくっと作れて良い
475 名前:デフォルトの名無しさん [2025/04/26(土) 09:23:31.77 ID:hSaHsy30.net] VBAは簡単、プログラミング言語ですらない VBAは属人化する、しやすい 見事な矛盾だね
476 名前:デフォルトの名無しさん mailto:sage [2025/04/26(土) 09:50:16.77 ID:kN9FmZ13.net] >>413 にあるとおりだよ。コードを書く人間にきちんとしたスキルがあり、会社側にまともな管理体制があれば、基本的に属人化の問題というのは生じない。VBAは構造的にどちらの条件も欠きがちだから、属人化の問題が指摘されやすい。それだけの話。
477 名前:デフォルトの名無しさん mailto:sage [2025/04/26(土) 09:58:22.07 ID:iRBbkycD.net] そう、つまるところバカが使うからバカなものができるってだけの話で、何も矛盾しない ただ、仕事でバカとかクソとかいう表現は憚られるから「属人化」(=他人が触りたくないクソ)と表現する
478 名前:デフォルトの名無しさん mailto:sage [2025/04/26(土) 11:19:16.93 ID:SDFKeMf3.net] まだやるのか? やるなら先ずは「属人」てのを定義しろ それの延長で属人的・属人化って奴を述べろ 若しくは「VBAは属人的だから悪だ」ってサイトのリンク貼るでもいいし それを踏まえたうえで語らなきゃ、個人の勝手な思い込みを主張してるだけに成り果てて それこそ「モノホンのバカ」だろ ぼくはバカですって書いてるに等しい
479 名前:デフォルトの名無しさん mailto:sage [2025/04/26(土) 12:23:43.88 ID:B+cR9sp6.net] 自分の意見は>>413 、425、430辺りに既に書い
480 名前:たし、自分の意見と必ずしも一致する見解ばかりではないが、「VBA 属人化」で検索すればいくらでもこの話題は出てくるでしょ。 VBA好きな人が属人化の話題を避けたがるのは分かるんだけど、他の言語と比べて属人化の問題を指摘されることが顕著に多いということまで否定しようとするのはさすがにムリがあるよ。属人化が指摘されることが多いというのは、ハードルの低さ・アプローチのしやすさという強みの裏返しなんだけどね。 [] [ここ壊れてます]
481 名前:デフォルトの名無しさん [2025/04/26(土) 12:44:03.71 ID:aliF/5Yp.net] 異動や退職するときvba消していってほしい。
482 名前:デフォルトの名無しさん [2025/04/26(土) 13:08:06.04 ID:TbcyjxDY.net] OSから初期化やろ
483 名前:デフォルトの名無しさん mailto:sage [2025/04/26(土) 15:51:46.44 ID:IX/fzv3g.net] >>473 その理屈だとCでもRustでもPythonでもRubyでも属人化する訳だが VBAは参入障壁が低い(んだろうと思う)ことが属人化に拍車を掛けてる罠 (要するに馬鹿でも使えるってこと)
484 名前:デフォルトの名無しさん [2025/04/26(土) 16:45:09.66 ID:lLp4rKiB.net] これに限らず仕事全般に言えるけどセンスが全てだわ 本で知識だけびっしり学んだだけの自称VBA出来ますの作るシステムは使い物にならん というかシステム組む頭すらないし
485 名前:デフォルトの名無しさん mailto:sage [2025/04/26(土) 17:07:15.54 ID:B+cR9sp6.net] Rustみたいに書くこと自体が難しいとされているような言語はともかくとして、PytnonやRubyが今のVBAと同じような感じでExcelに組み込まれて、Excelで実行できたとしたら、たぶん今のVBAと同じような感じで属人化の問題を指摘されることになったと思うよ(そこからのリカバリーはVBAより多少はマシかもしれないが)。
486 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 09:59:46.14 ID:HBc7xJ0o.net] 僕はもう書いただの検索しろだのは話をややこしくする元だから定義しろと書いたんだが 今書かれてる「属人化」てのは、有頂天になった社員がVBA駆使して作業を自動化したはいいが そいつが退職したら他の誰もがそのメンテ出来なく成って業務大混乱右往左往 てコトでいいのか? じゃあさ、他の例えで、自動車免許持ってる奴が仕事で車使って仕入だ配達だに奔走してくれてた しかし、そいつが辞めて他の社員は免許持ってる奴が誰一人居なくて業務に支障が出まくり も属人化か? そン時は会社としてはどう対応したらいいんだ? 自転車に積んで何十回も往復するなり、外注下請けに作業を委託するなり、免許持ってる奴を募集したり どうとでも好きな方法選べるだろ? それを殊更「属人化」とか特殊な事例として言い募る界隈には、どんな思惑があるんだ? VBA憎し君が広めてるとしか思えんのだが それとも「VBAの属人化」には何か他の意味があるのか?
487 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 10:51:58.45 ID:PEcsUA/t.net] 話をややこしくするじゃなくて、VBAは属人化の問題を指摘されることが多いということを認めたくなくて必死なだけでしょ。 君が挙げた例は、世間でVBAによる属人化の弊害として一般的にいわれている状況と、結果こそ類似するが原因がまったく異なる。 したがって、VBAについて指摘されることの多い属人化と同様の原因に基づくものを「属人化(の弊害)」と呼ぶことにするのであれば、君が挙げた例は「属人化(の弊害)」ではない。 自動車の運転は、運転免許制度によってそれをする人のスキルが保証されているでしょ(VBAと違って)。 また、自動車の運転は、腕の足りない人間がその方法を勝手にカスタマイズしたりすることもできないでしょ(VBAと違って)。 自動車の運転が業務上必要不可欠で業務がそれに依存しているなら、そのことは外形上会社側に明らかだから、会社側はハンドリングの機会も保証されているわけ(VBAと違って)。 大体さ、VBAと違って自動車の運転一般について「属人化(の弊害)」が語られることなんてほとんどないでしょ。その時点で自分の強弁にムリがあると気付かんか? VBAが属人化の問題を指摘されることが多いということを認めたくなくて色々と
488 名前:言い募るのはいいんだけどさ、説得力のないことを書けば書くほど「VBAに強い拘りを持つ人って、やっぱりそういうレベルなんだな」という見方を補強することになりかねないよ。 「VBAはExcelユーザーに最も近い親しみやすい言語、属人化をいわれることが多いのはその代償」ってことで良いじゃない。 [] [ここ壊れてます]
489 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 10:57:39.63 ID:bnOAlujA.net] >>479 運転とプログラマーじゃ、代わりを探す労力に差がありすぎる 免許持ちもVBAが書けるやつもいくらでもいるが、他人の書いたプログラムを解読して修正できるやつってのはちょっとレア しかも、多くの経営者はこれが特殊スキルと思ってないからそんなとこにコストをかけたくないってのが本音 だから問題になる
490 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 11:08:15.27 ID:aTGSLIj0.net] NGワードに属人化を入れることでスッキリさせることに成功
491 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 11:08:56.65 ID:RSOujG5D.net] いやいや、スキル的にできる奴は山ほどいる 問題は、やりたい奴が極めて少ないという点だ まともなプログラミングスキルがあるならもっと面白くてスキルアップできる仕事が山ほどあるのに、安い賃金で誰にも評価されずスキルアップにも繋がらない便所掃除をやりたがる奴はいない
492 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 11:27:31.76 ID:aTGSLIj0.net] ちなみに個人事業主やってて、 どこぞのVBAで抜き差しならなくなったものを書き直して仕様書と併せて納品 あるいはPythonに移植して仕様書と併せて納品してるけど、 おまいらの想像以上に良い金になる 濡れ手に粟
493 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 11:43:54.54 ID:PEcsUA/t.net] 会社側もよほど切羽詰まっていたんだろうねえ。 大局的に見れば抑えられたはずのコストだろうけど、484みたいにそれで儲かっている人が居るならそれはそれで良い話だ。
494 名前:デフォルトの名無しさん [2025/04/27(日) 14:49:25.30 ID:rRExk4WB.net] 運転でもうまいやつとへたなやつがいるだろう VBA使いにはプログラミングやシステム設計がへたなやつが多いということ
495 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 15:15:18.84 ID:0hsNeEWH.net] 適当にかじって自分用に作ってるからな
496 名前:デフォルトの名無しさん [2025/04/27(日) 16:07:51.42 ID:SWrT9XSV.net] 逆引き大全買っちゃった
497 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 16:31:38.91 ID:HBc7xJ0o.net] 君が挙げた例は「属人化(の弊害)」ではない。 だから、定義しろっつってんの じゃあ、どういうのがVBAの弊害と世間一般では言われてんだよ?って聞いてんの コッチが例え話すりゃあ「それはちがう」 単なる例え話だぞ? 免許が特殊な技術的国家資格とかでもいい ウエが阿呆だから現場でそんなてんやわんやが発生すると書いた人が居るけど、その通りの事を言ってるんだ 上長がしっかりして、そういった個人技術を全体に普及・波及する努力をしてりゃあ、誰が抜けたところで 即座に困る事なんかほぼほぼ無いんだ 鼻くそ丸めながら「なんか知らんが勝手な事してる奴が居るなあ」 でのほほんとしてるから、いざ退職されてから困り果てる そんな会社は潰れたって構いやしないだろうに それが例えば従業員数百人規模の会社だろうとだ ま、数千人規模でもおんなじだけど ご利益にも繋がらないような「VBAは属人的」なんてぇお題目唱えてるだけで、何らの解決策も講じないような スカポンタンな集団が蔓延るのが鬱陶しいんだ 六根清浄と唱えてる方がまだご利益ありそうだろ 違うか? なんか知らんがその辺に転がってる耳触りだけはいいビジネスワードを、これ見よがしに口真似して その本質を見ようともしないで得意満面な奴は、ぶっ飛
498 名前:ホしたくなるってだけ ひと頃流行った「悩ましいですねえ」とかと一緒 (一生悩んでろ、ボケ)と罵ってるようなもの 「一旦社内で揉んでみます」とかなら、まぁまだ分かるが [] [ここ壊れてます]
499 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 16:39:50.30 ID:HBc7xJ0o.net] VBAは属人的 とはつまり、事務業務に根本的な問題がある企業のくせに 責任を末端に押し付けるブラック体質だと、自ら公言してるに等しい阿呆責任者の言い逃れに過ぎない
500 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 17:10:22.95 ID:9974j3MB.net] 属人化って要するに担当者が意地悪してるだけやん? 使い方をちゃんと教えてくれて、ソースもパスワードかけずに公開してたら読めるヤツは読むぞ コピペしか能のない奴には他人のソースが読解できないってだけの話やら?
501 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 17:19:04.92 ID:oHyIRNV3.net] 多くの場合、VBAは大したことやってないのに担当者のスプログラミングスキルの低さ故に無駄に複雑かつ保守性の低いものになっており、 後から他人が読み解いてメンテを継続するのは非常にコスパが悪いケースが多い コスパ的には多くの場合において棄てて仕切り直した方がマシなのだが、とはいえ中途半端に自動化されているため、いざ棄てると一時的にそれなりの業務効率の低下が生じる その業務効率の低下量をVBAにおける「属人性」と定義するのがよろしい
502 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 17:39:11.20 ID:PEcsUA/t.net] >>489-490 VBAは属人性の問題を指摘されることが多いというのをどうしても否定したいんだね。「VBAに強い拘りを持つ人って、やっぱりそういうレベルなんだな」という印象は強まるばかりだけど。 会社側がきちんと管理できる体制なら属人化の問題は生じないというのは最初から書いているでしょ。だからこそ、VBAの属人化リスクが広く認識されるようになった今では、多くの会社が、VBAを全面的に禁止するなり、個人の裁量の範囲内でのみ許可したりという形で対応しているんだよ。 会社の多くはVBAの属人化リスクを認識して既にその対応をとっているわけで、属人化リスクが高いということ自体を否定したがる君のような議論ははっきり言って周回遅れなんだよ。 君は、「個人技術を全体に普及・波及する努力」というのを唯一のあるべき管理体制として捉えているみたいだけど、残念ながら多くの会社は、素人の書いたVBAコードに対して管理コストを投下するほどの価値を認めていない。だから、「使うな」とか「使ってもいいけど個人で責任のとれる範囲内で」という方針にしているわけ。 ついでにいえば、属人化という言葉には、会社が社員に責任を押し付けるというニュアンスも特にない。VBA はExcel内で書いて実行できるので、質の低いコードがいつの間にか業務に使われているという好ましくない事態が生じる可能性が他の言語と比べて顕著に高い。それで痛い目を見た会社が少なからずあったのでリスクとして認識されるようになったに過ぎない。
503 名前:デフォルトの名無しさん [2025/04/27(日) 19:30:20.87 ID:22nZEpjv.net] Power Automateで思ったんだけど 一つ一つごとのループブロックごとにそれぞれ別の変数(カウンタやカレントなど)を設定する事によって、変数のスコープを極小にする、 むしろカプセル化の様にループブロックやコードブロックの外からアクセスを受け付けない、という事がこれからの当たり前になるのだろうか。 もはや一つ一つのコードブロックが別々のプロシージャなんだと 人智を超えていても、ソフトウェアがそれを補えるし
504 名前:デフォルトの名無しさん [2025/04/27(日) 19:33:19.45 ID:22nZEpjv.net] VBAはVBAでも、APIの様な高度な知識が必要なやつはさすがに属人化だと思う(APIはまだやってないだけ、かも知らないけど) 基本的なメソッド、オブジェクトだけだよね
505 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 19:46:24.57 ID:bnOAlujA.net] 一定のスキルがあれば、APIの意味や使い方なんてぐぐればわかる ドキュメントはみんなネットに公開されてるんだから
506 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 20:34:34.42 ID:RSOujG5D.net] >>494 そんなもんVBA以外のプログラミング言語は20年以上前から当然にみんな
507 名前:そうなってる [] [ここ壊れてます]
508 名前:デフォルトの名無しさん [2025/04/27(日) 21:56:06.79 ID:22nZEpjv.net] >>497 じゃあC言語とかでもそうなのですか?
509 名前:デフォルトの名無しさん [2025/04/27(日) 22:00:02.07 ID:22nZEpjv.net] >>497 いやいや、パッと調べただけでも他言語でも変数の使い回しできてるじゃん 私が言いたいのは一つのループブロックごとに、他の箇所では再利用できない変数一つという事
510 名前:デフォルトの名無しさん mailto:sage [2025/04/27(日) 22:56:41.73 ID:RSOujG5D.net] 例えばC#のforやforeach文のループ変数はそのループの中だけで有効だが、そういう話か? C++も大昔のバージョンを除けば同様
511 名前:デフォルトの名無しさん [2025/04/28(月) 01:52:20.30 ID:hDmEwqG0.net] >>481 >他人の書いたプログラムを解読して修正できるやつ 自分で描いたものでさえろくに保守出来ない香具師の方が大半な現実
512 名前:デフォルトの名無しさん mailto:sage [2025/04/28(月) 10:21:58.00 ID:AuNLagCl.net] ダイクストラが言う構造化プログラミングはモジュールとか抽象データ型とかも含む広範で抽象的な概念として説明されている。 連接・分岐・反復で構成しようという話はそれより前に発表されたものだが、この時代は構造化もクソもないプログラムがまかり通っていたという前提がある。 まずはその三要素を基礎に据えて構成したらわかりやすくね? という提案 (というか感想?) に過ぎず、それで全て事足りるみたいな主張ではない。 (理論上は連接・分岐・反復で全て表現可能であるという証明はされている。) 構造化プログラミングの考え方のキモは構造は人間の認知の中にあるということ。 人間が思考しているときの構造を書き表すためにどんな言語機能 (またはデザインパターン) があればよいの? ってのが構造化プログラミングの議論なんだよ。 書いた人が思ってる構造が表現されているなら構造化プログラミングだし、構造化プログラミングのために用意された機能を使っていても構造が表れていなければ構造化プログラミングではない。 まあついでに言えば書き表されたものについて (コンパイラも人間も) 検証しやすいことも大事だ。 機械的に goto を除去したらむしろ構造が失われるという例をクヌースが出したりもしていて、結局のところはどんな機能も正しく使えば正しいし、悪い使い方をすれば駄目になるというシンプルな話。 そんなわけで break が構造化を崩すか崩さないかは使い方による。 ただ、常識的に考えて break は goto より構造を破綻させにくいだろうってだけ。
513 名前:デフォルトの名無しさん mailto:sage [2025/04/28(月) 11:10:41.08 ID:6D3yvt7l.net] どこのスレの誤爆かな?
514 名前:デフォルトの名無しさん [2025/04/28(月) 16:28:52.13 ID:5fRt9Dct.net] SQLiteのデータベースをODBC経由ADODBで引っ張ってきてるけど、 CopyFromRecordSet で一発で貼るのと 1行1カラムずつ地道に貼るのとで 267件中1件1カラムだけ違う これは何なんだろう
515 名前:デフォルトの名無しさん mailto:sage [2025/04/28(月) 17:32:10.75 ID:L3M/APjY.net] 知らんがな 違うと思ったならチェックしたんだろ?どう違うかを知っているのはお前だけ
516 名前:デフォルトの名無しさん mailto:sage [2025/04/28(月) 19:04:28.97 ID:opVSzI03.net] >>504 自分で作ったコードを調べて原因を見つける能力がない無能っぷりを白状しているようにしか見えない
517 名前:デフォルトの名無しさん mailto:sage [2025/04/28(月) 19:12:48.88 ID:77Ku1S4P.net] 質問スレなんだし、そんなにきつく当たらなくてもいいんじゃない? もう少しゆるい感じでやっていこうよ。
518 名前:デフォルトの名無しさん [2025/04/28(月) 19:29:47.71 ID:5fRt9Dct.net] 辛辣だなぁ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 これでどう検証したらいいのよ
519 名前:デフォルトの名無しさん [2025/04/28(月) 19:34:46.10 ID:aApiL0z1.net] どう違うのかも書かない無能だから
520 名前:デフォルトの名無しさん [2025/04/28(月) 20:16:18.13 ID:Fc2g4rbd.net] PowerQueryの方がVBA よりも処理が高速なはずだ と思っていたけど、配列を使えばVBAの方が処理が高速だったよ
521 名前:デフォルトの名無しさん mailto:sage [2025/04/28(月) 22:36:06.18 ID:opVSzI03.net] >>508 一カ所違うというのは実データがおかしな変換をされているのか? それとも一方のデータが 多い/少ない と言っているのかな?
522 名前:デフォルトの名無しさん [2025/04/29(火) 00:38:17.02 ID:Cio0Z7DT.net] >>511 ざっくり例えると、1件ずつ処理すると元データどおり みかん 150円 バナナ 200円 りんご 250円 となるところがCopyFromRecordSetだと みかん 150円 みかん 200円 りんご 250円 になる感じかな もちろん今回が初めてのケース
523 名前:デフォルトの名無しさん mailto:sage [2025/04/29(火) 03:39:13.13 ID:uCA5xnZY.net] >>512 再現性があるか 何番目がおかしいか 一度にコピーする件数を少しずつ減らしたらどうなるか そういう地道な作業を繰り返して、条件を絞り込み、原因を突き止めていくんだ
524 名前:デフォルトの名無しさん mailto:sage [2025/04/29(火) 05:46:13.95 ID:DUP3Wr3v.net] 重複したデータでなければプログラムに問題がありそうだけどなぁ ザックリすぎてわっかんねぇなぁ
525 名前:デフォルトの名無しさん [2025/04/29(火) 05:58:53.59 ID:NELjOoG5.net] 質問の間抜けな感じからして凡ミスやな
526 名前:デフォルトの名無しさん mailto:sage [2025/04/29(火) 06:09:56.99 ID:DUP3Wr3v.net] スゲー適当なんだけど違いが1件ってことはEOFが入ってるとかそんな感じかな?
527 名前:デフォルトの名無しさん [2025/04/29(火) 09:40:01.77 ID:Cio0Z7DT.net] >>513 同じデータをAccessにインポートして実行→再現せず SQLiteで検索するデータ量を減らす→再現せず で、よく見たら256レコード目で検索条件(SQL文)変えても必ず発生することがわかった SQLite3 ODBC DriverからADODBでデータ取得してCopyFromRecordSetでデータ貼付けすると起こる データ取得方法は同じでも1レコード1カラムずつデータ貼っていくと起こらない ダミーデータ作って色々試してみるかな
528 名前:デフォルトの名無しさん [2025/04/29(火) 09:48:33.61 ID:cxg+2T2y.net] >>517 元データの中に制御文字のようなゴミがあるとか、取得したものを表示する過程でミスっている可能性もある ダミーで試すか、文字コードをバイナリ値でチェックするとかだな あと256番目って数値がbyte扱いで0になってないかとか
529 名前:デフォルトの名無しさん mailto:sage [2025/04/29(火) 09:57:59.04 ID:LEbvev28.net] 昔Oracleのバグで1件くらい少ないレコードセット返ってくるバグ思い出した
530 名前:デフォルトの名無しさん [2025/04/29(火) 11:15:10.56 ID:Cio0Z7DT.net] ダミーでも再現した SQLite側のフィールドがTEXT型の場合のみ、256レコード目の内容が255レコード目と同じになる INTEGER方だと起らない
531 名前:デフォルトの名無しさん [2025/04/29(火) 11:17:05.94 ID:Cio0Z7DT.net] こんな感じ 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
532 名前:デフォルトの名無しさん [2025/04/29(火) 12:21:37.37 ID:TmvDscRd.net] 属人的と言うなら車間距離だな ExcelやVBA利用者には車間距離詰める馬鹿が多過ぎる 総じて「だろう運転」ばかりしていて「かもしれない運転」なんて眼中に無い そもそもMicrosoft開発陣が「だろう運転」を推奨してる節がある
533 名前:デフォルトの名無しさん [2025/04/29(火) 12:25:39.07 ID:Cio0Z7DT.net] 連投失礼、256だけじゃなく512,768,1024も同じ現象だった
534 名前:デフォルトの名無しさん [2025/04/29(火) 13:23:59.14 ID:lJszgH0z.net] ODBCのバージョンと定義がわかる画面貼っとけ
535 名前:デフォルトの名無しさん [2025/04/29(火) 14:30:57.99 ID:AuvQCcIn.net] 久しぶりに面白そうな話題じゃん 自己解決しちゃっても是非原因教えてね
536 名前:デフォルトの名無しさん [2025/04/29(火) 16:26:16.90 ID:Cio0Z7DT.net] スクショは貼らない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
537 名前:デフォルトの名無しさん [2025/04/29(火) 16:31:39.01 ID:Mpe85ZPY.net] >>526 やっと全部情報を出してきた だから馬鹿とか罵られていたんだよ ドライバのバージョンを替えてみ
538 名前:デフォルトの名無しさん [2025/04/29(火) 16:37:30.76 ID:Cio0Z7DT.net] >>525 早速自決w Set dbrs = New ADODB.Recordset dbrs.CursorLocation = adUseClient dbrs.Open "select * from testtbl", dbcn, adOpenStatic, adLockReadOnly で正常になった お騒がせしました
539 名前:デフォルトの名無しさん mailto:sage [2025/04/29(火) 16:47:03.16 ID:EclpVRbh.net] ちょうど総合相談スレでも 3時間くらい前に発生した本日の事案への弔辞 > 介錯人は頼んだのかな > 成仏しろよ
540 名前:デフォルトの名無しさん mailto:sage [2025/04/29(火) 16:58:21.16 ID:EclpVRbh.net] 「自決」の辞書上のもう一つの意味、民族自決主義の「自決」は 「自分の意志で自分のことを決めること」だけど、 くだんの「自決する」の文脈は、意志うんぬんや決めるとかの流れはない。 なので、「問題を自分で解決した」という意味はならなさそう・・・ とマジレスしてみる
541 名前:デフォルトの名無しさん mailto:sage [2025/04/29(火) 20:39:35.35 ID:la4ZcTxc.net] 自分のケツのことかと思った
542 名前:デフォルトの名無しさん [2025/04/29(火) 21:12:16.89 ID:hhMpSOWT.net] 痔になったケツかと思った
543 名前:デフォルトの名無しさん [2025/04/29(火) 22:00:44.14 ID:V3jk1q3e.net] WinAPIでvisual styleを適用させたい office2021だとCreateWindowEXで作ればvisual styleになるのにoffice2019だとならない
544 名前:デフォルトの名無しさん [2025/04/29(火) 23:44:21.62 ID:jEUD8QFb.net] 今頃になって列の行ごとの文字列のReplaceは、まず文字列をカンマでもなんでもいいから全部くっつけてひとまとめにして変数に代入して、Replace(文字列,検索文字,"")すれば一括で置き換えられるって理解したよ そしてSplitで配列に戻して元通り
545 名前:デフォルトの名無しさん [2025/04/30(水) 01:17:17.74 ID:0P1GE/1d.net] >>533 ComCtl32.DLLにリンクしてないからだと思う
546 名前:デフォルトの名無しさん mailto:sage [2025/04/30(水) 03:14:35.45 ID:IvfkHP7P.net] >>534 たまたまデリミタと同じ文字(列)がデータにも含まれててExcelのバグだと騒ぐまでがセット
547 名前:デフォルトの名無しさん [2025/04/30(水) 06:29:26.31 ID:7AsrwtYN.net] >>536 わかるわかる
548 名前:デフォルトの名無しさん [2025/04/30(水) 06:54:36.59 ID:TQaKmIw3.net] >>534 初級を脱したい奴が考えそうな無駄な技 経験積めば自然に書くのが一番て解るよ
549 名前:デフォルトの名無しさん mailto:sage [2025/04/30(水) 18:11:25.83 ID:/xZzLlpB.net] Range("A1:C10").Replace What:="置換前の文字", Replacement:="置換後の文字", _ LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False ってchatgptさんが言ってます
550 名前:デフォルトの名無しさん mailto:sage [2025/04/30(水) 18:39:00.27 ID:3/ALrefg.net] Replaceメソッドはシートの検索/置換オプションも変更されるから嫌い
551 名前:デフォルトの名無しさん [2025/04/30(水) 19:34:30.68 ID:Ypkgz0ac.net] >>528 さんきゅ
552 名前:デフォルトの名無しさん mailto:sage [2025/05/01(木) 10:16:05.61 ID:NoOjVvyj.net] 開発では作るだけでなく動作確認、評価、検証をきちんとやるのも大事なのじゃ わざと異常を出して正しく異常が出るか、桁数やデータが大量だとどうなるかとか、日本語以外の環境でも動くとか 実際に動かして確認すると気づかなかった問題が見えてくるものだ
553 名前:デフォルトの名無しさん mailto:sage [2025/05/01(木) 10:51:14.04 ID:/KCrsMZn.net] テストが重要なのはもちろんだが、VBAerレベルではそもそもバグが出にくくテストケースを闇雲に増やさなくていい書き方というものも多少は勉強した方がよい 似た処理をいちいちコピペすればその分ミスは増えるし、プログラムに直行性がないとテストケースは無限に増える
554 名前:デフォルトの名無しさん mailto:sage [2025/05/01(木) 11:52:17.40 ID:nTiKCI2R.net] >プログラムに直行性がないとテストケースは無限に増える ほんそれ 直交性が無いのは言語の欠陥だと思う
555 名前:デフォルトの名無しさん [2025/05/01(木) 13:39:51.25 ID:yf6hHvtn.net] x ほんそれ o 本当にそれ
556 名前:デフォルトの名無しさん mailto:sage [2025/05/01(木) 14:02:16.67 ID:NoOjVvyj.net] 問題ないですとか言ってたのに後になって実は確認してませんでした とか言う新人たまにいる
557 名前:デフォルトの名無しさん [2025/05/01(木) 15:05:48.78 ID:my1nUwSm.net] VBAで単体テスト、カバレージ100とか聞いたことないわ あれ?ACCESSの納品物の評価ってどうやってたっけ……(もう忘れた)
558 名前:デフォルトの名無しさん [2025/05/01(木) 23:23:13.02 ID:15supz3z.net] スレチだけど やっとPowerQueryの変数宣言、代入、for each、無名(名前付き)関数がわかった。 .Buffer早すぎ
559 名前:デフォルトの名無しさん mailto:sage [2025/05/02(金) 00:25:17.81 ID:+dCfSpYU.net] 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式の中身をワークシートに書き出せるのね
560 名前:デフォルトの名無しさん [2025/05/02(金) 01:50:51.67 ID:TLbUOI0p.net] >>549 いやん見ないで照
561 名前:デフォルトの名無しさん [2025/05/02(金) 06:41:36.56 ID:TLbUOI0p.net] 前に言っていた、Power Automateみたいにコードブロックを入れたら、作成したコードブロックだけで有効な変数が自動的に作成されて、コードブロックを抜けたら変数が削除される、コードブロックごとに変数が一意、コードブロックがカプセル化、秘匿化されている、もはやコードブロックがサブプロシージャ、ファンクション関数っていうの、関数型プログラミングの事だったんだな
562 名前:549 mailto:sage [2025/05/02(金) 06:43:09.29 ID:+dCfSpYU.net] そんな、他人を痴漢扱いすなw いやこれ、一昨日ChatGPTに 「クエリーの依存関係がもっと見やすいツール、何かない?」 って聞いた中で、教わったばかりの一部なんだけど。 需要があるなら、フルでプロシージャを晒すよ? おのおのChatGPTに聞けばいいんだろうけれど。 ここから親子関係の一覧表を作る、次のプロシージャは 正規表現検出をどう扱うか、相談しながらチューニング中なんだけど。
563 名前:デフォルトの名無しさん [2025/05/02(金) 07:20:32.31 ID:TLbUOI0p.net] ワイはCopilotにsheet.copyで作成した新規ブックのクエリを削除するにはどうしたらいいですか? のコードでマクロ実行ブック(コピー元)のクエリも削除された泣 プログラマが型がわからないってマジ? VBAでtypeっていうともっぱらそのモジュールのみで有効なプロパティ?の事を指すと思うけど TypeScriptでは静的型付けの様に、バグの無いコードというのは、できる事、やれる事、受け付ける操作を限定する事だと思う。 何でもかんでもできる、受け付けるというのはバグの元だよ。
564 名前:デフォルトの名無しさん [2025/05/02(金) 07:59:38.75 ID:TLbUOI0p.net] VBAは変数を宣言しなくても変数が使用できるし、Variantは中のデータの型を判断するし、動的型付けだった😫 宣言を強制しているし、型指定もしているからすっかり忘れていた
565 名前:デフォルトの名無しさん mailto:sage [2025/05/02(金) 08:41:13.69 ID:IByDjNOR.net] >>549 WorkbookQuery初めて知った 面白そうだな
566 名前:デフォルトの名無しさん mailto:sage [2025/05/02(金) 09:45:33.14 ID:G++s7sQD.net] >>551 Power Automateって使ったことないので分からないんだが、多くの言語で一般的ないわゆるブロックスコープとは別物なの?
567 名前:デフォルトの名無しさん [2025/05/02(金) 12:34:26.30 ID:FVfG1Al+.net] >>556 同じなんだけど、 Power Automateはループ処理のアクションを追加すると自動的にvbaでいう for i の i とか for each 変数 の 変数が自動的に宣言される vbaで同じ事をしようとするといちいち宣言しなくちゃいけないし、命名のレパートリーも尽きるからやらないし、流用になる 個別に変数を自動的に宣言してしかも管理も把握も一目瞭然だと、これからの時代はそれぞれのアクション、ブロックが一つのオブジェクト、関数みたいになるのがスタンダードで、しかもさらに進化するのかなと思う
568 名前:デフォルトの名無しさん mailto:sage [2025/05/02(金) 13:08:27.70 ID:i8P7c2SF.net] だからそんなもん20年前から他の言語では一般的だし、 PowerAutomateって複雑なことやろうとすると共通の変数を複数ステップに渡って弄り回すことになって簡単にVBAの糞コードみたいになるよ 変数のスコープに関する君の考えは一般的には正しいが、残念ながらPower Automateは君が期待しているようなものではない
569 名前:デフォルトの名無しさん mailto:sage [2025/05/02(金) 13:46:02.65 ID:G++s7sQD.net] スコープが別なことが分かっていれば、ループ変数は同じ名前の流用でも特に問題は起きないような気もするけれど。まぁでも便利なんだろうね。 ブロックスコープがない言語もそこそこあるような……。Pythonとか昔のJavaScriptとかは、関数スコープはあるけれどブロックスコープはないよね。
570 名前:デフォルトの名無しさん mailto:sage [2025/05/02(金) 16:53:20.86 ID:nKjy1k/M.net] ブロックがあればええ
571 名前:デフォルトの名無しさん mailto:sage [2025/05/02(金) 19:06:46.82 ID:ngu+xaVd.net] 全てグローバル 変数名も文字数制限あり BASICとはそういうものだ
572 名前:デフォルトの名無しさん [2025/05/02(金) 20:16:54.76 ID:KF55o+fS.net] 変数名といえばおまえら Option Explicitしてるの? 俺はうっかりさんでスペルミスしがちだから外せないけど
573 名前:デフォルトの名無しさん mailto:sage [2025/05/02(金) 20:38:35.86 ID:sdnBjLxl.net] しない理由がない
574 名前:デフォルトの名無しさん mailto:sage [2025/05/02(金) 20:55:10.60 ID:1BRp4bnH.net] あれ消えないようにして欲しい
575 名前:デフォルトの名無しさん [2025/05/03(土) 05:59:05.73 ID:2+JR0EAo.net] 今更ながらブックオープン 読み取り専用のコードだけを書いたfunction関数を作れば短い文字数でブックを開いて変数に代入できるって気づいたんだけど もっと有用なコードはありますか? さらにテーブルをセットするfunctionとか、ディクショナリーの作成、登録するfunctionとかもいいな
576 名前:デフォルトの名無しさん mailto:sage [2025/05/03(土) 07:20:36.45 ID:0JGyO
] [ここ壊れてます]
577 名前:YLe.net mailto: 自分だけが読み書きするコードならそれもありだと思うけど、一般論としては、文字数を少し節約できるというくらいしかメリットがないなら、あえてラッパーを作る意味はあまりないような気がする。 [] [ここ壊れてます]
578 名前:デフォルトの名無しさん mailto:sage [2025/05/03(土) 09:23:52.05 ID:Hazt22aJ.net] >>565 短い文字数が有用ならコメント付けないで変数名とか全部1文字にしたらいいんじゃね
579 名前:デフォルトの名無しさん mailto:sage [2025/05/03(土) 10:20:15.15 ID:VRj6VpYS.net] 使用回数によるよね 同じ操作が何回も出てくるなら適当なラッパー書いてあげると見通し良くて親切かなと もちろんコメント付きでね
580 名前:デフォルトの名無しさん mailto:sage [2025/05/03(土) 11:20:28.73 ID:F8pywi6k.net] そのプロジェクト内では1回しか使わなくても、よくある定形処理は関数にまとめた方がいい 文字数を減らす必要はないけど、行数は少ない方がデバッグがしやすくなる
581 名前:デフォルトの名無しさん mailto:sage [2025/05/03(土) 16:42:04.86 ID:h9Jrb8E+.net] 1ファイルに全部書く
582 名前:デフォルトの名無しさん [2025/05/03(土) 17:16:40.74 ID:2+JR0EAo.net] ラッパーというのですね ありがとうございます function関数やサブプロシージャは短い方がいい(一つの処理しか行わなくてもいい、行わない方がいい) 一回しか使用しない処理でも、メインプロシージャから切り分けた方がいい と聞いていましたが、これはラッパーというのですね
583 名前:デフォルトの名無しさん mailto:sage [2025/05/03(土) 18:50:44.41 ID:ocHu15P2.net] ぱっぱらぱー
584 名前:デフォルトの名無しさん mailto:sage [2025/05/03(土) 21:38:51.92 ID:Hazt22aJ.net] お鍋の中からインチキおじさんが登場しますた
585 名前:デフォルトの名無しさん mailto:sage [2025/05/03(土) 22:43:16.33 ID:aLoX39eB.net] ぴーひゃらぴーひゃら
586 名前:デフォルトの名無しさん mailto:sage [2025/05/04(日) 07:28:49.39 ID:ajXSlqYh.net] ラッパーというのは、元の関数とかにガワを被せた(つまり、その中で元の関数を呼び出している)関数とかのことね。包装するとかの意味のラップ。念のため。
587 名前:デフォルトの名無しさん mailto:sage [2025/05/04(日) 08:17:46.31 ID:kPdoN8ak.net] ラッパーとインターフェースはどう違うのっと
588 名前:デフォルトの名無しさん mailto:sage [2025/05/04(日) 09:35:43.88 ID:VN1fyBP0.net] インターフェースは、抽象的にいえばひとまとまりと観念されるコードの塊(クラスとかモジュールとか)同士の間の境界、その境界に接するコード部分かな。インターフェースを介して情報のやり取りを行うに際して互いの前提が異なる場合には、そのままでは情報のやり取りができないので前提を合わせる必要がある。ラッパーはそのために使われることもあるけれど、基本的には全然別の概念。
589 名前:デフォルトの名無しさん [2025/05/04(日) 16:30:55.85 ID:IQyuDcpS.net] >>571 それはモジュール分割 ラッパーはすでにあるものを呼び出すファンクションやサブプロシージャ ラッパーはラッピングだから、モジュールを包むモジュールというイメージ
590 名前:デフォルトの名無しさん [2025/05/04(日) 16:35:24.36 ID:IQyuDcpS.net] >>577 質問者じゃないけど、あなたの説明は入出力のインターフェース 質問者はオブジェクト思考のインターフェースのことを聞いているとおもわれる インターフェースはモジュールに決まったメソッド、プロパティを持たせるための骨格となる設計の定義 特定のインターフェースを継承させることで、そのクラスにはどういうメソッド、どういうプロパティがあるのか調べなくてもわかるようにできる
591 名前:デフォルトの名無しさん mailto:sage [2025/05/04(日) 21:24:05.55 ID:NkPvwNmC.net] 具象クラスの(>>577 の意味での)インターフェイスを規定する抽象クラス(抽象基底クラス)それ自体のことをインターフェイスと呼ぶのは、オブジェクト指向というよりもJavaとかから広まった用語法なのでは。 個人的には、インターフェイスという語の本来の意味はあくまでも577のようなものであって、Javaとかでいうインターフェイスはそこからの派生とか転用として位置付けられるべき用語法だと思うかな。 ただたしかに、Javaみたいな意味でインターフェイスという語を用いることの方が(プログラミング関係の文脈では)もはや多いのかもしれないし、質問した576の意図もそちらにあったのかもしれないね。
592 名前:デフォルトの名無しさん [2025/05/04(日) 21:50:46.14 ID:6QG7+rqM.net] PowerQueryでの動的な繰り返し処理を理解したら、VBAにもList.Select関数とかText.PositionOfのOccurrence.Allとか欲しい
593 名前:デフォルトの名無しさん [2025/05/05(月) 01:42:23.95 ID:6skGH2rL.net] 自分で実装すればいいじゃん
594 名前:デフォルトの名無しさん mailto:sage [2025/05/05(月) 09:14:01.67 ID:8n1c0Fvg.net] 実装は難しくはないだろうけど、汎用的に使える便利な関数はできれば組み込みで持っていて欲しいという感覚は分かる。
595 名前:デフォルトの名無しさん [2025/05/05(月) 10:45:35.51 ID:NKQxWENO.net] 配列の中に、対象に含まれているものがあれば、配列から取り出す、 っていう処理だから、内部処理的には、結局配列を全てチェックしていて意味がないのかな
596 名前:デフォルトの名無しさん mailto:sage [2025/05/05(月) 10:46:27.32 ID:Q8K4+hk+.net] 自分が欲しいと思ったものは誰かがすでに作ってる 作るよりAIに聞いた方が早い
597 名前:デフォルトの名無しさん mailto:sage [2025/05/05(月) 11:03:49.52 ID:20YqVkB+.net] >>579 InterfaceはJava用語 TraitはRust用語 Excelでは何と言うのか?概念がそもそも無いのか?
598 名前:デフォルトの名無しさん mailto:sage [2025/05/05(月) 11:43:00.38 ID:EffckoF6.net] VBAにもInterfaceという機能があり見た目はJavaに似ている しかし実質的にはCOM相互運用専用の機能であり、JavaのようなInterfaceは無いと考えて差し支えない そもそもクラスメンバへのアクセスは常にダックタイピングなのでInterfaceはあってもなくても何の影響もなく、特に意味はない
599 名前:デフォルトの名無しさん [2025/05/05(月) 13:17:06.42 ID:bvP/AgOh.net] 今時のプログラミングの考え方とか、関数型プログラミングというのは、ワークシート関数でいうindex関数とmatch関数の組み合わせの検索関数や、 マッチ関数とoffset関数とcount if関数の組み合わせによるプルダウンリストの絞り込みの様な、 一つのセルに対して関数のネストはやめましょう、 一つの関数は一つの答えを返しましょう、という認識なのですがどうなのでしょうか?
600 名前:デフォルトの名無しさん mailto:sage [2025/05/05(月) 13:26:58.67 ID:qohU83nC.net] 入門書読んだこと無いの?
601 名前:デフォルトの名無しさん mailto:sage [2025/05/05(月) 13:37:24.10 ID:EffckoF6.net] 違う 関数型プログラミングってのは、VBAなんか使わずにワークシートの式と関数だけで作りましょう、というものだと考えるとイメージしやすい 正確には、副作用のない式や関数だけを組み合わせてプログラムを作るのが関数型プログラミングで、Excelのワークシートはその一例 VBAでも注意深くやれば副作用のない関数だけで作ることは可能だが、それができるスキルの奴はVBAなんか使わないだろうね
602 名前:デフォルトの名無しさん mailto:sage [2025/05/05(月) 17:39:10.53 ID:ueUnqmHR.net] 関数型プログラミングは入門記事でちょっと齧ったくらいだけど自分にはムリそうだなーと思った。 VBAとかPythonとかの手続型言語で書く分には、@決定性や副作用を意識する、A言語に取り入れられた関数型言語由来の構文(Pythonでいえば、イテレーター、内包表記、構造的パターンマッチとか?)を使うというくらいで十分じゃんじゃないかなぁ。 本格的に関数型でやるぞっていう人なら関数型言語(HaskellとかOCamlとか?)を使うんだろうし、そこまでは頑張れないけど手続型言語を書く際に関数型言語の考え方を参考にしたいという程度なら、上記@Aくらいでお茶を濁しておく感じになるのではないかと。
603 名前:デフォルトの名無しさん [2025/05/05(月) 22:54:48.45 ID:bvP/AgOh.net] オブジェクト指向でカプセル化とか言っていたけど、結局はその理想通りにはならなかった。 その反省で生まれたのが関数型プログラミングという理解です。 関数には引数を引き渡す事と戻り値を受け取る事しか絶対にできない。 横槍も茶々入れも鶴の一声もない。 関数は一つのだけの事しかできない。 だからバグらない、誰がやっても結果は同じ。
604 名前:デフォルトの名無しさん [2025/05/05(月) 23:40:24.40 ID:fQ8xBj6s.net] 関数型プログラミングはオブジェクト指向よりも圧倒的に古い
605 名前:デフォルトの名無しさん mailto:sage [2025/05/06(火) 01:25:53.28 ID:AZSw2w0R.net] 関数型において関数は引数を受けることと戻り値を返すことしかできないというのは正しいのだけど、 鬼門なのは関数そのものを引数として渡したり関数の戻り値として関数を返したりできるところ それにより関数型プログラミングは飛躍的に自由度と難易度が上がり、>>592 の頭だとたぶんそこで挫折する
606 名前:デフォルトの名無しさん [2025/05/06(火) 06:45:59.65 ID:j1SFEq5D.net] >>594 まさに今それをやろうとしていますね 引数に関数を渡そうとしているの 値を引数にしたいけど、関数をネストせざるを得ない
607 名前:デフォルトの名無しさん mailto:sage [2025/05/06(火) 07:24:57.73 ID:Gnnon1y6.net] 引数として関数そのものを渡したり、戻り値として関数そのものを返したりできるかは言語仕様の問題だから、言語によってできるかできないかは決まっている。VBAではできない。
608 名前:デフォルトの名無しさん mailto:sage [2025/05/06(火) 08:15:59.98 ID:Gnnon1y6.net] 念のためだけど、 @ある関数(関数A)の引数の一つとして、他の関数(関数B)からの戻り値を渡すこと(大袈裟に言えば、関数呼び出し式のネスト?)と Aある関数(関数A)の引数の一つとして、他の関数(関数B)そのものを渡すこととは、違うことだよ。 C言語もVBAと同じく、関数そのものを他の関数の引数として渡したりすること(上記A)はできないが(もっとも、関数へのポインタを渡すことによって同等のことは実現できる)、上記@はできる。 さらにいえば、関数を引数として渡せたり、戻り値として返したりできる(関数が第1級の値である等と表現されることも多い)というのは、関数型プログラミングのおそらく必要条件にはなるのだと思うけど、だからといってこれらの性質があれば関数型言語というわけでもない。JavaScriptとかPythonとかは関数が第1級の値である言語だけと、いわゆる関数型言語とは言われていないと思うし。 VBAは、構文的にはJavaScript、Pytnon、C辺りと比べても関数型プログラミングからより遠い位置にいる言語だと思うので、あまり関数型にこだわる必要はないのでは? 実践的には、関数の決定性と副作用の有無に意識的になるだけでも、それなりのメリットはあると思う。
609 名前:デフォルトの名無しさん mailto:sage [2025/05/06(火) 09:32:02.27 ID:ePr8aXMn.net] あとこれは割とどうでもいいことだけど、関数の戻り値を他の関数の引数にすることを「関数のネスト」ということは、普通はあまりないのではないかなぁ(関数呼び出し式のネストという趣旨だとすれば意図は通じるけれども)。 普通は「関数のネスト」といわれれば、関数定義のネスト(関数内で定義された関数)の方を想起すると思う。
610 名前:デフォルトの名無しさん mailto:sage [2025/05/06(火) 09:47:26.27 ID:K1Pjz07i.net] pythonの凸レータは関数型らしいし関数のネストっぽく観える
611 名前:デフォルトの名無しさん [2025/05/07(水) 23:18:41.10 ID:5rQjCI4p.net] 関数型プログラミングは手続きという処理を見せないだけで、ロジックを隠すことでシンプルな見た目にするもの。 歴史上、常にこういう発想が何度も出てきているが、見た目をきれいにしたいだけで仕様の変更に耐えられない構文であることから、一度も主流になったことがない。
612 名前:デフォルトの名無しさん [2025/05/07(水) 23:48:45.09 ID:8NEt0qiL.net] >>600 全然違うと思いますけど? 結局大勢の人で手続き型プログラミングを作ったところでバカだらけ
613 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 01:43:07.29 ID:eAkjlYW3.net] VBA使ってる人間が他言語批判は草
614 名前:デフォルトの名無しさん [2025/05/08(木) 01:56:21.88 ID:hlDlUBWZ.net] VBAは俗人化するのでは?なんて質問を会議でこのご時世に言われるとは思わなんだ 優しく答えて大恥かかせてしまったけど少し悪かったかも
615 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 03:20:26.19 ID:Mm7IQCJP.net] 設計と管理がちゃんとしてれば関数型だろうがプログラムは作れる だいたいは見積もりが甘いかドキュメントの整備がおろそかになってるだけ
616 名前:デフォルトの名無しさん [2025/05/08(木) 06:36:17.83 ID:rpgtocHg.net] VBAの何が属人化するの? 他の本格言語、例えばC++と何が違うの?
617 名前:デフォルトの名無しさん [2025/05/08(木) 07:04:16.42 ID:KsTAlec+.net] 単純に用途が限定的なのでわざわざ覚える人が少ないのよ
618 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 07:25:23.15 ID:jLg0E+bB.net] 関数型言語が主流になったことがないというのは事実だろうけど、関数型言語による宣言的なプログラミングスタイルに何かしら限界とか制約があるからなのか、それとも単に難しいからなのかはわからないな。関数型言語をある程度使いこなした経験がある人には分かるのかもしれないが。
619 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 07:39:13.07 ID:jLg0E+bB.net] 状態を数多く管理しなければならないようなプログラム(GUIとか?)はちょっと苦手と聞いたことごあるような気もするが、今はどうなんだろう。
620 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 08:15:37.11 ID:Im8CJRBo.net] VBAに限らず、属人化のリスクは「協業の仕事」共通やな 当たり前っちゃ、当たり前だが なんつうか、丁寧さというか共同作業のセンスというか・・・
621 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 09:23:26.41 ID:v93ye6LH.net] どだい、現場の最前線で使われる省力化目的の小アプリ(業務の簡素化含め)なんか その寿命は3〜5年使えれば御の字 その間にもいろいろ業務形態も変化するし欲しい成果物もその都度変わったりする その変化に逐次対応できるものなら属人化してようとも目的は果たしてる その期間内に制作者が辞めたところでそれが何だってんだ 属人化させたのは上の責任 属人化がいけないなんてのは、上の方の言い訳に過ぎない 何故一人に任せた 10年も使い続けられるような制作物ならとっくに償却できてるし、その会社の立派な資産
622 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 10:03:03.06 ID:a9PTljx+.net] 話がループしてるな
623 名前:デフォルトの名無しさん [2025/05/08(木) 10:09:29.45 ID:D3KgMrbS.net] Exit vba
624 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 10:11:28.02 ID:RKaJBu95.net] 属人化の話題はVBAスレの華だからね。VBAがアイデンティティになっているタイプの人には譲れない話題なんでしょ。 今は、昔と比べて他の言語に触れてからVBAもやるという人が増えているのかな。VBAが最初に触れた言語ですという人の割合ってどれくらいなんだろう。
625 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 10:29:57.11 ID:a9PTljx+.net] モジュール分ける意味と基準が判らない 全部のプロシージャを一つのモジュールに詰め込むのは何が悪いの?
626 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 10:32:44.22 ID:G5GTs1je.net] Exile VIVA!
627 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 10:41:00.38 ID:719LxqHN.net] >>614 VBAレベルなら全部一つでいいよ 分割したくなるほど大きくなるようなら全体の業務フローを見直すべき
628 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 10:54:42.11 ID:RKaJBu95.net] 一般的な言語だと、機能分割や名前空間の分割のためにモジュールを分けるのでは。 モジュール分割の基準については、凝集度(高い方が良い)とか、結合度(低い方が良い)とかの概念でいろいろ議論されているみたい。 ただ、正直、VBAのモジュールっていろいろと特徴的なので(クラス定義はクラスモジュールで行う必要があるとか)、モジュール分割が必要な規模ならVBAではあんまり書きたくないかな。
629 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 12:10:22.44 ID:8ptxnmrn.net] 今は改善されてるのかも知れないが 名前ちょっと変えただけで行方不明になることは良くあった
630 名前:デフォルトの名無しさん [2025/05/08(木) 18:48:55.03 ID:rpgtocHg.net] 私はモジュールをコードの使用目的で分けているな ブックマークみたいな感じ あと特定のアプリケーションを操作する時は、関係する変数、オブジェクトをひとまとめにしたりとか もっと何も気にせず使えるのなら、アドインにコードをまとめて共有したりもするんだろうな
631 名前:デフォルトの名無しさん mailto:sage [2025/05/08(木) 20:28:48.50 ID:Qp1M/T2r.net] 皆さんVBAでどのくらいコードを書きます? 1000行くらい?
632 名前:デフォルトの名無しさん [2025/05/08(木) 21:11:25.68 ID:kNzCbrU5.net] シートごとにモジュール分けてる...
633 名前:デフォルトの名無しさん [2025/05/08(木) 21:26:36.63 ID:ownVsw/K.net] >>620 必要に合わせてかなり書くよ 1000は小規模
634 名前:デフォルトの名無しさん [2025/05/08(木) 21:34:26.78 ID:hlDlUBWZ.net] そういうところがセンスないんだよな 僕は詳しい僕は長くかける で自己満足して社内の評価も年収も低いっしょ 火の玉ストレートでごめん
635 名前:デフォルトの名無しさん [2025/05/08(木) 21:49:23.37 ID:rpgtocHg.net] 可読性の高いコードは、処理を一つ一つ、行を書く事だと思います あと、エクセルだとRangeだのCellsだの、英語や数字になるから、それぞれ変数で名前をつけて変数に代入して可読性を上げるとか
636 名前:デフォルトの名無しさん [2025/05/09(金) 07:31:44.14 ID:Y+GhIEwV.net] うちの職場だけ特殊なので 全体のシステムが大きいからコードも必然的に大きくなるだけ その中の個々の機能では1000行以下の機能もたくさんあるよ
637 名前:デフォルトの名無しさん mailto:sage [2025/05/09(金) 08:00:17.09 ID:zNQNct04.net] RPA!RPA!って少し前もてはやされてたけど、 速度的にも手順的にもVBAでよくねって案件多かったよね
638 名前:デフォルトの名無しさん [2025/05/09(金) 12:28:57.25 ID:piOnFv34.net] そうなか、自分のとこだけで精一杯で世間知らずになってるかも
639 名前:デフォルトの名無しさん [2025/05/09(金) 18:28:31.58 ID:HJ6RQEwc.net] VBAで済むならVBA RPAの方が楽ならRPAってだけ RPAの方が楽なのにVBAで書くのはバカ
640 名前:デフォルトの名無しさん [2025/05/09(金) 18:30:10.14 ID:HJ6RQEwc.net] >>628 ちょっと一行目が合わんな(寝起き)
641 名前:デフォルトの名無しさん mailto:sage [2025/05/09(金) 18:41:10.42 ID:zNQNct04.net] 何が楽かって視点がないからRPAが廃れたってことをわかってなさそうなレス
642 名前:デフォルトの名無しさん [2025/05/09(金) 22:10:08.68 ID:p2pcYwx2.net] そもそも論として、使い方を学ぼうとしない人が大勢なのに使いこなせるわけがない kintoneだろうがなんだろうが 銀の弾などない
643 名前:デフォルトの名無しさん [2025/05/09(金) 22:37:09.74 ID:p2pcYwx2.net] 文系管理職なのに業務アプリをシュシュっと作れちゃう俺 あるわけないだろバーカ 絶対スカラ値の原則を無視したり、列を繰り返したりしてるわボケ
644 名前:デフォルトの名無しさん [2025/05/10(土) 02:15:51.46 ID:2PI0HY+M.net] 豊川悦司「俺ー♪」
645 名前:デフォルトの名無しさん [2025/05/10(土) 13:05:37.78 ID:IWhliTad.net] 無から有は難しいよね、環境や周囲の協力がないと
646 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 13:13:10.16 ID:APagMvUq.net] 業務効率化程度の仕事なら、無から有は勝手にやりゃいいだけだから難しくない 周囲を巻き込んだとしてもどのみち最終的には言い出しっぺが責任持ってやれよという感じにしかならん 有から別の有の方が遥かに難しい
647 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 13:23:47.83 ID:TkZSyEZj.net] 誰かがVBAなんかで半端に作っちゃったものを、こんなもんSaaSでいいだろと移行させるみたいなのは難しい 必ず、決まった業務を回すしか能のない人達が重箱の隅をつついたり牛歩戦術をしてみたりと必死に抵抗してくる
648 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 13:31:42.36 ID:HZyfRGTg.net] 金がかかるとなるとそりゃそうでしょ。
649 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 13:49:08.55 ID:tG+fugNq.net] いや、経験上、金を問題にするのはある程度上の立場の人間なので、本質的でないしょーもない業務影響はあまり問題にしない。 〇業務を〇時間削減できるから人件費換算で導入コストと利用料を上回る効果が見込めますと説明できればよい。 くだらないことで難癖を付けてくるのは現場の人間。
650 名前:デフォルトの名無しさん [2025/05/10(土) 14:05:58.61 ID:3Mk2sCKg.net] >>630 何が楽かさえわかってないのかよw
651 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 14:09:45.85 ID:644AQTJb.net] 無から有ってのは、何であれ産みの苦しみって奴で、社会でも人生でもあらゆる場面で起こり得る 有から別の有ってのは例えが判らんが、αというシステム化された処理が有って、その結果を元に 別のβを作ろうとしているのか、或いはαの改善品αUを作ろうとしているのか 前者なら無から有と一緒だし、後者なら元と成ってる最初のαを精査すればいいだけ こんなもんSaaSでいいだろと思い込んでしまった原因を自省してみて、うかうか宣伝文句に釣られてただけと 理解出来たら儲けもの じぶんで実際にSaaSに移行してみて一年位稼働させてそれでも一切問題が発生しない 事を確認してから提案するぐらいの努力は発言する前に済ませておくべき やってみましたできませんでしたは、殊営利を目的とする企業では落第の烙印を押されるだけ プロトタイプ・試作品も無いまま実務で運用することほど無謀な試みは無い 旧日本軍大本営方式でしか無い
652 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 14:31:05.56 ID:HZyfRGTg.net] >>638 利用者が習得するまでの学習コスト考えてる? 習得するのに時間がかかるとか操作が複雑になり過ぎたら反発すると思うけど。 今よりこれだけ簡単になりますって話なら反発も少ないのでは?
653 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 14:39:47.45 ID:tG+fugNq.net] >>641 だからそれを含めて難しいって話でしょ
654 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 16:34:23.69 ID:ngauQQ8E.net] 話の逸れ方が大きくなってきたな
655 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 16:38:29.08 ID:iGSB8dlv.net] 前から先人達がこのスレで、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") _ ) と。 で、何度かやり取りした結果、うまく出来まスた。
656 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 18:59:33.45 ID:Pq21kD+5.net] しねごみかす
657 名前:デフォルトの名無しさん [2025/05/10(土) 19:48:45.71 ID:pekHwIHV.net] >>644 どれくらい処理の重い作業か、帰りの組み方をしているのか私には分かりませんが、 テーブルデータの整形が終わった後、一区切りついた後、テーブル関数やリスト関数などで繰り返し作業保護(一般的なeach?)
658 名前:デフォルトの名無しさん [2025/05/10(土) 19:52:02.31 ID:pekHwIHV.net] >>646 を行う前に 必ず List.Buffer Table.buffer を行うと(VBAの配列並にとは言いませんが)処理が劇的に早くなると思います。 私は2000行に6000行のTaxt.Containsをして結果をList.SelectやAnyTrueなどをしていますが、劇的に早くなりました。
659 名前:デフォルトの名無しさん [2025/05/10(土) 20:41:13.86 ID:pekHwIHV.net] VBAでセルの中の改行のある大量の文字列の中から目的の
660 名前:報を抽出するという試みをやっていたのですが、最近になってやっと改行で区切って、1行にバラすという事に気がつきました。 これで無関係な文字列の行はフィルターできるし、視認性が劇的に改善したしで本当に楽になった。 データは必ず一行づつという当たり前を改めて知らされた。 [] [ここ壊れてます]
661 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 21:53:08.57 ID:iGSB8dlv.net] 今回Arrayを使って、各クエリー/ピボットテーブル更新中のCPU使用率を調べようとしたのは、 ・複数の前処理ブックの共通テーブルを参照して、項目ごと時間軸串刺し合計や最大/最小値とその時間なんかを求めるブック ・仕上がり52,560行 ・これでもまだ中間集計ブック ・将来的には104万行を超えるので、ベース集計クエリーにはデータ モデルを使用 ・今の第8世代Core i7と32GBメモリーで、このブックの更新には20分超 ・当初は、List.Buffer、Table.bufferをクエリーで使って高速化を試したが、これだけ行が多かったりクエリー依存が多いと、シーケンシャルにしてBufferしたつもりが前クエリーの再計算が入ってExcelが固まったので断念。 ・逆に、104万行以内に収まる途中のクエリーは、ワークシートに書き出してこれを参照するようにしたら、最後まで計算できるようになった。
662 名前:デフォルトの名無しさん [2025/05/10(土) 23:00:42.57 ID:pekHwIHV.net] >>649 クエリを分割したらいいって事でしょうか 中間テーブル?の様な
663 名前:デフォルトの名無しさん [2025/05/10(土) 23:08:41.01 ID:pekHwIHV.net] >>649 明らかに不要なデータを元ファイルから削除するとか、グループバイがしたいのならワークシートで
664 名前:デフォルトの名無しさん [2025/05/10(土) 23:10:16.50 ID:pekHwIHV.net] 行の並び変えをするとか 不要な列は削除しておくとか 集計はパワーピボットを使用するとか、テーブルのjoinではなく、リレーションシップにするとか できそうではないですか?
665 名前:デフォルトの名無しさん mailto:sage [2025/05/10(土) 23:17:35.27 ID:iGSB8dlv.net] >>650 別スレで
666 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 02:32:23.22 ID:orNzllBw.net] 属人化言い出したらExcelシートそのものも属人化だろな
667 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 06:38:44.59 ID:dESx0WKG.net] >>654 これは正にだな 人によって非表示行(列)や非表示シート、 定義された名前を非表示にするやつすらいる
668 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 09:33:21.32 ID:xj1UIMtq.net] 他人のVBAより数式のほうが見たくなくなる
669 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 12:52:43.82 ID:orNzllBw.net] 世の中、属人化シートだらけ
670 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 13:42:45.69 ID:oI5baM/t.net] 逆に、「他人に見てもらう」ことを意識してExcel作っていたら、 独りよがりでない、少しはわかりやすいもの作るのかと。 「お天道様が見ている」 「第二の視座」 とか言うヤツ
671 名前:デフォルトの名無しさん mailto:sage [2025/05/11(日) 13:57:41.75 ID:UTf8BgbA.net] 大さんという上司に観てもらってた良い思い出
672 名前:デフォルトの名無しさん [2025/05/12(月) 19:52:24.55 ID:/MqwmjFI.net] Excel大好き人間としてはHaskellを推したい
673 名前:デフォルトの名無しさん [2025/05/13(火) 20:06:46.42 ID:IQbEImBo.net] 正規表現で漢字全てにマッチさせるにはユニコードの最後の漢字までを範囲にしたらいいのだすか?
674 名前:デフォルトの名無しさん mailto:sage [2025/05/13(火) 20:43:44.18 ID:UxpIpbA1.net] [\u4E00-\u9FFF]
675 名前:デフォルトの名無しさん [2025/05/13(火) 22:37:17.01 ID:IQbEImBo.net] urlに恐らく改行が含まれているのですが、改行もマッチさせるとなるともはやなんでもマッチしてしまいますか?
676 名前:デフォルトの名無しさん [2025/05/14(水) 00:23:46.12 ID:TPeqytUP.net] 漢字で始まり、ひらがなで終わる ひらがなのみ カタカナのみ マッチした結果を全てディクショナリーに登録して、アイテムは1+1を繰り返してカウントする これだけでも頻度分析ができるんだね
677 名前:デフォルトの名無しさん mailto:sage [2025/05/14(水) 00:57:58.82 ID:WcLab/oc.net] >>664
678 名前: それ単語の区切りはどうするの? [] [ここ壊れてます]
679 名前:デフォルトの名無しさん mailto:sage [2025/05/14(水) 01:04:11.54 ID:KAgWD1+F.net] 仕事の管理でVBA使ってポツポツやってたけど違う業務管理が追加になってもうすっかりコードなんか忘れてるので面倒だなと思ってたけどChatGPTちゃんに聞いたら楽に組めた Aのシートをコピーしてシート名はCにしてとかでもすぐに教えてくれるし こんなのでもすっかり忘れてるから助かった
680 名前:デフォルトの名無しさん [2025/05/14(水) 01:12:17.68 ID:TPeqytUP.net] >>665 漢字とひらがな ひらがなのみ カタカナだけ 意味のある言葉になっているよ むしろ本当の本当に単語にまで分解しても意味がわからないよ 情報を細分化してもしょうがない
681 名前:デフォルトの名無しさん [2025/05/14(水) 01:49:41.56 ID:TPeqytUP.net] 例えば お 世話 に なり ます(あるいは なります) まで分解しても意味を持たないでしょう? お 世話になります で十分でしょう 東京タワー みたいに 漢字カタカナパターンもある事に気がついた
682 名前:デフォルトの名無しさん mailto:sage [2025/05/14(水) 09:24:40.17 ID:mIHvW3MM.net] それで分析できるのはその定義における節の頻度であり、一般的な単語とは異なる それがお前の目的に合っているのであれば好きにしたらいい ついでに言えばそんなもんMeCabに突っ込めばいいだけだからお前独自の方式なんて誰も必要とはしない
683 名前:デフォルトの名無しさん mailto:sage [2025/05/14(水) 09:51:03.61 ID:mHOx/gQ0.net] おー、MeCabってのがあるのね。めかぶって読めるなと書こうとしたら、本当にめかぶから名前を取っているのね。
684 名前:デフォルトの名無しさん [2025/05/15(木) 22:57:08.75 ID:vsR8tMHm.net] めかぶというやつの公式ページ?の 一行一分 は誤字ですか? それだったらテキストマイニングを極めていてもやっぱりこの程度なんだなと あと何を言っているのかを判断するには前後の脈略が必要だし、日本語はひらがなに特に意味がある訳でもないから そこまで単語に固執する必要もない気がする
685 名前:デフォルトの名無しさん mailto:sage [2025/05/16(金) 09:43:09.58 ID:IgvVjYfn.net] make a boo
686 名前:デフォルトの名無しさん [2025/05/16(金) 10:48:47.56 ID:em0azm75.net] manko
687 名前:デフォルトの名無しさん mailto:sage [2025/05/16(金) 13:02:22.31 ID:TOZOy2SA.net] 印刷範囲外のセルが なぜか印刷範囲中央付近に プレビューされ、実際にも印刷されます 改ページプレビューも利用して グレーゾーンに押しやっている テキストボックスなんですが 元の配置よりさらに外側に動かすと 印刷範囲から消えはします そのため支障をきたしている 訳ではないのですが なぜこうなってしまうのでしょうか?
688 名前:デフォルトの名無しさん mailto:sage [2025/05/16(金) 13:04:09.96 ID:TOZOy2SA.net] ↑スレ違いでした、すみません 取り消します
689 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 09:02:45.85 ID:ztNWa+hU.net] ラベルのAcceleratorって何に使うの?
690 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 10:17:32.20 ID:BnclY/n2.net] マジレスすると ボタンのタイトルを E&xcel とかにすると Ctrl+x でボタンを押せるのが Accellerator じゃないかな
691 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 10:20:42.98 ID:ztNWa+hU.net] でもラベル押せないじゃん
692 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 12:01:06.66 ID:vJvypOU0.net] ボタンの上とかにラベルを貼り付けることで マウスクリックした時、キーボード操作した時で同じ操作をさせられる Accessなら、ラベル単体でもつついてあれこれできるけど、Excelではそんな機能は無い SpecialEffectと併用して見た目押したようにできるかも知らんが そんな無駄を付け加えてまでやりたいことなのかどうか
693 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 12:11:18.06 ID:ztNWa+hU.net] 回答? 独り言? 結局、何に使うの?
694 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 12:32:35.29 ID:FyrcyVVg.net] 一応、フォーカス移動には使えるんじゃない? それがどの程度嬉しいことかは微妙なところかもしれないが。
695 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 12:42:35.66 ID:ztNWa+hU.net] テキストボックスの前に置いといて、ラベルにフォーカスさせると テキストボックスにフォーカスされる テキストボックスが複数あっても一発で選べる なるほど、こうやって使うのか
696 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 12:48:29.09 ID:AUJKaPS/.net] それは可能かもしれないけど、テキストボックスにフォーカスを移動するためにアクセラレータを使うのはどうかなぁ
697 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 12:49:47.54 ID:AUJKaPS/.net] >>661 が指摘してましたね スレ汚しでごめんなさい
698 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 12:58:22.21 ID:ztNWa+hU.net] よく出来たアプリはみんなできるようになってるよ S)検索 みたいな感じ マウスしか使わない人はそんなこと考えないし、 タブオーダーも無茶苦茶で、どこに飛ぶか判らない
699 名前:デフォルトの名無しさん [2025/05/17(土) 14:53:18.10 ID:Mou0F5/k.net] フォントサイズをセルの横幅にジャストサイズで合わせたいのですがどの様にすればいいでしょうか? 縮小して全体を表示するは試していますが、念のために列幅と文字数を割って1文字あたりの大きさをまとめるとか、そう言った確実な方法を探しています。
700 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 18:12:34.03 ID:VJRyFCkb.net] そんな方法はない
701 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 18:32:10.79 ID:Vu4+Tz9e.net] 仕方が無い
702 名前:デフォルトの名無しさん [2025/05/17(土) 18:34:04.52 ID:Mou0F5/k.net] やっぱりセルに実際の文字列を入れて 治ったセルの高さ/行数 = 1行あたりの行の高さ で割り出すしか無さそうですね
703 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 18:37:59.26 ID:rdyb/DPe.net] 画像で保存してセルに合わせて画像を拡大縮小したらどうかな
704 名前:デフォルトの名無しさん [2025/05/17(土) 18:49:20.89 ID:B7xQsXDd.net] 一つのセルにそんなに長い文字列を入れてしまうデザインを見直したほうが早いかも
705 名前:デフォルトの名無しさん [2025/05/17(土) 18:50:45.81 ID:Mou0F5/k.net] やっとdictionaryのネスト、親ディクショナリー、子ディクショナリーが理解できました。 よくdictionaryのitemに配列を入れたら値が複数登録できると言うコードが詳細されていて、私も四苦八苦しながら覚えました。 だけどこれって本当は親ディクショナリー、子ディクショナリーが正しい答えですよね ディクショナリーだとそれぞれの項目が文字列で指定でますが、配列だとインデックスでしか登録できない
706 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 19:22:23.61 ID:hPL9irHC.net] >>686 うちは24や48から2ポイントずつ減らしならが総当りしてる
707 名前:デフォルトの名無しさん [2025/05/17(土) 20:04:52.16 ID:Mou0F5/k.net] >>691 1行なら 縮小したら全体を表示する が使えるから、、、? そして多めに行数を作成して、行数が少ないのなら削除するか、非表示にすればいいと? なるほど
708 名前:デフォルトの名無しさん [2025/05/17(土) 20:06:06.97 ID:Mou0F5/k.net] >>693 私も12の倍数で作成しています。
709 名前:デフォルトの名無しさん [2025/05/17(土) 20:19:45.31 ID:Mou0F5/k.net] 印刷周りの仕様、挙動をよく理解していなくて申し訳ないですが、 改ページで1ページの範囲を設定していれば、どれだけ行が大きいか、行数が多いかしても、 必ず1ページになる様にExcel側が自動調整されるのでしょうか? 優先度は改ページ、全ての行、列を〜ページに合わせる、zoomの順番でしょうか?
710 名前:デフォルトの名無しさん [2025/05/17(土) 21:01:27.82 ID:HReuuPkT.net] >>696 それはVBAの問題なのか? ここは何のスレかわかってるか?
711 名前:デフォルトの名無しさん [2025/05/17(土) 21:14:59.94 ID:Mou0F5/k.net] >>697 VBAで書類の作成、印刷の自動化を申しつけられて、全自動化時代は余裕なのですが、印刷周りの設定はよく知らなくて、しかも実際に印刷作業をする人は別の場所の人だから、1ミリでも小さければ気に食わないんでクレームを入れてくるんです。
712 名前:デフォルトの名無しさん [2025/05/17(土) 21:18:54.18 ID:Mou0F5/k.net] .PageBreak .Zoom .FitToPagesWide .FitToPagesTall font-size セルの縦横 これら全てVBAではないのですか?
713 名前:デフォルトの名無しさん [2025/05/17(土) 21:29:04.01 ID:HReuuPkT.net] >>699 VBA以前にそもそもExcelの印刷自体を知らない人なんだと
714 名前:「うことはよくわかった 1ミリも狂わないように印刷するにはWindows APIを呼び出して使うかExcelで印刷するな [] [ここ壊れてます]
715 名前:デフォルトの名無しさん [2025/05/17(土) 21:36:27.58 ID:Mou0F5/k.net] >>700 どのAPIがよろしいのでしょうか? PDFには常に出力しています
716 名前:デフォルトの名無しさん [2025/05/17(土) 21:39:10.06 ID:HReuuPkT.net] >>701 Canvas API 教えたからそろそろ消えろ
717 名前:デフォルトの名無しさん [2025/05/17(土) 21:56:35.49 ID:Mou0F5/k.net] >>702 それはWindows APIなのでしょうか?
718 名前:デフォルトの名無しさん [2025/05/17(土) 22:02:21.39 ID:HReuuPkT.net] >>703 いい加減にしろ 後は自分でPostScriptを書いてPDFファイルを作れ
719 名前:デフォルトの名無しさん [2025/05/17(土) 22:20:55.25 ID:Mou0F5/k.net] >>704 Canvas APIはWindows APIなのでしょうか? 私はVBA以外はほぼ無知なのですみません
720 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 22:21:25.66 ID:c0BqlY74.net] ぐぐれ
721 名前:デフォルトの名無しさん [2025/05/17(土) 22:28:10.07 ID:Mou0F5/k.net] 本当にAIのコミュ力につくづく人間は敵わないなと思う
722 名前:デフォルトの名無しさん [2025/05/17(土) 22:40:26.23 ID:HReuuPkT.net] >>707 とことん馬鹿だな 教えてもらってそれかよ 消えろや
723 名前:デフォルトの名無しさん [2025/05/17(土) 22:48:37.53 ID:Mou0F5/k.net] >>708 それがコミュニケーション能力が高い事なんですか?
724 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 22:54:54.99 ID:2QmOCSUM.net] 煽り耐性ないやつが次々と引っかかっててウケるー
725 名前:デフォルトの名無しさん [2025/05/17(土) 22:58:48.79 ID:HReuuPkT.net] 馬鹿はこうやって本性を曝け出す
726 名前:デフォルトの名無しさん mailto:sage [2025/05/17(土) 23:31:01.83 ID:QeS8RaKg.net] エクセル(VBA)で印刷の精度を求めるのは徒労だと思う
727 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 08:45:52.75 ID:cP1cyZx+.net] いまだに位置合わせがどうこうやってる 生産性激低日本さん
728 名前:デフォルトの名無しさん [2025/05/18(日) 09:28:02.03 ID:NiGvaOOd.net] >>692 配列がいい場合もある 使い分け
729 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 10:05:14.14 ID:v1lfaeE4.net] >>696 相談の核は、構文の式の優先度を知りたいのか 成果物を要求する人の要望に応じるには、どこを直せばいいのかを知りたいのか それらの式をあれこれ工夫して組み込んでもどうしてもズレてしまう だの 今のところ問題無いが先々を考慮して問題に成りそうなヶ所を潰しておきたい だの こちら側では相談の意図がいまひとつ掴みきれない 具体的にサンプル上げるなり事例を書き込むなり 1mmズレるケースとズレないケース両方があれば、より判断しやすい おれのはズレないよ アー〇ネイ〇ャーだもの
730 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 11:39:33.78 ID:/BWwyZ2v.net] Dictionaryのkeyに複数値を入れれば2次元で格納できる
731 名前:デフォルトの名無しさん [2025/05/18(日) 11:50:29.67 ID:Mk3OrkwO.net] >>715 改ページと全ての行、列を1ページに合わせると、Zoomのこの3つの依存関係、絡み合いが知りたいですね。 AIのご説明では、 まず改ページが最優先され、 次に全ての行、列を1ページに合わせるの設定が優先さる? 全ての行、列を1ページに収めるが設定されているとZoomの設定は無視される そうです あとあと行数が今より増えた時に、「フォントサイズが小さくなりすぎる」かもしれないので、今一度、Excelのページレイアウトの設定、仕様、挙動を完璧に把握したいなと思いました。 ありがとうございます。
732 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 11:53:43.56 ID:JTwWUl1C.net] ところがね・・・ Windowsの場合は、パソコン側の液晶モニターの設定も印刷に影響するんだよ プリンターもすべて同じLANにつながってるのを共有してるのに、別のPCから印刷するとズレるんだ・・・
733 名前:デフォルトの名無しさん [2025/05/18(日) 11:59:28.20 ID:Mk3OrkwO.net] AIにお伺いして、より沢山の案や方法の回答を得たい時はどの様にご質問していますでしょうか? 私は具体的に〜をするにはどの様な方法がありますか? と聞いていますが、質問があまりにも具体的すぎるのか、限定的すぎるのか、聞かれた事に対してしか答えてくれません(質問に対して抽象化して幅広く回答したら今度はAIは嘘をつくと言われると思いますが。)
734 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 12:05:26.30 ID:9lhlIUdU.net] 左右に並んだセルを連結すると文字の上下位置がずれて発狂するよね
735 名前:デフォルトの名無しさん [2025/05/18(日) 12:07:00.00 ID:Mk3OrkwO.net] >>718 それもAIに言われました スケーリングも影響しますと言われました。 高解像度のモニターで、アイコンのサイズを大きくするために使うあのスケーリングです。 プリンターのフォントや最小の余白サイズなどのプリンターの仕様 プリンターに実は縮尺の設定がかかっている事に気づいていない などなど
736 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 12:20:35.59 ID:Yd8pXRNj.net] スレチの話題ほど長く続くんだよな Excelスレでやってくれよ
737 名前:デフォルトの名無しさん [2025/05/18(日) 12:24:15.85 ID:Mk3OrkwO.net] 公式ページに書いてありましたね。 Zoom プロパティが True の場合、FitToPagesWide プロパティは無視されます。 Zoomプロパティが False の場合、 FitToPagesWide プロパティと FitToPagesTall プロパティは、ワークシートのスケーリング方法を制御します。 (Zoomは)拡大または縮小する方法にかかわらず、元の文書の縦横比は保持されます。
738 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 13:41:54.68 ID:v1lfaeE4.net] スレチとは言えないだろうけど、今のところ個人の感想を書いてるだけに近しいな 仕様に関しては、その書類を共有するグループ内で諮って今後の方針を決めればいいだろうし 環境の違いで発生するトラブルに関しては、最大公約数だっけ?なんかそういう系の どんな環境でもほぼ同一の結果を出せますゾーンを決めて、それに沿った設計制作に 改めるべきだろうし PDFに出せば問題軽減するってんならそれもひとつの解決策だし 掛けるコストに見合う結果が出ないなら意義は低い(少ない) これが、個人研究ってんならより深く追及して解に近いものが得られたら発表してもらいたいが
739 名前:デフォルトの名無しさん [2025/05/18(日) 13:47:30.17 ID:iKxgrlxH.net] longとstrの変数定義10個やって、ループ5万回回して中で変数に値を出し入れする まとめてループ外で変数定義するのと、ループ内で適宜定義するのとどっちがよいので??
740 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 14:08:00.75 ID:JTwWUl1C.net] >>723 保持されないんだな、これが 罫線の太さが一部だけ違ってるシートだと拡大率が縦と横で違ってくる
741 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 14:10:27.89 ID:JTwWUl1C.net] >>725 MSの推奨は最初にまとめて宣言 チームでやるならみんなに合わせる 個人的な作業ならどっちでもいいけど、途中で方針を変えるとあとで混乱するからどっちかに決めて一生変えないこと
742 名前:デフォルトの名無しさん [2025/05/18(日) 14:47:49.53 ID:qr58bPvk.net] >>723 この馬鹿、答えを教えてもらってもネチネチやってるのか 馬鹿はこれだから 消えろや
743 名前:デフォルトの名無しさん mailto:sage [2025/05/18(日) 17:14:14.05 ID:9lhlIUdU.net] >>725 VBAにブロックレベルのスコープはないからどっちも同じ オレの好みは読みやすさ重視でループ内に書く方だが プロシージャ内の2つのループで同じ変数名を使いたい時 ループ外で宣言しないといけなくなって打ちひしがれる
744 名前:デフォルトの名無しさん [2025/05/18(日) 19:26:33.94 ID:NiGvaOOd.net] 真円を印刷したら楕円になって発狂したの思い出したわ どうやって解決したかは昔すぎて覚えていない
745 名前:デフォルトの名無しさん [2025/05/18(日) 21:45:07.54 ID:JeO/PtYk.net] >>727 >>729 参考になります…! ループ内の宣言コストとかはあんま気にしなくてもよさそうな感じなんですね(オブジェクト除く)
746 名前:デフォルトの名無しさん mailto:sage [2025/05/19(月) 00:29:53.41 ID:aSNuw95p.net] 変数3、4個のプロシージャだったら変数の宣言しなくていいよね? プロシージャが動いてる時だけメモリ消費するってことでいい?
747 名前:デフォルトの名無しさん mailto:sage [2025/05/19(月) 00:49:32.05 ID:nyMkteHn.net] >>732 Option Explicit しなさい しないと、変数のタイプミスで簡単にバグる
748 名前:デフォルトの名無しさん mailto:sage [2025/05/19(月) 03:01:33.66 ID:xZYpAeMM.net] >>732 たとえ宣言してあっても、メモリ上に変数領域が確保されるのは実行中だけだよ ただし宣言しないと全部Variant型にされるからメモリ効率も実行効率も悪くなる、と言っても体感はできないけど
749 名前:デフォルトの名無しさん [2025/05/19(月) 06:06:52.71 ID:WEB+3jSu.net] >>730 図形の事に全く詳しくないから間違っているかもしれませんが、セルに合わせて伸縮したり、移動したりするのを無効にするのでしょうね
750 名前:デフォルトの名無しさん [2025/05/20(火) 02:20:44.35 ID:vmioRAc9.net] ListView,TreeView入れて作ったら、大半の人がOffice2013 64bit使ってて動かないことが判明したんだけど、どうしよう
751 名前:デフォルトの名無しさん mailto:sage [2025/05/20(火) 06:15:30.63 ID:J92IpVQ8.net] 作りなおす
752 名前:デフォルトの名無しさん [2025/05/20(火) 07:27:24.89 ID:QvUhVdYo.net] ん? 2013にはそのview無いってこと?
753 名前:デフォルトの名無しさん mailto:sage [2025/05/20(火) 07:40:50.77 ID:QuREz4IK.net] 32bitと64bitの互換性が無い Verが違う 今時2013つこてる方がキケンがあぶない 相手の環境を再現できるマシンを入手してそれで作り直す がんばって自作する https://qiita.com/Q11Q/items/b4f8d50e760d114b21fd
754 名前:デフォルトの名無しさん [2025/05/20(火) 08:58:00.71 ID:QvUhVdYo.net] あぁ、なる 昔大量にフォーム移行する時に、定義を一覧に出して、それを元に再構築するの作ったような記憶… おそらくサイズ変更に合わせてフォントとかも変えたのかな…
755 名前:デフォルトの名無しさん [2025/05/20(火) 10:20:21.64 ID:4cRKMiEn.net] きちんと動作環境を明確にする クライアントと打ち合わせる 上司や営業に相談する
756 名前:デフォルトの名無しさん mailto:sage [2025/05/20(火) 14:46:51.76 ID:E4QmPhp5.net] 2019ですら化石レベル化してるのに2013とはな
757 名前:デフォルトの名無しさん mailto:sage [2025/05/20(火) 16:17:35.03 ID:0n1WQM2u.net] 2013がどうってんじゃなく使うDLLが違う 使用するべきDLLが32bit版か64bit版か判断するコードが要る
758 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 10:53:43.66 ID:va6/rMba.net] Excel2013が危険なのには同意だけど Excel2013/64からListView,TreeView/32を呼ぶのは無理ってだけで Excel2013/64からListView,TreeView/64を呼べたら使えるんじゃね
759 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 11:32:04.49 ID:gg1Rd+aD.net] 所詮、ActiveXコントロール(ocx)だから カレンダーコントロールと同じ運命を辿るような気がするけどね 必死に工夫して汗水流して作り上げても、寿命が風前の灯火で数ヶ月後には利用不可とか
760 名前:デフォルトの名無しさん [2025/05/21(水) 12:10:27.12 ID:ZnDW2hJE.net] 使用者、要望者のオーダーメイドでマクロを作成しても、これは嫌だ、あれも嫌だ、と言われるならなにも作る事は出来ない 脱Excelといって、既製品の業務ソフトを導入しても絶対不満しか出てこない 脱Excelの現実を知った気がする そして全ての要望を取り込んで作成したマクロが属人化した闇Excelファイルなのだろう
761 名前:デフォルトの名無しさん [2025/05/21(水) 12:16:44.55 ID:np4mB3oN.net] 嫌かどうかで仕様を決めていると大変だろうな
762 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 13:16:57.81 ID:gg1Rd+aD.net] >>746 そういう、いかがわしい新興宗教にのめり込んだ人のような発言はそろそろ控えたら? 書いてることが支離滅裂だよ? >オーダーメイドでマクロを作成しても 要望通りでダメなら、どこをどう改善すればいいかじっくり話し合いの機会を持てばいいだけ 作成したと言い切れるのは、試作品を改良改善した末に仕上がったものに対して使う言葉 >これは嫌だ、あれも嫌だ、と言われるなら 事前の要件や仕様を満たして無いんだろ? 打ち合わせの時に聞くだけの態度で居たとかで その制作物が仕上がった時の概要がじぶんのアタマの中にできていないからそういう事態に陥る 経験不足もあるだろうし打ち合わせが打ち合わせの体を為していなかった、てだけ >絶対不満しか出てこない その業務アプリに移行しましょうと先導した人間の責任 流行りの言葉なら任命責任 >全ての要望を取り込んで作成したマクロが属人化した闇Excelファイル これがまったく理解不能 属人とか闇とか言いたいだけちゃうんか、と そんな発言に賛同してくれるのは、あんたがた宗教の身内だけ
763 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 13:20:09.77 ID:a2F5EjYc.net] TreeViewなどにはライセンスの問題もあったような
764 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 13:24:41.83 ID:4tKBDgn4.net] 顧客も打ち合わせしても話し通じないならAIと打ち合わせしてコード出してもらった方がいいってなるよな
765 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 13:28:08.25 ID:RMq3dtvy.net] ぶっちゃけシステムなんてそんなもんだよ コンサルや名の知れたSIerに頼んだって必ず不満は出るし、結局使い物になりませんでした、なんてことも珍しくない ただし、VBAはユーザー側の人間が作ることが多いので、SIerみたいに「要件定義で決まった通りです」で逃げるわけにもいかないんだよね
766 名前:デフォルトの名無しさん [2025/05/21(水) 15:22:55.64 ID:r/haQ8U2.net] 仕様変更に合わせて納期も延長でいいんじゃね
767 名前:デフォルトの名無しさん [2025/05/21(水) 17:20:56.31 ID:RhMOdQAE.net] だいたい配布前提で整備したコード書けば属人化なんてほぼしないわけで 取り込む要望も無理にまとめず適度に分割してやればいいし 敵に抵抗できないコミュ障コーダーが悪いまである
768 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 17:33:31.94 ID:7nPavp7R.net] >>753 属人化の根源はコードそのものじゃなく脳内にしかない仕様だよ コードからwhatを読み取れないから属人化する
769 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 17:33:52.05 ID:7nPavp7R.net] whatじゃない、whyだな
770 名前:デフォルトの名無しさん [2025/05/21(水) 17:42:23.76 ID:RhMOdQAE.net] 根源とかどうでもいいんよ VBA少しできますくらいの他人が 適当にメンテしながら使っていけるコード書けって話でしかない
771 名前:デフォルトの名無しさん mailto:sage [2025/05/21(水) 18:08:10.91 ID:7nPavp7R.net] >>756 配布前提で書いたコードだろうと属人化するって話だから、 メンテしながら使おうが属人化はするよ
772 名前:デフォルトの名無しさん [2025/05/21(水) 18:16:53.95 ID:HDnlDCyv.net] こんげんかせんといかん
773 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 07:49:16.16 ID:ZB7yrtfi.net] Excel属人化教の方々は、その属人の定義をして欲しい 属人の何がいけないのか? 全員が同じレベルに成れと言い募ってるのか? フルオープンにしてコード見れば説明書に成ってる程の成果物を作れと言ってるのか? それとも、いけない事は無いがただ単に属人って言葉に魅了されて使ってるだけなのか?
774 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 07:59:10.35 ID:ZB7yrtfi.net] WhyやWhatが読み取れないからメンテ出来ない ってんなら、じぶんのWhyやWhatで作り直せばいい それを持ってた奴が前作を作ったんだしそれが使えてきてたって事実は変わらん おれにはできねえってんなら、前任者より能力が劣ってるということになるし、才能ある奴を 新たに採用するように働きかけする必要がある シン成果物を作れる能力あるなら、前任者をつべこべこき下ろしてる時間はムダでしかない 成果物-1.0でもいいけど
775 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 08:28:50.00 ID:cWZ2SmFA.net] >>760 書き間違えたのは申し訳ないが
776 名前:、whatはコードから読み取れるんよ whyは何故その処理をしているか?何故その方法を選んだか?何故そのアルゴリズムなのか? それら意図を完全に示す術はない コメントを残せって言われるのはつまりwhyを残せってこと whyを知らなければVBAに限らず、言語にも依らず、 あらゆるものごとは属人化する 属人化は必ずしも悪ではないけれど、 昨日の自分は別人ってことを鑑みれば効率が悪いことは明らか [] [ここ壊れてます]
777 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 08:29:26.28 ID:uEqc52DQ.net] 数年後の自分がメンテできるように作ればOK 人の能力はマチマチ、まだいない後任者のことを考えてもしゃーない
778 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 08:42:19.33 ID:cWZ2SmFA.net] 属人化はリスク要因となりえ、VBAは属人化する蓋然性が高いってことをわかった上で許容するのと、 わからず使う・属人化しないと信じて使うのとは大違いって話をしているに過ぎない 能力だの才能だの、シン成果物だの成果物-1.0だの、 手も頭も動かさない奴の言葉遊びほど虚しいものはないな
779 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 08:49:14.19 ID:iwrIvlAH.net] 属人化教なんて言葉を使っている時点で、もう何を言われても属人化の弊害なんて絶対認めないぞっていう雰囲気をぷんぷんさせているじゃない。このスレだけで何回この話題やるの? 一般に言われる業務の属人化というのは、特定の人がいなければ業務が回らない状態のことで、当該特定の人が休んだり退職したりしたときに業務が止まってしまうリスクがあることから好ましい状態ではないとみなされている。会社側としては業務内容を把握する従業員を複数人にしたり(1人に依存しない)、マニュアル化したりすることでリスクを低減化するのが通常の対応。 VBAはコード作成も実行もExcelだけでできるという特徴があり、このVBA固有の事情により、?専門のプログラマーが作成するコードに比べて一般にコードの質が低い、?会社側が把握しないうちに業務にコードが使われるという事態が生じがち。属人化の弊害が、特にVBAについて言われることが多いのはこれらの事情によるところが大きい。 要するに会社側から見て、属人化リスクを低減化する機会自体がなかったり(上記?)、コストを掛けて属人化リスクを低減化するほどの価値が見出せなかったり(上記?)というケースがVBAの場合には少なくない。 VBAがアイデンティティになっちゃっている人にはどう説明しても理解しないだろうなと思いつつ、一応説明するとこういうことね。しかし、属人化の弊害を否定したがる人って、見事なまでに会社側の視点が抜け落ちているのね。担当者個人の視点で、業務が多少効率化できるのならそれはいいことだという発想から出発してそこから一歩も抜け出ないのならそりゃ議論も噛み合わんわな。
780 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 08:52:23.13 ID:cWZ2SmFA.net] >>760 才能ある奴wがマニュアルをじぶんのWhyやWhatで作り直して大惨事になった、 東海村JCO臨界事故ってのもあったな
781 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 09:12:43.00 ID:ZB7yrtfi.net] Excelは属人化しやすい だからExcelで効率化を図る場合には、それに関わる部署・チーム・グループが 一丸と成ってそうならないような対策を施さなければならない 今後、対策されていない自動化は禁止する とかならまだわかる Excelは属人化ガー VBAは尚更ー を連呼してるだけで、何の生産性向上に繋がるんだ? アタマがひどく悪い一族に至っては「だからVBA禁止」のお触れまで出す始末 問題発生しないよう努力する必要もあるし、問題発生したらすぐさま対策を講じなきゃならないのは 何もExcelに限らんだろうに とりわけここ20数年で急に変遷進歩し続けてきてしまったPC作業に取り残された奴らの繰り言に近い そんなだから失われた40年とか揶揄されちまう 先を見て向上心持ってもっととんがらないと VBAに問題あるなら、それを解消することに全身全霊で打ち込みゃあいいだけ 何の解説者だか評論家気取りだか知らんが、悪いものを悪いと言う事なんか阿呆でもできる 悪い処は直し続けるてだけ
782 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 09:31:16.38 ID:cWZ2SmFA.net] >>766 属人化を悪いって言ってるのはあなた自身だろ 俺は属人化を悪いなんて言ってない 属人化を問題だと思うなら解決すべきなのはそりゃそうだし、 解決策の一つとしての全面禁止だって、俺なら選ばないけど理解はできる 属人化が何故生じるのかを議論することは、それを解消することにも繋がる 属人化する/しないの幼稚な二元論でまとめようとするのは、 頭を使ってない・使えないことをひけらかしてるに過ぎないよ
783 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 09:35:02.46 ID:mUoHJ/op.net] 従業員目線なら、属人化はイコール自分への依存度で価値だから、そりゃ手放さないわな
784 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 09:40:52.16 ID:cWZ2SmFA.net] 会社をプロフェッショナルの集まりだとすれば、 結局のところ仕事自体がどこまで属人化を突き詰められるかだから、 しょーもないことを属人化すんなって話なだけ
785 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 09:46:17.63 ID:ZB7yrtfi.net] 念仏唱えてるだけで、一向に前向きに対処しない・対策しようともしないバカ共を嘲って「教」を付けてる 属人の意味を、じぶんの中で咀嚼・消化してない/しようともしないで、ヨソで聞き齧った言葉をなぞってるだけ 「前にならえ・右にならえ」がDNAに刻み込まれてるこの国の人間にゃあ、それが心地いいのかも知らんが 誰がやらなくともおれはやる ぐらいの気概が欲しいところ と書くと、内容読まずに言葉尻だけ捉えて「それが属人化に繋がる要因だろ!」とか言い募る奴が居そうだが オープンな属人化なら大いに結構だろ ←これも語弊がある物言いだがw オープンにする努力を怠るな、と言ってる 制作する側もそれを使って効率を上げようとする集団も 共有ってそういうもんだろ そのグループ・集団は同じ目的(収益の向上)を持った集団のハズなんだ その目的達成の方にこそ目を向けろ 足引っ張って他人の粗探ししてつべこべ文句言ってるだけじゃあ、そのうち滅びる
786 名前:デフォルトの名無しさん [2025/05/22(木) 10:05:21.01 ID:cejl8MgF.net] >>760 時間が無限にあるのが前提ならそうだね
787 名前:デフォルトの名無しさん [2025/05/22(木) 10:07:32.69 ID:cejl8MgF.net] >>765 あれ実はノーベル賞もらえるレベルの改良だよな
788 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 10:23:06.55 ID:bEEUFRBb.net] >>765 裏マニュアルとは別の? ググっても分からなかった。
789 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 11:03:11.01 ID:j+nxGcrc.net] 質の低いコードを公開されたって迷惑なだけなんだって。VBA命の人は、まさに収益向上の観点からVBAはメリットより害の方が大きいと判断する会社が少なくないってことをどうしても受け入れられないみたいね。 VBA = 生産性向上・業務効率化という無邪気な信念を持っているみたいだけど、多くの会社はVBAをそのようには
790 名前:評価していない。会社が本気でコードによる生産性向上・業務効率化をするつもりなら、どのような言語を選定するにせよ継続的な管理コストは必要になるわけだけど、それならVBAではなく、もっとちゃんとした言語でやりたいというのが普通なわけ。非プログラマ社員の内製VBAの改変履歴を管理したり、マニュアル作ったりなんてしたくないのよ。 [] [ここ壊れてます]
791 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 16:37:21.75 ID:ZB7yrtfi.net] さすが >>774 を取るだけの素質を持ち合わせた人間の発言だなw ExcelVBAスレでExcelVBA不要論を、あまり意味の無い言葉を並べ立てて講釈するとは 内製であれ外注であれ、その業務を賄うにはExcelで充分という案件は想定して無いだろ? そういう案件に限ってという前提ならExcelVBAでいいじゃないか ダメな理由を語りたいがためだけに持ち出した事例が、一向にその役目を果たしてない どんなコードだろうと「質が低い」と判断できる能力を持ち合わせてるんなら、それを ブラッシュアップするなり作り変えるなり その方が百万倍コストの面でメリットだろうに どんな大袈裟なプロジェクトと比較してンの? んで、それ比較する意味あンの? あんたの中ではあるのかも知らんけど、世間一般では無意味だ とおれは思うよ
792 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 17:36:10.44 ID:cWZ2SmFA.net] >>775 少なくないってのを100%と解釈してるのか? ダメだと判断する会社が多いってだけで、 良いと判断する会社が無いなんて書かれてないぞ 変なバイアスかけてレス読んでる様に思える んで、ブラッシュアップなり作り変える(替える?)ことのどこにコストの優位性があるんだよ 無駄なコストを支払ってることに気づけないような奴が、 他人の発言の意味の多寡の判断なんてできないだろ 可か不可か、良いか悪いかみたいな単純な話にしないと理解できないポンコツ自慢はもうやめてくれよ
793 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 17:36:37.38 ID:Fv3bLhDj.net] Excelで十分かどうかというのはあまり意味のない尺度だと思うけどね。 Excel VBAの案件って既存物のメンテを除けば基本的に現状ワークシート等での手作業を省力化したいというものだから、 そりゃExcelで十分に決まってる。元々人力でできる程度に細分化された業務なんだから。 VBAが批判されるのは、まさにそういう個別最適化の積み重ねによって細切れ(≒属人的)で非効率な業務プロセスが保存される傾向があるため。
794 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 19:51:20.63 ID:RAnqaH1V.net] 多くの会社から見て業務でVBAを使ってもトラブルが起きにくいパターンというのは主に2パターンあって、@重要なコードだが、何らかの理由で他の言語が使いにくい事情があるため、専門のプログラマに頼んできちんとしたVBAコードを書いてもらう場合。この場合、当然、VBA社員の出番はない。要するに、通常のシステム開発と同じだが、特定の事情により選定言語がVBAになるケース。もう一つは、Aあまり重要な業務ではないので、質の低いコードでも構わない場合。個人の裁量の範囲内でVBAの使用を認める会社というのはこっち。要するに個人で責任を取れる範囲内なら、会社は管理コストを掛ける必要もないし、担当者の裁量でVBAを使うことを禁止するまでのことはしないくても良いのではないかいう発想。それなりに合理的ではある。 逆にいうと、上記@Aいずれにも当てはまらないような使い方は、会社からするとリスク・コストを感じやすい。個人の裁量の範囲を超えて、非プログラマの書いたコードを業務に使用するような場合とかね。書いた本人はコードをオープンにしてブラッシュアップすれば良い、コストの面でも有利だなんて無邪気にのたまうけど、会社からすればそんな価値の低いものに管理コストを掛けたくない。仮に継続的な管理コストを掛けるならもっと価値のあるものに掛けたいわけ。はっきり言えば、新しく書き直すときでさえそういう既存のコードなんかない方が良い場合も多い。業務に使われている既存のコードがあるとなれば、どんなに酷いものであっても一応読まないわけにはいかないからね。 非プログラマの書くコードという括りで論じる限りは、Excelで十分な業務というより、低質なコードで十分な業務かというのが基準になるかな。それだって会社の方針次第だが。会社が全面的にVBAの使用を禁止しているような場合もあるからね。
795 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 21:02:03.17 ID:aXwvtPcZ.net] VBA禁止な reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Excel\Security" /v "VBAWarnings" /t REG_DWORD /d 4 /f
796 名前:デフォルトの名無しさん mailto:sage [2025/05/22(木) 22:58:58.92 ID:zdx+eNOi.net] 名前付き引数省略は害悪。全てキッチリ書け
797 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 08:26:51.53 ID:oLOrCYhj.net] 「多くの会社」を、それぞれが想定してる規模が違うような気がする 経産省のサイトを参考にすれば、商工業それぞれの規模から比較したら 小規模(社員数20人以下)のが俄然大半を占めてる(かつては零細と呼ばれてた) 製造業は九割に近付く勢いだし、小売業や飲食業も八割、卸売業は五割程度だが 「多くの会社」とひとまとめにする場合は、これらを指すのでは無いのか? 社員数2,000名以下の中規模とかをもって「多くの会社」と呼び為してる気がしてならない 小規模は、持ち合わせてる武器で戦うのがいちばん効率的なんだが 持ち合わせてるExcelだけで戦えるなら、それをフルに活用しない手は無いだろうに その実態を知ったうえで「多くの会社」と書いてるんだろうか
798 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 09:06:27.49 ID:RtFNfP1s.net] 人手に余裕のない小さい会社こそ差別化要因にならない業務にはSaaS使うべきなんだよ SaaSは企業規模に対する課金が多いため、むしろ小規模な企業の方がコスト効率も良くなる場合が多い
799 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 10:16:56.42 ID:38AbBGg0.net] VBAの属人化リスクの議論って、むしろそういう小規模な会社こそが最も意識すべきことでしょ。中規模以上の会社なら、そもそも低質なVBAコードに業務を依存させるような間抜けなこと自体があまりないだろうし、仮にそういう事態を生じさせてしまっても、最悪追加コストで何とかできなくはない。 小規模会社には、VBAを「効率的」な「武器」だと思いこんで飛び付いて、必要な管理もしないまま「フルに活用」した挙句、にっちもさっちもいかない事態にしてしまったところが少なくなかった。その教訓としてVBAの属人化リスクが意識されるようになったんだよ。 「武器」にならないとまでは言わないが、そんなに大したものではないし、トータルで見れば「効率的」でもない。好んで「フルに活用」するようなものでもない。そういうVBAの等身大の実像が会社サイドに把握されるようになっただけの話。 「小規模は、持ち合わせてる武器で戦うのがいちばん効率的なんだが 持ち合わせてるExcelだけで戦えるなら、それをフルに活用しない手は無いだろうに」(>>781 ) 多くの会社はこの後半部分が幻想に過ぎないことに既に気付いているが、VBAerには未だにこの幻想にしがみついている人が居るということ。
800 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 13:22:41.57 ID:oLOrCYhj.net] >必要な管理もしないまま「フルに活用」した挙句、にっちもさっちもいかない事態にしてしまったところが少なくなかった ここの事例を具体的に読ませてくれるサイトとかあるん? 統計とか? 文末を「・・してしまったところはほぼ無い」と書き換えてどっかで紹介して、それを鵜呑みにした読者がヨソでお披露目しても 気付かれないでしょ? おソースプリーズな言説 判り易く例として社員20人だとして、事務要員4人は
801 名前:規模に対して多い 大抵は現場と掛け持ちで4〜5人ならまだ普通 事務専任で1〜2人なのが一般的な見立てだろうと思う そのうち一人が丹精込めてVBA育ててたけどあいにく辞めた 他の人間は便利に使わせてもらってたけど、いざ辞められたらVBAだれもチンプンカンプン ならまだ有り得る だからって、それが直接「だからVBA禁止!SaaSに移行!」って成ると頑なに信じてる?それ薦める? 小規模なら小規模なほど環境の変化を嫌うんだ あるものを何とかして使い続けられるならそうしたいってのが人の世の常 多少の手直し必要に成って助力が必要な状況なら、コネ使うなりしてでもそのものを使い続ける工夫に走る タイミング良く同質のものを安価で提供できる業者とかが出てきて、それのサポートも請け負ってくれたりしたなら ソッチに移行していくことはあったとしても、未知のサービスに賭けて投資してそれが自社の実態に即さなかったら 目も当てられない そっちのがリスキーだしその費用は丸々損害に等しい(授業料てか どこの会社も業種が一緒なら業務も一緒だと思ってたら大間違いで、その会社独自の仕組みを持っていたりする それに即して自在に加工できる道具として見ればExcelほど便利なものは無いのも事実 上では商工業を書いたけど、他にも建設、運輸・運送、士業えtc あらゆる業界で現実にExcel VBAが幅広く活用されてる 現実を鑑みても「ExcelのVBAは属人化しやすいから禁止」を言い張って止まないンなら、言い続けてりゃいいけどさ 書かれるたびにおれがしゃしゃり出てつべこべ反論してりゃいいんだろうし [] [ここ壊れてます]
802 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 13:35:20.91 ID:+XeHUCKJ.net] どのように属人化するか・どの様に防ぐかの話題から、 属人化対策として禁止するか否かの話に
803 名前:デフォルトの名無しさん [2025/05/23(金) 15:19:50.38 ID:eOaMEV2I.net] 最後に 知らんけど ってつけた方がいいんじゃんね 知らんけど
804 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 15:21:21.07 ID:mEX1XvmT.net] >>784 他の手段と比較してどうかはともかく、事実としてVBAが問題を起こすことが多いからあんたに仕事があるんだろ? だったら属人化万歳くらいで流しときゃいいのに、いちいち突っ掛かってたら余計なストレスを作るだけだぞ 心配しなくても、あんたが顧客としているような会社は、全体最適云々を語るコンサルやシステム屋は相手にしない まあSaaSについては結構小さいところもわりと積極的に営業するから敵になるかもね
805 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 15:53:12.83 ID:dHvUhuhP.net] 長くてわかりにくい スパゲッティ文章はやめろ
806 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 16:24:52.89 ID:oLOrCYhj.net] うん、途中からどうも話が噛みあわないな、とかは思っていた ひと頃「ExcelのVBAは属人化しやすいから禁止する企業が増えてる」とかのたまう輩が徘徊してて おま、それ、何もExcelに限らんだろ っつー意味で反抗してたし、そんなアホ論をこのスレで 平気で吹聴してる奴に向けて言葉のげんこつしてたんだけど どっか行っちゃったんか? 所詮、世間は、世の中は属人三昧だろ? それで右往左往世界が悪い方向に向かってる実例を まざまざと目の当たりにしてる真っ最中だろ? で、それが悪かどうかなんか、もう少し様子を 見極めなきゃいけないまである なんでわざわざこのスレをターゲットに、VBAは属人化!!!とか言い募らなきゃならん? どこの回し者だ?、と 細かいこと言えば、じゃあってんでこれでもかっつー関数並べ立てて複雑怪奇な数式を組んだ WorkSheetはどうなんだ? 属人化の極みだけどそれはいいのか? 見た目xlsxならおkなのか? と 至るスレで属人化!属人化!!属人化!!!と連呼してるならまだわかるが、なんでExcelスレ限定 で、こないだ別件で「Excel 売上管理」とかでネットをモゾモゾしてたら、そこら中の売上管理アプリの 宣伝サイトが、形ばかりのExcelのサンプル載せて「しかしExcelは属人化」っつー文言を決まり文句の ように添えてたんだ ははぁ〜ん、とね、ある意味腑に落ちたし別の意味でがっかりしてたんだ 言い募る連中が自分の言葉でその悪弊を語れなくて「ネット見ろ」とか返すしか能が無かった理由が判明 そんなサイトだけじゃ無いのは承知してても、結局自分の意見として主張してンじゃなくて、受け売り 余所で聞きかじったのをなぞってるだけのレベルなんだな、と しかし、少なくともこのスレに居続ける人間なら、ExcelのVBAで効率を図ることに意欲的であって欲しい 他のがいいよ、って奴はその宣伝だけして書き逃げしてて欲しい まだまだExcel もっともっとVBA であり続けることが、このスレの健全化に貢献するはずなんだから すぱげってぃwww 読み飛ばせばいいじゃんか 読んでくれなんて頼んで無いぞ?
807 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 16:44:22.04 ID:HIpPOdnz.net] スレタイ
808 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 16:53:05.49 ID:fshmIkkH.net] xlsmって唐突に未知のウイルスの疑いのあるファイル扱いになったりする事もあるから何も知らない人は扱うのが怖いかもね
809 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 17:18:49.63 ID:4lmOgu2G.net] VBA職人が揶揄されるのも分かるわ。 ところで、仮にVBA職人、Ruby信者、Haskell信者、Rust信者で比べられたら、やっぱりVBA職人が圧倒的に格下扱いされちゃうのかな。ちょっと悲しみ。
810 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 17:28:32.52 ID:U7YdU8g0.net] VBAがそれらと同列に比較されることはないから互いに眼中にないと思うよ Excel VBAはピボットテーブルとか分析関数とかと同列の、Excelの上級スキルの一つに過ぎない 一般的なプログラミングとは別物 そのへんのエンジニアより、むしろBIツールがメインのデータアナリストなんかの方がVBA意識してるよ
811 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 17:34:04.21 ID:4lmOgu2G.net] なるほど、そんなものかねぇ。
812 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 17:39:18.56 ID:+XeHUCKJ.net] >>789 文意の分からん文章書いてて噛み合わないもクソもないだろ 伝える気ないなら書くな 読ませる気無いなら書くな 話を曲解して変な方向に話を誘導してるのはあんた自身だ
813 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 18:31:41.70 ID:5vSRBrjF.net] 言語にすぐ上だ下だ騒ぐ奴いるからな
814 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 18:59:01.81 ID:BlARSTzn.net] 言語じたいは下の下 反論する奴すらいない
815 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 19:12:24.88 ID:K4ioF38n.net] 構文として最低限どんなものがあって欲しいかっていうのは人によって違うからねぇ。いまは、JavascriptとかPython辺りが平均的なラインなのかな。まぁ、関数型言語等のユーザーから見ればJavaScriptとかPytnon辺りでも足りないものだらけということになるんだろうし、VBAでも慣れればそんなに不自由ではないよという人も大勢いるわけだしね。
816 名前:デフォルトの名無しさん [2025/05/23(金) 19:54:42.34 ID:ybuGJY2P.net] C言語育ちのワイ、VBA始めた頃「えっ、ポインタってどうやって使うの?」って戸惑った思い出 自分の仕事が楽になる
817 名前:p途で使いまくってるからまぁ属人化しまくりだけど、 自分が退職した後(2年後)は知らんと思っている [] [ここ壊れてます]
818 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 20:17:02.36 ID:dHvUhuhP.net] この辺がつらい ・tryがない ・for eachがバリアントのみ ・continueがない
819 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 21:01:05.99 ID:61koEGUg.net] まぁ、なければないで何とかやっていけるもんだよ。 このスレではそう言っておくのが無難。
820 名前:デフォルトの名無しさん [2025/05/23(金) 21:05:52.61 ID:fxCKrz9G.net] >>799 C言語にはfor eachがない、なぜならもっと原始的、シンプルな言語だからってCopilotに聞いたのですが本当なのでしょうか?
821 名前:デフォルトの名無しさん mailto:sage [2025/05/23(金) 21:21:09.60 ID:eG6EJpyW.net] >>802 ポインタに++すれば次の要素になるからむしろCのほうが融通が効く
822 名前:デフォルトの名無しさん [2025/05/23(金) 22:01:59.52 ID:ai481srR.net] 4行以上のレスは読む必要無いってマジだな
823 名前:デフォルトの名無しさん [2025/05/23(金) 22:09:05.20 ID:4KSUIwLz.net] ぬるぽ
824 名前:デフォルトの名無しさん [2025/05/23(金) 23:17:20.35 ID:fxCKrz9G.net] >>793 データアナリストならパワークエリーしてほしいな
825 名前:デフォルトの名無しさん [2025/05/24(土) 06:17:34.64 ID:OSW0csek.net] 属人化し易い言語と言うことは融通の利く言語と言うことでもある。 例えば、CやC++ではポインタが使えたけどC#では「それは危険だ」ということで使えなくなってしまった。 代わりにデリゲートを使ってセーフティーに参照しなさい、ってことなんだろうけど、まぁお仕事用の開発だったらそれでもいいのかもしれないけど、 昔PS-VITAってゲーム機があって、これがエクスペリアってスマホとクロスプラットフォームで開発できるように開発言語をC#にしてしまった。 ポインタは確かに参照先間違えると吹っ飛んだりメモリリーク起こしたりと危険なものではあったけど、扱いが面倒ではないし融通の利く機能だった。 それを潰してしまったことがPSPシリーズがVITAで終わってしまった原因ではないかと今でも思ってる。
826 名前:デフォルトの名無しさん [2025/05/24(土) 06:41:52.12 ID:OSW0csek.net] >>798 JavaScriptをやったときには 前から.Net系の言語や、まぁVBAでもそうなんだけど、 何でクラスのインスタンスや文字列とかは変数に入れられるのにメソッドは入れられないんだろ? って思ってた時期があって、 JavaScriptに当たったとき、 あ、出来る言語もあるんだってなって、あれVBAに欲しいなぁとは思った。 後はスクリプト系の言語はスカラー変数で型の指定がないから型の指定に慣れてると逆にそれが面倒だったかな。 VBAで言えば全部Variantで扱ってるようなもんだし。厳密には違うらしいけど。
827 名前:デフォルトの名無しさん mailto:sage [2025/05/24(土) 10:35:16.26 ID:sJ/mZ3mU.net] 若いコにはやっぱPython辺りが人気とか?
828 名前:デフォルトの名無しさん mailto:sage [2025/05/24(土) 13:44:59.73 ID:3VNn3d5Y.net] スピル周りやLET,LAMBDAなどの関数が充実し Excel=ビジュアルな関数型言語だと勝手に思っている
829 名前:デフォルトの名無しさん [2025/05/24(土) 14:39:09.90 ID:a4AdJqTs.net] ビジュアルな関数型言語はemacs-lispだろ
830 名前:デフォルトの名無しさん [2025/05/24(土) 15:44:49.02 ID:0gUvgwlc.net] 表検索するのにSQL使ってたけど、FILTER覚えたら単純な検索ならこれでいいかー、ってなった
831 名前:デフォルトの名無しさん [2025/05/24(土) 20:17:19.55 ID:c7V+L981.net] このスレはバカの話はなぜ長いのか考えるスレになりました
832 名前:デフォルトの名無しさん mailto:sage [2025/05/24(土) 20:41:36.84 ID:6QA0+Pxw.net] 頭の良い人は難しいことを簡単に説明出来る 馬鹿は簡単なことを長々と判り難くする
833 名前:デフォルトの名無しさん [2025/05/24(土) 20:44:24.68 ID:OSW0csek.net] >>813 正直すまんかった 久しぶりにVBAスレ来たからつい・・・ でもVBAはいい言語だと思うよ
834 名前:デフォルトの名無しさん mailto:sage [2025/05/24(土) 21:07:47.86 ID:cYe6QRvj.net] VBAは言語なのだろうか VBは言語だけども
835 名前:デフォルトの名無しさん [2025/05/24(土) 21:42:51.33 ID:ZMjSY/PV.net] A1セルはこのフォルダのパスを記入する A2セルはこのフォルダのパスを記入する 流石にこれは通じる、、、よね?
836 名前:デフォルトの名無しさん [2025/05/24(土) 21:44:12.53 ID:ZMjSY/PV.net] >>816 チューリング完全がプログラム言語の定義なのでしょう? だったらVBAはプログラミング言語なのでは
837 名前:デフォルトの名無しさん mailto:sage [2025/05/24(土) 22:37:10.39 ID:iK5rs3WU.net] A1 Write this folder pass.
838 名前:デフォルトの名無しさん [2025/05/25(日) 12:18:28.20 ID:IvH5YvLQ.net] dictionaryやFileSystemObjectのfunction関数を使っているけど、dictionaryに登録する処理や取得したファイル名やファイルパスに対する操作は事なる こう言う場合、どうすれば個別の条件にも対応できるfunction関数が作れますか?
839 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 12:36:22.85 ID:ubpRgCst.net] 異なる操作をひとつの関数で行いたいという質問ですね! まずはどういう操作を行っているのか教えてください!
840 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 12:45:27.58 ID:czPn1bap.net] dictionaryは死ぬ予定だから使うのやめなよ
841 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 12:53:50.40 ID:ubpRgCst.net] >>822 そうですね! Excelなのだからデータはワークシートに格納するのがスジですね!
842 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 13:20:14.05 ID:fZ8kzLje.net] AIみたいな解答ワラタ
843 名前:デフォルトの名無しさん [2025/05/25(日) 16:48:27.92 ID:zOE9ehCa.net] ホントにAIに聞いた。 個別の条件にも柔軟に対応できる function を作るには、いくつかのアプローチが考えられます。例えば、以下のような方法を試してみてはいかがでしょうか。 1. パラメータを活用する 2. Enum または定数を使う 3. コールバック関数を使う
844 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 17:36:59.25 ID:QBoxveBd.net] 何をしたいのかが謎 型によって処理を分岐させたいってことかね Function 関数(処理対象) 型名 = TypeName(処理対象) Select Case 型名 Case "Dictionary" Case "File" Case "Folder" End Select End Function
845 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 18:31:50.10 ID:czPn1bap.net] >>823 そういう話じゃなくVBS廃止の副作用で連想配列や正規表現が死ぬって話
846 名前:デフォルトの名無しさん [2025/05/25(日) 18:42:26.13 ID:rOBfPREU.net] >>827 VBS廃止の副作用で死ぬのは噂や推測じゃなくて公式の情報なの?
847 名前:デフォルトの名無しさん [2025/05/25(日) 19:07:30.81 ID:IvH5YvLQ.net] ファイルシステムオブジェクトでフォルダの中のファイル名一覧と、ファイルパスを取得したい時もあれば、 ファイル名に部分一致するファイルのパスを取得したい時もある
848 名前:デフォルトの名無しさん [2025/05/25(日) 19:13:49.79 ID:5C/Jye7Q.net] 従来の正規表現の代用って無いの
849 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 19:54:07.08 ID:czPn1bap.net] >>828 逆にあれだけ情報出ててなんで死なないと思うの? https://techcommunity.microsoft.com/blog/windows-itpro-blog/vbscript-deprecation-timelines-and-next-steps/4148301 >>830 vba-regex by sihlfallっていう、 RegExp代替のフルVBAで書かれた正規表現エンジンがある
850 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 19:58:13.45 ID:bo3VS07C.net] >>829 はい! if文で条件分岐すれば、簡単に実現できます!
851 名前:デフォルトの名無しさん [2025/05/25(日) 20:04:43.89 ID:IvH5YvLQ.net] 私はVBAの正規表現が死んだら、パワークエリーでJavaScriptの正規表現を使うわ set オブジェクト = nothingって必ずした方が動作が確実になるのでしょうか? Wordのドキュメントやアプリ
852 名前:ケーションを処理する時にエラーが出たのでそう思いました。 [] [ここ壊れてます]
853 名前:デフォルトの名無しさん mailto:sage [2025/05/25(日) 22:03:34.39 ID:QBoxveBd.net] 正規表現はREGEX関数が実装されたのでVBAでやる必要なし
854 名前:デフォルトの名無しさん [2025/05/25(日) 22:32:05.60 ID:d/seLvao.net] >>822 知ったか乙 良く調べて書き直せ
855 名前:デフォルトの名無しさん mailto:sage [2025/05/26(月) 02:34:52.38 ID:J879X3+V.net] >>835 Microsoft Scripting Runtimeに依存してるからVBSと共に死ぬ FSOなんかはScripting Runtimeには依存してないから引き続き使える 間違ってるなら指摘して 認識改めるから
856 名前:デフォルトの名無しさん mailto:sage [2025/05/26(月) 09:38:22.00 ID:G1Vrdcz4.net] >>820 が聞きたいのは https://www.limecode.jp/entry/syntax/bind-set-filesystemobject この辺の処理の仕方なんでは? 最後まで精読すれば、どういう書き方をすれば より都合が良くなるか、それなり理解が深まるような
857 名前:デフォルトの名無しさん [2025/05/26(月) 09:53:10.39 ID:wHcYCN0P.net] >>833 >set オブジェクト = nothing それ書かないで過去に何度か問題起きてたような ファイルopenして、close書かなくても勝手に閉じてくれるとしても、書いたほうがいいようなもん たった1行各程度で未然にトラブル防げるなら書いとけと (かと言って、親オブジェクトから連なる小オブジェクトはいちいちnothingせずに、親オブジェクトだけ書いちゃうことも多いけどな。小さい処理だと特に)
858 名前:デフォルトの名無しさん [2025/05/26(月) 12:08:21.83 ID:chNfFSjB.net] >>836 間違えている どのDLLに何が入っているかだ
859 名前:デフォルトの名無しさん [2025/05/26(月) 13:55:33.90 ID:cvwCoF8H.net] >set オブジェクト = nothingって必ずした方が動作が確実になるのでしょうか? した方が良いじゃなくてするべき
860 名前:デフォルトの名無しさん [2025/05/26(月) 17:21:30.90 ID:c1JRhLC0.net] コピペ荒らしこのスレだけ来ないの面白いな
861 名前:デフォルトの名無しさん [2025/05/26(月) 18:35:02.01 ID:FaOK97dk.net] >>837 すみません 今の私は例えばファイルシステムで言えば、 フォルダの中の全てのフォルダ名とフォルダパスを取得 フォルダの中の全てのファイル名とファイルパスを取得 フォルダの中に指定のファイル名と異なるファイルがあれば削除 と言う様に、 それぞれのサブプロシージャを作成する事しかできていません なので、一つのサブプロシージャに条件に応じて複数の処理が行えないかなと思いました 原作論で言えば、一つの処理しかできないサブプロシージャこそ正しいのかもしれませんが あと、それぞれのプロシージャでファイルシステムオブジェクトを宣言とセットをしてしまっています nothingは今までプロシージャを抜けた時点で解放されるから特にする必要がないと思っていましたが、Wordを操作する様になって、nothingをしないと処理が止まってしまうので意識する様になりました
862 名前:デフォルトの名無しさん mailto:sage [2025/05/26(月) 19:11:18.49 ID:mCaBFscc.net] Sub Yaritai(i as integer) if (i and 1) <> 0 then Call Sub1() elseif (i and 2) <> 0 then Call Sub2() End Sub
863 名前:デフォルトの名無しさん [2025/05/26(月) 20:30:26.44 ID:sP5+kUYx.net] >>842 ご自分で言ってる通り、ひとつのモジュール、関数、メソッド等にはひとつの役割を与えて作るのがセオリーです。ちなみにそれを単一責任原則と言います。 ひとつのプロシージャ内で出来るかと言えば、再起処理やStaticな変数を上手く使えば恐らく出来ないことは無いでしょうが、そうするメリットをあまり感じません。 ひとつのプロシージャで処理するのではなく、ひとつのクラスとしてその辺の処理を行うことを検討しては如何でしょうか? そうすればメンバ変数として宣言したもののインスタンスをコンストラクタで生成することも出来ますし、デストラクタで解放することも出来ますよ
864 名前:デフォルトの名無しさん [2025/05/26(月) 20:36:57.49 ID:sP5+kUYx.net] ×再起処理 ◯再帰処理 誤変換すまんこ
865 名前:デフォルトの名無しさん [2025/05/26(月) 21:18:23.47 ID:FaOK97dk.net] >>844 クラスモジュールを一通りやった事がありますが、いまいちクラスモジュールの使い方を知りません どうすればそれぞれの機能をクラスモジュールで効率的に実装できるでしょうか?
866 名前:デフォルトの名無しさん mailto:sage [2025/05/26(月) 22:59:03.14 ID:Eh03XDLb.net] セルから機種依存文字を直接拾ってくるのは難しいですか? 例えば☐(unicode:2610)が入ってるセルをクリックすると☑(unicode:2611)に書き換える、みたいなのを実装する場合、 if(Range("A1").text="☐")then だとRange("A1").textでセルの文字は取得できませんよね? (もちろん「="☐"」で直接比較することもできませんが) どうにかしてセルの機種依存文字を拾ってきてその種類を判定することは可能でしょうか?
867 名前:デフォルトの名無しさん mailto:sage [2025/05/26(月) 23:15:54.66 ID:MWZ/4kNq.net] >>847 Hex(WorksheetFunction.Unicode(Range("A1")))
868 名前:デフォルトの名無しさん mailto:sage [2025/05/27(火) 15:49:48.18 ID:j5Gfr/Ar.net] >>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
869 名前:デフォルトの名無しさん mailto:sage [2025/05/27(火) 17:59:07.28 ID:2OPk25Mu.net] >>848 解決しました。 ありがとうございます。
870 名前:デフォルトの名無しさん [2025/05/27(火) 20:17:39.42 ID:3QS90eHP.net] Excelの話ではないからスレ違いなんですが、 Wordのドキュメントの2ページ目の行に文字列を挿入するにはどうしたらいいでしょうか? 2ページ目の〜行目にと言う様な指定はできないのでしょうか?
871 名前:デフォルトの名無しさん [2025/05/27(火) 20:38:35.17 ID:0hlUsnMF.net] >>851 スレチとわかっていて厚かましい 死ね
872 名前:デフォルトの名無しさん [2025/05/27(火) 20:52:46.35 ID:OuONf5SF.net] >>852 この馬鹿モンが! >>851 いい質問ですね ExcelのほうがメジャーでWordはマイナーなのだけど WordのVBAをはじめた人にとっては初期段階でやりたい操作なのではないでしょうか? 簡単ではないですが解決策はあります たしかinformationみたいな名のプロパティを使ったような気がする (もうWordVBAは数年使ってないから忘れた) ChatGPT使えば教えてくれるかも
873 名前:デフォルトの名無しさん mailto:sage [2025/05/27(火) 20:54:35.84 ID:DtCiAPP8.net] >>853 死ね
874 名前:デフォルトの名無しさん mailto:sage [2025/05/27(火) 22:13:59.20 ID:JUnNHiQe.net] >>851 ActiveWindow.ActivePane.Pages(2).Rectangles(1).Range = "文字列" & ActiveWindow.ActivePane.Pages(2).Rectangles(1).Range
875 名前:デフォルトの名無しさん [2025/05/28(水) 00:45:03.58 ID:7WzKj5D7.net] フォームを作るのに標準のコントロールやAPIでは動かないことがあったから、ついにPowershellで作り始めちゃった
876 名前:デフォルトの名無しさん mailto:sage [2025/05/28(水) 01:00:15.46 ID:+7HocyMO.net] PowerShellは System.Collections.Genericが使えるからかなり楽だよなぁ VBAと違ってフォームデザイナが標準で付いてないのが難だが
877 名前:デフォルトの名無しさん [2025/05/28(水) 07:40:29.71 ID:LbsE8EcH.net] VSの方が楽なんでは PS使ったことないけど
878 名前:デフォルトの名無しさん [2025/05/28(水) 08:42:06.86 ID:WNN+73zR.net] PowerShellはbatと違って、一手間や権限設定が必要と聞いたからやめた震え声 本当にそうなのですか?
879 名前:デフォルトの名無しさん [2025/05/28(水) 08:58:57.33 ID:DZlhdmsz.net] 震え声で言ってるの?
880 名前:デフォルトの名無しさん mailto:sage [2025/05/28(水) 09:02:42.36 ID:3/66YXCT.net] スレタイを音読してみよう
881 名前:デフォルトの名無しさん [2025/05/28(水) 09:56:27.88 ID:0RI44N1Y.net] エグザイル ビバ しつもんしる
882 名前:デフォルトの名無しさん [2025/05/28(水) 20:05:51.40 ID:WNN+73zR.net] VBAでファイルやフォルダのパスはいつも一覧表で利用しているのですが、当然属人化するリスクがあるので、もっと柔軟にパスを設定できる方法を探しています。 今考えているのは、ファイルやフォルダが見つからなかった時にダイアログを開いてフォルダやファイルを選択させ、選択したファイルやフォルダのパスをセルに記入する、と言う方法なのですが、もっと簡単で確実で柔軟な方法はないでしょうか?
883 名前:デフォルトの名無しさん mailto:sage [2025/05/28(水) 20:44:52.08 ID:Z5h4paoG.net] 自分は設定シートを用意して、そこに記述してあるものを参照してる
884 名前:デフォルトの名無しさん mailto:sage [2025/05/28(水) 20:50:09.42 ID:bd87TuSw.net] ログインユーザーのマイドキュメントをルートにして開く 具体的には「HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Personal」 のパス
885 名前:デフォルトの名無しさん [2025/05/28(水) 21:40:10.79 ID:WNN+73zR.net] >>864 その設定用シートに 例えばフォルダやファイルを複数選択した状況で右クリックのパスをコピーでシートに貼り付ける という事さえも出来ない、わからない人も想定しないといけない訳で、、、
886 名前:デフォルトの名無しさん [2025/05/28(水) 21:58:53.67 ID://Fv0twK.net] >>863 エクスプローラーからファイルをドラッグドロップ
887 名前:デフォルトの名無しさん [2025/05/28(水) 22:16:15.52 ID:WNN+73zR.net] >>867 知らなかったです これができるなら本当に希望が見えてきました
888 名前:デフォルトの名無しさん [2025/05/28(水) 22:18:57.59 ID:QfAx2JsO.net] 馬鹿ばっか
889 名前:デフォルトの名無しさん [2025/05/28(水) 23:46:46.18 ID://Fv0twK.net] >>868 https://excel.syogyoumujou.com/memorandum/d_and_d_1.html このやり方が簡単そう
890 名前:デフォルトの名無しさん [2025/05/29(木) 07:11:07.31 ID:cC95Jm/J.net] >>870 よくよく考えれば当たり前なんだけど、ドラッグ&ドロップで追加する機能もあるんだ これは便利だ
891 名前:デフォルトの名無しさん [2025/05/29(木) 17:25:49.51 ID:fp+yAGdo.net] FileSystemObject の TextStream が使えないなら ADODB の Stream を使えばいいじゃない と思ったら挙動が違ってびっくり
892 名前:デフォルトの名無しさん [2025/06/01(日) 20:16:56.40 ID:wTah86rB.net] 初歩的な質問で申し訳ないですが、マクロ実行中にエラーなどでデバック画面、エディタ画面に移動せずに、エラーハンドリングなどを実行してプロシージャを終了するにはどうしたらいいですか?
893 名前:デフォルトの名無しさん mailto:sage [2025/06/01(日) 21:54:45.65 ID:fzXRF4Kq.net] >>873 On Error Resume Next
894 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 00:34:11.70 ID:14Td775l.net] [ツール] [オプション] [全般] エラーでトラップ ●エラー処理対象外のエラーで中断 ということではなくて?
895 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 00:35:28.23 ID:14Td775l.net] ×エラーでトラップ ◯エラートラップ
896 名前:デフォルトの名無しさん [2025/06/02(月) 07:36:05.35 ID:hx4qvUMZ.net] >>614 on error goto ラベル名 vba エラーハンドリング で検索して例を見た方が早いよ
897 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 08:46:36.26 ID:IeMpK/LE.net] >>614 そんなひとつのモジュールに詰め込んだら管理しにくいでしょ。 モジュールは分ける。
898 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 09:24:06.39 ID:3Ov4fjqk.net] >>878 何を基準にかを書かかないと役立たずじゃない?
899 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 15:03:33.91 ID:DSKTrfoz.net] 馬鹿はそんなことも判らないのか
900 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 15:07:32.82 ID:OjGRkHiP.net] >>880 スレタイ読めない馬鹿w
901 名前:デフォルトの名無しさん [2025/06/02(月) 19:50:00.14 ID:K2UVQp3e.net] >>614 ひとつのモジュールにはひとつの役割を ひとつのプロシージャにもひとつの役割を 与えて書けばいいんじゃない? もちろん、モジュールとプロシージャでは 与える役割が全然変わってくるけど 例えばモジュールに車という役割を与えたら プロシージャには走る役割を与えたり 後はセンス
902 名前:デフォルトの名無しさん [2025/06/02(月) 20:06:38.96 ID:Xhmb9taU.net] ありがとうございます やはり on error goto ラベル名 なのですね
903 名前:デフォルトの名無しさん [2025/06/02(月) 20:25:45.14 ID:gI3jZeU7.net] on error resume next ヤバそうな処理 if err.number<>0 then エラーリカバリー end if on error goto0
904 名前:デフォルトの名無しさん [2025/06/02(月) 20:45:44.86 ID:Xhmb9taU.net] >>884 エラーが発生している、あるいはしそうな処理がある、というよりは、マクロ実行中にどんなバグでも発生したら、発生した時点で終了させる必要があります
905 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 21:35:59.74 ID:nQl9pEtd.net] 終了前に err.number = エラー番号 をセットしてジャンプさせるハンドラがいる こわー
906 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 22:06:18.54 ID:ZCDsMgZ+.net] Sub Div0() On Error GoTo Err MsgBox 1 / 1 MsgBox 1 / 0 MsgBox 1 / -1 Err: MsgBox "ゼロで割るな、クソが" End End Sub
907 名前:デフォルトの名無しさん mailto:sage [2025/06/02(月) 22:26:41.07 ID:ncJUEcFA.net] Err: の前で Exit Sub しないと
908 名前:デフォルトの名無しさん [2025/06/03(火) 07:35:55.27 ID:o/OLh2ct.net] 異常が起きる前にファイル開いてた場合、closeしないで終了してしまうとかある
909 名前:デフォルトの名無しさん [2025/06/03(火) 07:39:00.03 ID:/ZJ1mBw3.net] VBAのツール作りは時間がかかるのが当たり前でしょうか? 作り方は分かっているし、作るツールもたいしたものではないのに、それでも1日2日では終わらないです
910 名前:デフォルトの名無しさん [2025/06/03(火) 10:48:59.43 ID:Kk3A2bVT.net] ものによる、人による、まともにテストしてるかにもよる
911 名前:デフォルトの名無しさん mailto:sage [2025/06/03(火) 10:57:06.67 ID:Q0vXXWY4.net] どうせ著作権侵害や不正アクセスツールだろ
912 名前:デフォルトの名無しさん [2025/06/03(火) 19:25:30.47 ID:gpacmpqZ.net] >>890 まぁそうだね だから綺麗に部品化しておくことが大事なんだよ それを後で使い回せるようにね
913 名前:デフォルトの名無しさん [2025/06/03(火) 20:26:44.49 ID:/ZJ1mBw3.net] 自分が勤めている会社で理解者や協力者を増やそうと、少しでもVBAに興味を示した人や、VBAを齧っている人を相手に勉強会を開催しても、結局VBAがわかる人は少ない という話を聞きますが、やっぱりVBAといえど、難しいのでしょうか? Power Queryでもそういう話を聞きます
914 名前:デフォルトの名無しさん mailto:sage [2025/06/03(火) 21:02:42.93 ID:cgHky4oh.net] VBAが難しくないんだったらさっさとVBA卒業して本職のITエンジニアになった方が稼げるからねえ 向上心がありすぎてもいけない、中途半端なツールなので
915 名前:デフォルトの名無しさん [2025/06/03(火) 21:09:44.47 ID:Kk3A2bVT.net] チンタラ残業代稼いでる人にとって効率化は最大の敵 VBAにしろRPAにしろ最大の抵抗勢力よ
916 名前:デフォルトの名無しさん [2025/06/03(火) 22:04:21.82 ID:gr7bEf2i.net] >>872 で愚痴って終わりなのもアレだから一応書いとく ・事象 FileSystemObject.TextStream.ReadLine と ADODB.Stream.ReadText(adReadLine) が同じ結果にならない ・原因 改行コードが CRLF と LF が混じったお行儀のよろしくないファイルだった ・対処 LineSeparator = adLF として Replace(ReadText(adReadLine), vbCr, "") とやったらOKだった
917 名前:デフォルトの名無しさん mailto:sage [2025/06/03(火) 23:26:25.06 ID:aKU11sxP.net] >>897 Microsoftのマニュアルよりも詳しい説明 ADODB.Stream: https://atsumitm.iobb.net/its/its-050.php TextStream: https://atsumitm.iobb.net/its/its-051.php
918 名前:デフォルトの名無しさん [2025/06/03(火) 23:46:58.61 ID:gpacmpqZ.net] >>894 VBAは比較的間口が広くてとっつき易い言語ではあるとは思うよ ただ、何の言語でもそうだけど教える人がいると受動的になりがちで聞いてりゃ分かるようになると思ってしまうのはマズい 聞いてりゃ分かるようになる言語なんて存在しない 分かる人が少ないのは結局、VBAを本当に必要であることを迫られる立場に無いからだと思う VBA出来なきゃ今いる会社をクビになるくらいに迫られたら大概の人は理解する でも教えてくれる人がいるということは恵まれたことだと思うよ このスレにいる大多数の人は恐らく独学で仕事場で使えるようにならざるを得なかった立場なんじゃないかな
919 名前:デフォルトの名無しさん [2025/06/03(火) 23:58:42.71 ID:/ZJ1mBw3.net] >>899 私も完全独学で覚えました というプログラミングは独学で学んでいる人ばかりではないのですか? プログラミングスクールは役に立たないし、かと言って会社は教えてくれない
920 名前:897 [2025/06/04(水) 00:06:22.21 ID:/Ak3M73b.net] >>898 このサイトぐぐるとよく見かけるようになったけど、詳しすぎて理解できないw
921 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 00:40:57.38 ID:b8XC2mTd.net] 自学できない人はダメだよね
922 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 05:30:19.54 ID:3c6clsCg.net] 独学って、大半の人は言語に固有の文法と、開発環境に依存する実行方法を覚えただけでしょ だからデータ型の違いとか文字コードとかアルゴリズムとかファイルシステムとか、基本がわかってないから別の言語に手を出せない
923 名前:デフォルトの名無しさん [2025/06/04(水) 06:02:44.09 ID:/hC9EQXc.net] ここ見てりゃわかるけど、コピペで動いて偉くなったつもりの馬鹿ばっかだから
924 名前:デフォルトの名無しさん [2025/06/04(水) 07:11:35.77 ID:jKpT1SFo.net] >>903 そうね それはその通りだと思うわ だから>>894 の言ってる教えている人が そもそものVBAの基本的な型やら 分岐や演算とかよく使うObjectの扱いとかを 最初に教えていることを切に願うわ
925 名前:デフォルトの名無しさん [2025/06/04(水) 07:34:51.95 ID:BFbm2+Cn.net] >>900 覚えるのは自分、教わったのに覚えてないようでは学べてない あと文法は覚えてもアルゴリズムは考えるもの 教わってないからできないって言ってるのは初心者以下な
926 名前:デフォルトの名無しさん [2025/06/04(水) 07:44:26.54 ID:f2CAL3f8.net] やる必要性がないからやらないけど、Pythonが簡単というならPythonだってわかる気がするし、C言語がFor eachもない様な単純な言語だというならそれはそれでできそうな気もする(Copilotがあるから尚更)。 ローコードにしろスクラッチにしろそれは同じ。 既製品のソフトウェアを導入するか、VBAで作成するかならどちらが安いと思いますか? もしVBAの方が安いなら世の中マクロだらけだと思うのです。
927 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 08:21:45.39 ID:B6zQeN2g.net] 誰も責任を負いたくない、率先して矢面に立ちたくない方々だらけだから
928 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 08:50:54.30 ID:yTwvetl9.net] >>907 マクロだらけだよ それらを管理する人(作成者)が抜けていくから管理不能になる そういった事象を解決する銀の弾丸としてRPAやノーコードツールが喧伝されたけど、 管理する人がいないって意味では同じなので同じことが繰り返されてる
929 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 10:16:27.04 ID:pOYKhOcI.net] >改行コードが CRLF と LF が混じったお行儀のよろしくないファイル CSVなら普通にあるな 行儀の問題じゃない
930 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 10:36:26.59 ID:yTwvetl9.net] 行儀だよ 少なくともRFC上においては行末がCRLFであると規定されてる ファイルの最後のみがどうでもよい
931 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 11:22:31.03 ID:ZuFYF6Nx.net] >>907 どっちが安いって、保守コストまで考えて言ってる? そりゃ作りっぱなしならVBAのが安上がりだけど、それじゃ後で困るって話をしてるんでしょ
932 名前:デフォルトの名無しさん [2025/06/04(水) 12:21:29.23 ID:pOYKhOcI.net] LFは行末じゃないよ
933 名前:デフォルトの名無しさん [2025/06/04(水) 14:36:42.79 ID:p0LJP29f.net] CSVの行改行と項目内改行が使い分けられてないわけが無い 使い分けられてなければ復元不可能になる
934 名前:デフォルトの名無しさん [2025/06/04(水) 14:39:56.22 ID:p0LJP29f.net] >>914 "あれば可能だが無いの見たことあるのよね…
935 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 16:28:29.01 ID:3c6clsCg.net] 標準の改行コードはOSによって違う CR、LF、CR+LF、LF+CR、すべてのパターンが実在する フィールドに改行やコンマを含めたい場合、レコードの区切りと違うコードを割り当てる場合もあれば、クォートなどの記号でフィールドの範囲を明示する場合もある Windows版Excelはダブルクォートでフィールドの範囲を指定するのが基本
936 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 16:30:20.58 ID:3c6clsCg.net] >>915 それは固定長かセパレータ(コンマ)の数をカウントしてるかどっちかかな
937 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 18:23:31.04 ID:RQn0r/Lq.net] >>916 CR MacOS(UNIX化前) LF UNIX、MacOS(UNIX化後) CR+LF Windows、DOS LF+CR ← なんてOS?
938 名前:デフォルトの名無しさん [2025/06/04(水) 18:39:20.47 ID:f2CAL3f8.net] >>909 RPAにしろ、ノーコードにしろ、なんにしろ、そうなりますよね。 結局社内でどれだけ学習意欲のある人を揃えるかによりそう。
939 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 19:22:49.50 ID:7S8kDVf/.net] >>913 由来のタイプライターを鑑みたらLFは本来行頭に来るべきものだけど、 現実的には行末
940 名前:デフォルトの名無しさん mailto:sage [2025/06/04(水) 19:55:51.24 ID:frrYvMiA.net] 頑張ってVBA勉強したところでプログラミングスキルとしては流石に時代遅れ&最底辺だし、 事務員としてスキルアップしたいならツールに入れ込むより業務知識を強化した方がいいし、 組織の中で出世したいなら自分でVBA書くより他人に書かせて継続的にスケールする仕組みを作るべき そして、めでたく業務効率化できたとして、いず」行き着く先は「脱Excelで属人化解消&業務効率化」でVBA職人は悪者扱いだ 本当にVBAを広めたいのなら、個人の意欲に頼るのではなく、組織として適切なインセンティブを設けることだな
941 名前:デフォルトの名無しさん [2025/06/04(水) 20:02:53.71 ID:f2CAL3f8.net] >>921 結局、経営者次第だよね まるでITや業務効率化に興味がないなら何もできない 社員の進言に耳を傾けないなら騙されもするし、せ
942 名前:っかく導入したツールは社員にとって非常に使いづらい [] [ここ壊れてます]
943 名前:デフォルトの名無しさん [2025/06/05(木) 00:29:50.41 ID:Nu77Yg2O.net] >>921 そっか あなたはこのスレ卒業だね
944 名前:デフォルトの名無しさん mailto:sage [2025/06/05(木) 08:17:29.72 ID:FSpPjL7A.net] 四行目までは自虐だろ? 言いたいのは五行目だけって意味と捉えたが、どうなんだ まあ、ちょっと過剰に反応し過ぎなきらいは否めないが
945 名前:デフォルトの名無しさん mailto:sage [2025/06/05(木) 08:45:28.01 ID:Lp1WVm/I.net] >>921 組織の中で継続してスケールする仕組み作ったなら属人化してないんだから悪者になる理由なくない?
946 名前:デフォルトの名無しさん mailto:sage [2025/06/05(木) 09:07:39.20 ID:FSpPjL7A.net] お利口さんに成ろうとしてアタマでっかちに成り過ぎ 大工だっていろんなレベルもあるし色んな層が大工してる その場しのぎのやっつけ大工も居れば、客の要望を叶えるために青写真から描ける熟練大工もいる 新人大工なら木の特性とか部材同士の相性とかもよく理解しないまま最新部材使って威張ってみたり ガルバリウムには使ってはいけない釘平気で使って1〜2年後にはその部分からサビを拡げる原因作って顰蹙買うし それでも世の中は回ってる 改善なんか数年で変化してくものだ、という前提を踏まえてれば、それに見合うコストで運用出来てれば御の字
947 名前:デフォルトの名無しさん mailto:sage [2025/06/05(木) 10:31:37.20 ID:1teg7ITB.net] >>925 コンサルはいわゆるExcelバケツリレーの非効率さを指摘してくるのが常道 VBAで個々人の作業が省力化されてようとフローは変わらないので、実際非合理だから仕方ない その上で現行業務の調査として関係者全員にヒアリングして介在するワークシートやマクロをつぶさに調査するのにかかる莫大な費用の見積りを提示されると、 もう経営層からはVBA職人なんて非効率な業務を助長するだけの排除すべき敵としか見えなくなるわけよ
948 名前:デフォルトの名無しさん mailto:sage [2025/06/05(木) 10:49:41.34 ID:1teg7ITB.net] あと、業務を見直してシステム化しようとした際にVBAが悪者になる大きな原因として、 一見簡単な処理に見えて蓋を開けたらたまに複雑怪奇な難攻不落の化け物が出てくる、ってのがある これ、Excel中心のワークフローをシステム化する際にはよくある話で、スケジュール遅延や予算超過を引き起こすことが多い そうなるとシステム部門や現場が経営層に頭下げるのは当然として、上場企業だと株主に経営層が謝罪なんてケースもある ここまでくるともうVBAなんて悪者もいいとこよ
949 名前:デフォルトの名無しさん mailto:sage [2025/06/05(木) 10:55:09.32 ID:Lp1WVm/I.net] それらは継続してスケールする仕組みを作れていない場合の話じゃないの? 複雑怪奇な難攻不落の化け物って、それスケールできる仕組み作れてなくない? そもそもの話が噛み合ってないよ
950 名前:デフォルトの名無しさん mailto:sage [2025/06/05(木) 11:09:55.37 ID:1teg7ITB.net] >>929 隅々まで適切にガバナンスを効かせながら使うならいいんじゃない? それができるほどの優秀なリーダーがVBAを選ぶかは疑問だけどな どんな組織でも、人が増えれば馬鹿も増えるし目も行き届かなくなるものだ
951 名前:デフォルトの名無しさん mailto:sage [2025/06/05(木) 11:27:50.93 ID:Z5osrhWk.net] Excelバケツリレーは業務や人員を追加していく分にはスケールするよ 後から変更するのが困難でありシステム化が前提なら極めて非合理だけ
952 名前:デフォルトの名無しさん [2025/06/05(木) 17:48:57.22 ID:lb5raFks.net] >>928 IR出すレベルのVBAは確実に一見簡単そうな処理では無いと思います。 そこまでの規模のシステムなら、それこそ何かしらの製品やサービスを導入してください。
953 名前:デフォルトの名無しさん [2025/06/05(木) 17:54:18.01 ID:lb5raFks.net] ローコードツールや多言語の方がいいのはその通りだと思います VBAはOfficeしか扱えないのだから
954 名前:デフォルトの名無しさん mailto:sage [2025/06/05(木) 18:20:52.21 ID:uYkJABQ4.net] > VBAはOfficeしか扱えないのだから AutoCAD、SOLIDWORKS、・・・
955 名前:デフォルトの名無しさん mailto:sage [2025/06/05(木) 18:33:57.70 ID:Lp1WVm/I.net] >>933 そうなんだ?知らなかった
956 名前:デフォルトの名無しさん [2025/06/05(木) 20:15:40.58 ID:r0Qxvap7.net] そもそもパッケージやクラウドサービス使えば、中身は全くわからない 手の出しようがない 自前なら何とかなる そこをどう捉えるかよ そもそも基幹システムをVBAで作らないし (小企業は知らんが) 作っても枝葉よ
957 名前:デフォルトの名無しさん [2025/06/05(木) 20:29:53.99 ID:lb5raFks.net] >>936 C、CSVで吐き出せればなんとか(震え声) TYPEを全く使ってこなかったのです。 しかし、この度同じモジュールで多数のstring型の変数を宣言する必要があります。 TYPEデビューしようと思うのですがどうでしょうか?
958 名前:デフォルトの名無しさん [2025/06/05(木) 23:29:45.76 ID:fxlZJI+h.net] ここで聞かなきゃいけないような馬鹿はやめとけ
959 名前:デフォルトの名無しさん [2025/06/05(木) 23:53:54.23 ID:r0Qxvap7.net] >>937 type稀にしか使わないので調べたら CollectionやDictionaryに格納できないと マジか、知らなかったわ これに使うならクラスにしたらいいかもね
960 名前:デフォルトの名無しさん mailto:sage [2025/06/05(木) 23:57:55.29 ID:0HOZWCXV.net] >>920 リアルタイプライターではLFの位置は任意だよ 行頭とか行末とか関係なく、行の途中でも好きな所でline feedは可能
961 名前:デフォルトの名無しさん mailto:sage [2025/06/06(金) 01:00:59.18 ID:gfk/0ela.net] >>940 CRLFはCRが来る時点でLFが行末じゃなくなるって話
962 名前:デフォルトの名無しさん mailto:sage [2025/06/06(金) 08:39:00.12 ID:cx/TERMm.net] Enterキーの矢印ってLF-CRだよね ↓ ← CR-LFならこういう向きじゃないとおかしい ← ↓
963 名前:デフォルトの名無しさん mailto:sage [2025/06/06(金) 09:32:23.47 ID:rGtsPzUl.net] VBAでクラスモジュールを使っていろいろやるのもなしとは言わないけれど、それなら正直JavaとかPythonとかの普通の言語を勉強した方が良いような気もするかな。クラスモジュールって、よくある普通の言語とはちょっと違ったVBA固有の仕様に過ぎないし。
964 名前:デフォルトの名無しさん mailto:sage [2025/06/06(金) 09:44:39.10 ID:4a1tHPn5.net] >>943 JavaScript様のプロトタイプに喧嘩売る気か
965 名前:デフォルトの名無しさん mailto:sage [2025/06/06(金) 10:07:22.76 ID:NfW6LToZ.net] クラスモジュールはVBA固有というかCOMの仕様 COMの絡まない処理で無理に使う必要は全く無いし、COMを理解してないと不可解な仕様が多い
966 名前:デフォルトの名無しさん mailto:sage [2025/06/06(金) 10:45:07.80 ID:c6RrnkVo.net] 他言語でクラス使ってたらクラスモジュール作りたくなる病
967 名前:デフォルトの名無しさん mailto:sage [2025/06/06(金) 11:16:07.96 ID:FmZludjM.net] COMってどう勉強するんだろ 漠として簡潔な説明がなかなかなく IUnknownやらなんやら、
968 名前:デフォルトの名無しさん [2025/06/06(金) 11:35:48.78 ID:3VaYoART.net] InsideCOMを辛抱強く読むのが唯一の道 それ以上の資料もかみくだいた解説書もない
969 名前:デフォルトの名無しさん [2025/06/06(金) 18:33:04.93 ID:lAxJJHmL.net] っ 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
970 名前:デフォルトの名無しさん mailto:sage [2025/06/06(金) 18:52:09.71 ID:4a1tHPn5.net] COMの解説 https://learn.microsoft.com/ja-jp/windows/win32/com/component-object-model--com--portal
971 名前:デフォルトの名無しさん [2025/06/06(金) 19:13:06.68 ID:fJneNGsq.net] >>939 TYPEは他のオブジェクトに引き渡せないとは聞いていました 結局ディクショナリーで登録しました
972 名前:デフォルトの名無しさん [2025/06/06(金) 20:17:15.03 ID:tc8PGxli.net] >>951 ディクショナリだとインテリ使えんけど、まあそれでいいなら
973 名前:デフォルトの名無しさん mailto:sage [2025/06/06(金) 20:34:48.52 ID:2QLQ97JJ.net] たまにいる勘違い人間 「自分、CやJavaできるから低レベルのVBA(笑)なんてすぐマスターできるし」とか豪語するヤツ
974 名前:デフォルトの名無しさん [2025/06/06(金) 21:03:29.16 ID:fJneNGsq.net] 私はファイルパスやフォルダパスの取得や設定、ファイル名やフォルダ名の作成に冗長なコードを書いている気がしてならないのですが、何かいいコードはないでしょうか?
975 名前:897 [2025/06/06(金) 21:52:26.62 ID:CfJ/EVmD.net] Typeの代わりにRecordSet使ったりする Field設定いちいちするの面倒だけど Filterとか使えるしCopyFromRecorSetとかできるし
976 名前:デフォルトの名無しさん [2025/06/07(土) 01:20:40.40 ID:hTJ86lb5.net] >>954 昔はdirやnameだったけど、今はfso使ってればいいんじゃね
977 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 04:19:49.26 ID:GCIZhVy1.net] >>954 その程度の処理なら、冗長で困ることなんかほとんどないよ 自分に理解できる形で書くのが、長い目で見れば一番保守性が高いんだから ちゃんと
978 名前:動いてる物を直そうとして壊すことも多いから、そっとしとけ [] [ここ壊れてます]
979 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 07:03:08.54 ID:QQtzQfGp.net] >>954 末尾の円マーク有無で毎回処理を分岐させてるのならBuildPathを使え
980 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 09:36:28.54 ID:zGsllLLl.net] >>954 その冗長なコードとやらを貼ってみれば何が悪いか指摘してもらえると思うぞ
981 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 10:26:27.74 ID:pGBLBsE0.net] .netの文字列操作ライブラリとか見たらいたせりつくせりで贅沢過ぎるわ!って怒り出しそう
982 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 12:33:58.98 ID:NHsDgqoS.net] タスクバーのアイコンを取得したくて、下記のサイトの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
983 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 13:25:32.25 ID:QQtzQfGp.net] https://qiita.com/Mrs_P/items/5c8070fd880b9deb284a ↑ここの人がVBAで似たようなことやってますね GetReferenceElementという関数の中に >>961 と同等のコードが書かれているから hTaskBarの値がおかしいんじゃないの? これでブラウザの自動操縦できるのかぁ 便利そうだな
984 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 13:32:49.76 ID:NHsDgqoS.net] >>962 このサイトも見た hTaskBarの値は、C#版とVBA版で同じ値だったので、正しいと思う。 Chromeのウィンドウハンドルでやった場合は、ちゃんと動いた
985 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 13:58:10.47 ID:QQtzQfGp.net] これで最後の行まで動いたよ 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 "終わり"
986 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 14:07:56.34 ID:QQtzQfGp.net] もうひとつの方もこれで動いた 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 "終わり"
987 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 15:15:58.64 ID:NHsDgqoS.net] >>965 あ、 Windows 11だと動かないな… >>964 のタスクバーのボタンは動いたけど、 >>965 のトレイアイコンは、最後の1行で、やっぱExcelごとハングアップで強制終了するわ (Set windowElementTray = pUIAutomation.ElementFromHandle(ByVal hWndToolbar)) C#版は、>>965 のトレイアイコンもちゃんと動くんだけど…
988 名前:デフォルトの名無しさん [2025/06/07(土) 16:04:31.64 ID:I++ihMYF.net] >>959 例えばファイルシステムで フォルダ1の中から指定の文字列を含むフォルダを探して 見つかったフォルダのパスを取得して さらにそのフォルダの中から指定の文字列を含むフォルダを探して 見つかったフォルダのパスを取得して そのフォルダの中に指定のフォルダがあるか確認してなかった場合はフォルダを作成するコードです 2〜3回同じ様な事を繰り返しているので冗長な気がしてなりません
989 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 16:09:10.87 ID:WTKqP7i+.net] >>967 それそのままAIに投げたら一瞬で書いてくれるよ
990 名前:947 mailto:sage [2025/06/07(土) 16:28:51.74 ID:ADmBeqPj.net] >>948 , 949, 950 ありがとうございます マイクロソフトのサイトは機械翻訳がどうも…、と敬遠していましたが、参照してみます それから洋書、かぁ…
991 名前:デフォルトの名無しさん [2025/06/07(土) 17:36:52.86 ID:hTJ86lb5.net] >>967 それを平で書いてるなら冗長 再帰処理でやるのがあるべき姿 まずは指定フォルダ下の全フォルダを出力する再帰処理書いてみ (全てが再帰処理ではない。呼び出し元処理と再帰処理の2つ書くことになる。念の為)
992 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 17:47:31.26 ID:QQtzQfGp.net] >>966 Windows11はタスクバーに使われてるクラスが変わってるらしいから関係あるかもよ https://www.autohotkey.com/boards/viewtopic.php?style=19&t=108539 AHKにクラス名を調べるツールがついてたような
993 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 17:55:49.45 ID:nK7i38Q0.net] >>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 あとは関数の中身を書くだけ
994 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 18:21:21.32 ID:QQtzQfGp.net] >>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
995 名前:デフォルトの名無しさん mailto:sage [2025/06/07(土) 18:49:45.58 ID:NHsDgqoS.net] >>971 んー でも、C#ではちゃんと動くので、VBA側の問題な気が… クラスが変わってるのも知ってる。
996 名前:デフォルトの名無しさん [2025/06/07(土) 22:19:45.07 ID:I++ihMYF.net] >>970 やっぱりそうですよね 再帰処理を頑張って覚えます
997 名前:デフォルトの名無しさん [2025/06/08(日) 02:30:07.18 ID:bVJzS0fI.net] >>975 そやね たったこれだけでフォルダ階層どこまでも潜れるのかと感動すると思う (かもしれないw) フォルダ再帰ができたら各全ファイル名列挙も再帰処理の中に追加しとき いつか使う時が来る
998 名前:デフォルトの名無しさん [2025/06/08(日) 03:49:16.50 ID:kACuu3za.net] こんなので偉そうにする馬鹿
999 名前:デフォルトの名無しさん [2025/06/08(日) 10:13:48.24 ID:szoadHGe.net] >>977 わざわざ「私バカです」って手を挙げて出てきてどうした
1000 名前:897 [2025/06/08(日) 10:59:09.81 ID:BE7fUg1L.net] >>976 昔だったら stack overflowとか心配してたけど今はあまり気にしなくて良さそうだね
1001 名前:デフォルトの名無しさん mailto:sage [2025/06/08(日) 11:01:04.08 ID:j4jIPbHU.net] .netのAPIラッパー関数もソース見ると大抵泥臭い事やってんのよね
1002 名前:デフォルトの名無しさん mailto:sage [2025/06/08(日) 11:03:50.75 ID:4qkaLQIW.net] スタック領域は昔からほとんど変わってないから気にする必要はある
1003 名前:デフォルトの名無しさん mailto:sage [2025/06/08(日) 11:07:37.10 ID:j4jIPbHU.net] Excel VBA 質問スレ Part83 https://mevius.5ch.net/test/read.cgi/tech/1749348402/
1004 名前:897 [2025/06/08(日) 11:11:01.02 ID:BE7fUg1L.net] >>982 乙彼 >>981 共有サーバのアドレス変わった時、全フォルダの奥までショートカット探して書き換えたけど 何ともなかったからそんなもんだと思ってた
1005 名前:デフォルトの名無しさん [2025/06/08(日) 12:43:48.49 ID:gXHyLlYW.net] >>976 再帰処理のコード自体はわかるのですが、If文で再帰処理をする、しないまでは考えてなかったです
1006 名前:デフォルトの名無しさん [2025/06/08(日) 14:43:09.01 ID:bVJzS0fI.net] >>984 if? 途中から折り返す時のこと? それなら必要
1007 名前:デフォルトの名無しさん mailto:sage [2025/06/08(日) 16:28:21.07 ID:46RFXcFD.net] 2階層しか掘らないのにわざわざ再帰処理にするかなぁ
1008 名前:デフォルトの名無しさん [2025/06/08(日) 16:56:20.91 ID:DI4VVn6/.net] >>978 構ってもらうのも大変なんだぞ 察してあげなきゃ
1009 名前:デフォルトの名無しさん mailto:sage [2025/06/08(日) 17:17:56.33 ID:8915HtnW.net] >>983 スタックさせたまま全ファイル走査なんてしないだろうから、 ファイルの数何個あろうが同じでは?
1010 名前:デフォルトの名無しさん mailto:sage [2025/06/08(日) 19:19:30.01 ID:4BwIalv3.net] ソース的に簡単にするなら全ファイルのフルパス取って正規表現だな
1011 名前:デフォルトの名無しさん [2025/06/09(月) 07:30:24.52 ID:UIpY0QNU.net] フォルダのショートカットファイルがある場合の動作確認はした方がいいぞ
1012 名前:デフォルトの名無しさん mailto:sage [2025/06/09(月) 08:19:56.01 ID:EHQrQQev.net] シンボリックリンクとジャンクションとハードリンクも動作確認した方がいいぞ パスが255文字超えた場合も動作確認した方がいいぞ
1013 名前:デフォルトの名無しさん [2025/06/10(火) 20:52:05.68 ID:RKOrDLCJ.net] VBAのfor eachやfor nextでif文を使用して条件に合わなかった時にnext するにはどうしたらいいでしょうか?
1014 名前:デフォルトの名無しさん mailto:sage [2025/06/10(火) 21:05:38.20 ID:94f6xD2K.net] forの中をDo-Loopで囲んで脱出したい時はExit Doする
1015 名前:デフォルトの名無しさん mailto:sage [2025/06/10(火) 21:05:45.22 ID:zK5HBYNC.net] >>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ブロックを記述しないことで、条件が合わない場合は自動的に次のループへ進みます。
1016 名前:デフォルトの名無しさん mailto:sage [2025/06/10(火) 21:17:29.25 ID:KLsW+s5l.net] next の手前にgoto
1017 名前:デフォルトの名無しさん [2025/06/10(火) 21:35:49.89 ID:chtn5cci.net] gotoでnext前のラベルに飛ぶ。ラベルは CONTINUE_1: など
1018 名前:897 [2025/06/10(火) 21:41:20.79 ID:4RtejL7X.net] C言語の呪いから解けずにGoTo使いにくい俺
1019 名前:デフォルトの名無しさん mailto:sage [2025/06/10(火) 21:55:14.34 ID:qJv58WHL.net] 無理して使うもんじゃない そもそもifで処理せずにnextさせたいなら、 逆にifで処理させれば条件に当てはまらなければnextになるんだし
1020 名前:デフォルトの名無しさん [2025/06/10(火) 21:57:34.45 ID:YNq6kTxr.net] 馬鹿ばっかで呆れるスレ
1021 名前:デフォルトの名無しさん [2025/06/10(火) 21:58:07.04 ID:YNq6kTxr.net] 馬鹿ばっか
1022 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 137日 18時間 26分 52秒
1023 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています