探検


Excel VBA 質問スレ Part84

レス数が1000を超えています。これ以上書き込みはできません。
2025/10/01(水) 14:36:42.66ID:lecUwKjm
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
Excel VBA 質問スレ Part83
https://mevius.5ch.net/test/read.cgi/tech/1749348402/
2025/10/02(木) 00:16:11.64ID:ZP5+0H/T
2行目2例目
2025/10/02(木) 02:40:54.02ID:pZxG7qX/
パワークエリは2010ならアドオンで使えるんだから使えるってのは間違ってないよ
4デフォルトの名無しさん
垢版 |
2025/10/02(木) 21:54:27.31ID:7bD6spim
Date.Fromは日付と時刻型を日付のみ型に変換する関数だと思っていましたが、実は引数はAnyでテキストでも数値でも日付と解釈可能ならdateにしてくれるんですね
今までの苦労は何だったんだろう
2025/10/02(木) 22:49:07.56ID:GsnxMOm+
おそらくスレがないので、すれ違いで申し訳ないのですが、
エクセルVBAはブックごとにマクロを具有しますが、Outlook VBAはどこにマクロを持つのでしょうか
アドインのようなものになるのでしょうか
ggrksと言われそうですが…
6デフォルトの名無しさん
垢版 |
2025/10/02(木) 22:59:10.74ID:7bD6spim
C:\Users\<ユーザー名>\AppData\Roaming\Microsoft\Outlook
らしいです
2025/10/03(金) 00:42:58.97ID:Ry5X26EV
こっち消化しろよ

Excel VBA 質問スレ Part80(ワッチョイあり)
https://mevius.5ch.net/test/read.cgi/tech/1700826110/
85
垢版 |
2025/10/03(金) 01:16:30.02ID:Gclp2QR3
>>6
ありがとございます
ちょっと調べてみます
2025/10/03(金) 05:06:39.02ID:q4o/CZkj
>>7
ワの有無は別スレと見做される
2025/10/03(金) 09:19:09.56ID:aZVU66UK
積極的にそうすべきというほどの強い意見ではないけれども、現状ワッチョイ ありとなしとを使い分ける需要がさほどないということであれば、先に>>7のスレを消化するというのもありかもね。スレ交代のタイミングでちょうど良いし。
2025/10/03(金) 13:09:50.91ID:8sd1VVnl
ワに書き込めるわけ無いだろ
いいかげんにしろよ
2025/10/03(金) 13:30:51.70ID:rIGt8LUp
>>11
そうやってID変えながら荒らす気まんまんやん
2025/10/03(金) 23:57:43.31ID:zFNEu+Na
ワッチョイ気にするのか…
2025/10/04(土) 10:49:20.79ID:xRZ1O4vG
前スレで話題に出たパワークエリはM言語という言語でVBAとは相容れない
VBAと連携する方法もないではないがWSHの言語間程度の違いはある
知りたい人が居るならPower Query M言語スレを別に立ててやるべきだと思う
15デフォルトの名無しさん
垢版 |
2025/10/04(土) 13:15:46.24ID:KBILB/BD
>>14
Power Queryだけでスレを立てても知名度が低すぎるから人が集まらないのと、「基本を知ってしまえば後は分からない事は何もない」から「話がすぐ終わる」(泣)
Excel自動化という点で同じなのでここで(震え声)

Excelの関数に正規表現関数が有る事を今思い出した(なければ自作すればいい)
だから今時はもうLeft関数、Mid関数、Right関数で無理矢理やらなくていいんだ。
2025/10/04(土) 13:53:38.50ID:HdBE9K3u
Excel女子の言い分を真に受けると
https://exceljoshi.cocoo.co.jp/media/excel-powerquery
必要なひとは使えばいいんじゃね?となる
Excelエキスパートの君らには、あんまし使いどころが無いんだろう
17デフォルトの名無しさん
垢版 |
2025/10/05(日) 06:02:00.45ID:knUkubLb
みんながみんな大量のデータ集計や高度な集計をやるわけでは無いからPower Queryを必要とする人はいないと言われれば確かにそうですね。
だけどExcelで集計をすると言うのであればVBAでは無理です。
2025/10/05(日) 07:06:17.38ID:MKhcYwCd
VBAでも無理ではないでしょ
ゴミのように書きにくく読みにくく遅いだけで
2025/10/05(日) 07:10:15.40ID:beeJ4mT2
Excel女子でもVBAで出来てるから「無理です」は言い過ぎ VBA女子ってのも居るそうだ
https://exceljoshi.cocoo.co.jp/media/work-efficiency-vba-reporting
何であれ、事前の下拵え(前準備)がだいじだと説いてる その通りだけど具体例は有料っぽい
まぁ、女子に頼らなくてもそこら中に転がってるけど
https://note.com/bunsekiya_tech/n/n7da42fbfa7b4
2025/10/05(日) 07:40:58.07ID:DpQo6Ojc
VBAでやるときは各レコードをどこにどう書くかということをガチガチに固めておく必要があるのに対し、DBとかパワークエリだとそこら辺が抽象化できるイメージかなぁ。
21デフォルトの名無しさん
垢版 |
2025/10/05(日) 07:58:20.71ID:knUkubLb
>>20
本当にそれなんですよ
パワークエリーやSQLなら列同士の集計やグループバイ、Join、UnPivotができるけど、VBAでUnpivotは流石にキツい
22デフォルトの名無しさん
垢版 |
2025/10/05(日) 08:28:28.60ID:Gl792nZh
LET、XLOOKUP、FILTER、GROUPBYあたりを駆使すればワークシート関数でも結構いける
わざわざ別アプリ起動してマイナー言語でとはならないかな・・・
2025/10/05(日) 08:39:23.86ID:beeJ4mT2
それこそ事前の準備で済む話 いきなり大容量のデータに接続してあれこれしようとするから混乱する
結果から想定されるデータ群に仕様を整えておくのが先ず最初にすべきこと
ADO が非推奨と成り果てたからVBA内でSQL使おうにも先細りなんだろうけど、まだやれない訳じゃ無いし(最新版じゃ無理なのか)
何であれ、いきなり野良データに接続してあんなことやこんなことしようとする方が無謀 データの事前整形はイロハのイ
24デフォルトの名無しさん
垢版 |
2025/10/05(日) 09:10:22.53ID:knUkubLb
>>23
その事前のデータ整形がパワークエリーなんですよ
そもそもPower BIはパワークエリーとパワーピボットの二つが合わさった製品だし
ADOが非推奨だとは知らなかったです
やっぱりVBAはダメダメなんですね
25デフォルトの名無しさん
垢版 |
2025/10/05(日) 09:12:20.05ID:knUkubLb
>>22
GROUPBY関数は最近になってやっとM365だけで使える様になった引数の翻訳も終わっていない関数じゃ無いですか
しかもGROUPBYに渡す元データのUnPivotはどうするんですか?
UnPivot関数はありませんよ?
26デフォルトの名無しさん
垢版 |
2025/10/05(日) 09:18:37.32ID:knUkubLb
パワークエリーは
let
変数名 = 関数
in
ただこれだけです
各ステップ名にそれぞれの関数の戻り値(型)が代入されるだけです
一体どれだけ簡単なのかと
名前付きfunction関数なら
(変数名 型) =>
let
変数名 = 関数
in
ただこれだけ
27デフォルトの名無しさん
垢版 |
2025/10/05(日) 09:28:11.50ID:knUkubLb
会社で本格的なデータベースを構築しているとか、サーバーが使える、あるいは業務にしているのならそりゃSQLを推奨しますよ
しかし日本企業がそんなにITの導入をしているとは私はまったく思えません
だから当然必然的にExcelの標準機能一択になるわけです
世の中の企業にはVBAを禁止している会社もあると聞きます
だったら尚更パワークエリー
あとSQLはETLではないからSQLにできないことも多い
2025/10/05(日) 09:41:07.01ID:beeJ4mT2
UnPivot て、Excelの原始的な機能で、貼り付け時に行/列入れ替え 貼り付けだけで済むんじゃないのか?
そんな単純じゃない!もっともっと厳しいデータなんだ!ってことなのか?
取り込んだデータが行列逆だったら、真っ先にそれするもんじゃないのか? 基本のキ?
29デフォルトの名無しさん
垢版 |
2025/10/05(日) 09:51:23.22ID:knUkubLb
>>28
UnPivotと行列入れ替えは全くの別物ですよ
行列入れ替えは本当にただ
 列


 行

にするだけなんだけど、UnPivotは横持ちデータを縦持ちデータに変換する事を言います
例えば
 1月2月3月4月5月〜
各エリア

という表があればその各月のデータを
エリア列|月列
とリスト表形式に整えてくれます
これ無くして高度な集計はできません
2025/10/05(日) 09:51:47.38ID:beeJ4mT2
社内にサーバー(NAS含む)も仕立てていない企業が蓄えてる大容量のデータって
いや、Power Query を否定するつもりは無いけど、今のExcelの標準の機能で殆ど賄えやしないか?
ものっそ古いデータもあって、当時はデータの統一性もまばらで、セル内改行してるだの
文字の位置合わせにスペース使ってるだの、予想外のデータだったりすることもあるんだから
イロハのイ、基本のキは守っておいて損は無いんだけど
2025/10/05(日) 09:58:16.44ID:QIz/HuGJ
自分はSQL派なので事前に定義されたテーブルにデータを入れておくという考え方の方になじみがあるけど、表っぽいデータなら大抵はうまい塩梅に整形できますぜということならパワークエリにもそれなりに活用場面は出てくると思う。ただ、クエリ部分をSQLからパワークエリに置き換えるのはちょっと躊躇を覚えるかな。標準規格があって、ペンダーが複数いるという安心感はかなり大きいので。
SQLを除いてExcelおよびその関連機能であるVBA、パワークエリだけで考えたときに、それぞれどういう長所・短所があるかというのはそれはそれで1つの議論ではあるね。
32デフォルトの名無しさん
垢版 |
2025/10/05(日) 10:08:01.77ID:knUkubLb
なんでVBAで流石にUnPivot旬は難しいと言えるかと言うと、UnPivotする為にはそれぞれの項目とその数に応じて大量に行の挿入を行う必要があるからです

これをVBAでやろうとすると行ズレ問題に頭を悩ませるし、セル操作、Rangeは非常に遅いし、2次配列の操作はVBAは非常に貧弱だからです

一応、パワークエリーが登場する前(本当はMicrosoft Queryという前身機能があったらしいですが)のVBAのまず最初にやる事はUnPivotだったらしいので、絶対にできないとは言いません
しかし、パワークエリーならボタンぽちぽちで済む事を全部コードに書かなきゃならないので非常に面倒くさい上に不具合もあります

サーバーがある、本物のSQLが使用できる環境があると言うのなら当然止めません
既に正規化されているデータだけを扱うと言うのであれば尚更でしょう
しかし世の中その様なデータばかりを扱うとは到底思えません
33デフォルトの名無しさん
垢版 |
2025/10/05(日) 10:09:32.03ID:knUkubLb
>>31
表っぽいデータなら「大抵」ではなく、「全て」うまい塩梅に整形できますぜ です
なぜならそれがETLだからです
2025/10/05(日) 10:30:14.94ID:beeJ4mT2
その「ボタンぽちぽち」で出来てしまう点を懸念してンだけどねw
野良データがガサツでも、ぽちぽちしたらちゃんとした表に仕上がりました! で、そのデータの
信ぴょう性とかファクトが担保されるのか?という面で、イとかキは疎かにしちゃいけない、と
で、そのイとかキをしてる最中に「これとこれをこうすりゃこう仕上がる」という、データ加工の
手順や経緯や法則がきちんと把握できてく(それが判ればほぼほぼ基本機能で済むケースが多いのも現実)

そういう基盤がキチンと制作者も受け取る側も共有出来てるなら、どんなアプリ使おうとも構わんけど
作る側がその辺ないがしろにして「この機能サイコー!」だけで盲信して得意満面に仕上げてきた表ほど
役に立たないものも無いってのも現実 まあ、老婆心だけだけどw
2025/10/05(日) 10:50:37.84ID:YF7wvbQm
たぶん想定されている使われ方が結構違うんだろうね。

DBの場合、事前に設計されたテーブルを前提としているから、テーブル設計で失敗していない限りそもそもpivotとかunpivotとかが必要になる機会自体そんなにないと思うのよ。古いシステムからデータを取り込んだりするときくらいじゃない? だからpivot / unpivot の利便性をメリットとして挙げられてもあんまりピンと来ない感がある。
パワークエリの方は、どちらかというと表っぽいデータ(いわゆる野良データも含む)をアドホックに処理できることに重点を置いているんでしょう。そういう場面ならpivot / unpivot が簡単にできると便利というのは分かる。

>>34
イとかキって何だと思ったが、イロハのイとキホンのキか。34を読んだだけでこれに気付いたのって凄くない?w
36デフォルトの名無しさん
垢版 |
2025/10/05(日) 10:51:30.92ID:R8xFs1sO
そんなのVBAだろうとPQだろうと同じ
当たり前
当たり前のこと毎週書いてろw
37デフォルトの名無しさん
垢版 |
2025/10/05(日) 11:44:07.60ID:knUkubLb
元データがちゃんと正規化されているリスト表だけだったらSQLでも十分
それはその通りです

でも世の中残念ながらそうじゃないんです
これはなぜETLというツールがいくつもあるのかという話です
大量の列があるデータをソフトウエアがCSVで出力されるケースを私は実際に知っているのです
そしてその時に私はUnPivotを知りました
38デフォルトの名無しさん
垢版 |
2025/10/05(日) 11:49:26.34ID:knUkubLb
これだけは言えると思うのは
確かにSQLは1列に一つの種類の値、型のデータを扱うのなら最適化されているので高速ですが、そうでない場合、データのクリーニング、前処理が必要は場合は必ずしもそうではないと思います

あとデータソースは各種サーバーに出来るので、まずはお試しでやってみる、という叩き台やテストを「お手軽に」する事もできます
2025/10/05(日) 12:15:13.64ID:YF7wvbQm
そりゃデータの整形や前処理はSQLじゃなくて、ホスト言語の方の守備範囲だからね。
だから整形・前処理の部分で比較するなら、「コードを書く必要があるけど汎用性の高いホスト言語(JavaScriptとかPythonとか)」と、「ノーコードで済んで利便性が高いけどMSにロックインされるパワークエリ」という比較になるんじゃない?
表っぽいデータをアドホックに次々と分析していくような用途ならパワークエリの方が便利だろうし、永続的なデータを扱うならSQLの方が安心感がある。

フォーマットが完全に固まっているならVBAも選択肢に入ってくるだろうし。
40デフォルトの名無しさん
垢版 |
2025/10/05(日) 12:58:00.67ID:Gl792nZh
>>29
UNPIVOTはCHOOSECOLSとVSTACKで余裕
41デフォルトの名無しさん
垢版 |
2025/10/05(日) 13:40:37.24ID:Gl792nZh
>>29
=LET(
UNPIVOT,LAMBDA(table,values,
DROP(REDUCE(0,SEQUENCE(COLUMNS(values)),LAMBDA(a,v,
LET(
value,INDEX(values,v),
VSTACK(a,HSTACK(EXPAND(value,ROWS(table),,value),CHOOSECOLS(table,v)))
)
)),1)
),
UNPIVOT(C1:G10,{"月","火","水","木","金"})
)
2025/10/05(日) 14:06:08.15ID:beeJ4mT2
サーバーも持ち合わせずVBAも禁止されてる企業って書いてみたり
とあるアプリが大量の列があるCSVを吐き出したケースがあって、それでUnpivotを知ったとか書いてるし
やっぱ新しいおもちゃに大興奮してるとしか読めない
野良と言えどもサイバー空間上にあるデータは、まがりなりにもDBのお作法に沿った整形されてるんじゃないのか?
WEBページやクラウドデータとかに接続するなら尚更
手強い野良っつーのは社内に保管されてる過去20年のデータみたいな意味で、>>30 に書いた例なんかかわいい方
とも思えるファイルがゴロゴロしてることもある それを上から十行ぐらいナナメ読みして憶測で判断してたら
しっぺ返し喰らう
その大量に吐き出されたCSVだって、実はD列のデータだけじゃ無くてAA列だのBB列だののデータと組でようやく意味を為す
なんてぇケースだってごまんと見て来た キとかイとかw データを扱うお作法は蔑ろにしてはいけない
データクレンジングとか昨今は呼ぶのか? それは機能に任せる前に、人間の目で手でまずは洗浄しておくべき
キカイは命令された事しかやらない・できない その命令する側が手抜きしてたら手抜きされたデータの塊になるだけ
2025/10/05(日) 14:30:19.32ID:YF7wvbQm
>>40-41
そういうのは余裕とは言わないw 凄いとは思うけど、人が読んだり書いたりするコードじゃないでしょ。AIに生成させるとかならありかもしれないが。

2020年代になってから関数が大量に追加されているのって、AI使用が視野に入っているからなのかなとちょっと思った。
44デフォルトの名無しさん
垢版 |
2025/10/05(日) 19:35:04.95ID:knUkubLb
>>42
複合キーを利用する、複数列の値を使用する、結合するという事はできますよ
45デフォルトの名無しさん
垢版 |
2025/10/05(日) 20:29:32.36ID:knUkubLb
そもそもExcelになぜPythonが導入されたかと言うと、パワークエリーで前処理、集計したデータを非公式に導入したPythonでさらに高度な集計を行う、と言う事が行われていたからです。
そう言う事が行われているくらい非常に協力な機能なのです。
JavaScriptのコードも動かせます。
2025/10/05(日) 21:56:29.73ID:bIl70Ycb
言いたいことがちょっとわからない

Python in Excelの話をしてるの?
Officeアドインの話をしてるの?
Officeスクリプトの話をしてるの?
47デフォルトの名無しさん
垢版 |
2025/10/05(日) 22:15:43.84ID:knUkubLb
>>46
全てパワークエリーの話です
2025/10/05(日) 22:33:36.02ID:YF7wvbQm
パワークエリって、(SQLの代替というよりも)データフレーム系のライブラリ(PythonでいうところのPandasとか)に近い機能なんじゃないかな。自分はデータフレーム系のライブラリってほとんど触ったことがないから分からないけれど。
49デフォルトの名無しさん
垢版 |
2025/10/05(日) 23:04:56.42ID:eANUHAz5
>>45
へー、MSがPythonを組み込んだ理由の客観的証拠を示してごらん
50デフォルトの名無しさん
垢版 |
2025/10/06(月) 02:26:33.81ID:jIkfS85a
>>49
キチガイの妄想なんだから答えるわけないだろw
2025/10/06(月) 08:37:55.38ID:/QQ+j/LM
VBAをPythonに置き換えようと開発進めてたけど、
サードパーティーのアドオンが優秀なので公式でやる必要が無くなった(ここまでMS開発者ブログより)
でも成果物を使わないのも勿体ないから使ってる(俺の妄想)
ってことだろ
2025/10/06(月) 09:38:05.20ID:CrcLFeiU
>>48
普段SoR系のシステムばかり見てる人には馴染みのない話かもしれないけど、
ビジネスアナリティクスの世界では、SQLは汎用的なデータ分析ツールとして結構カジュアルに広く使われているのです
2025/10/06(月) 10:52:24.34ID:0TYeR8/V
まーた新しいオモチャ拡げ出したぞw SoR系だからSQLが重宝されてきたんだろうに
アナリティクスなんて概念、後発も後発 まあ、SoRに於いてSQLでAnalyticsしてた
という見方もできるわけで、もはや何言っても相手に響かないからお口チャックしときなよ
2025/10/06(月) 11:44:57.78ID:sh+WI5Ke
話の繋がりがよく分からないが、そういう分析方面でならパワークエリも強みを活かせるということであれば、適材適所ってことでいいんじゃない? カジュアルかつアドホックに色々できるということが強みなんだろうから。
2025/10/06(月) 11:56:16.85ID:6luOortV
相変わらずVBAの話題以外では盛り上がるVBAスレ
2025/10/06(月) 13:59:52.57ID:+9LX7loy
>>54
そう、パワークエリの主用途である分析においては、その役割はSQLとPythonの両方と大きく重なる
そのうちどれが優れているという話ではないが、VBAが大きく劣ることは確かだな
2025/10/06(月) 16:51:14.76ID:0TYeR8/V
本気でそう思ってるなら、なんでここに居るし
ソッチのスレに常駐してるなり新スレ立てるなりして、ソッチで続けてればいいのに
単にケンカ売りに来てるん?
58デフォルトの名無しさん
垢版 |
2025/10/06(月) 20:20:36.05ID:eyP2NojD
本物のサーバーに対してSQLを叩いた方が高速なのも
Pythonで複雑な計算を行う方が高速(素のPythonのループ処理はVBAより遅い)なのも一切否定していません
私はただExcelしか使用できない環境でも便利な機能がありますよ
と言っただけです
2025/10/07(火) 10:01:47.48ID:vEgtxFhe
社会人として言い訳はみっともない やっぱりおもちゃを片付けられないしんのすけレベル
(あなた達は知らないだろうけど)Power Query っていう便利な機能がありますよ、とでも主張したかったのか?
VBAスレで? ビジネスSoft板のExcel相談所辺りで言い募るならまだしも、ここの住人なんかはとっくに試用してる
だろうに 試したうえでケースバイで使う事もあるかも知らんけど、実務でそんなに活用するシーンも無いな
という肌感覚じゃあ無いのか 取り敢えずVBAでSQL書いて目的は達成できているんだし
ネット上とかの得体の知れない大量のデータに対してザッピングしてみて有用なデータかどうか、予め毒見してみて
実際に利用するかどうか判断の元にするような時には使ってみるのも楽だろうけど
Power Query 至る所でバンバン使い倒してますよ、という実務者カモン 事例提示プリーズ
2025/10/07(火) 10:38:57.70ID:msD1NTB5
何でスレチのPQにいつまでも係ってんだよ
>>15がExcel自動化云々言ったところでスレチはスレチ
そも自動化ではない
スルー力なさ過ぎ
61デフォルトの名無しさん
垢版 |
2025/10/07(火) 15:16:40.55ID:bK/qJy7b
いつもの境界知能の人だろ
62デフォルトの名無しさん
垢版 |
2025/10/07(火) 20:10:16.59ID:S93aMo2F
そうね
いつもの境界知能の人が必死にAIの回答をコピペしてる感じだね
63デフォルトの名無しさん
垢版 |
2025/10/09(木) 12:42:40.22ID:M3Iz7qJA
仕事できなくて年収低いんだから
パワークエリ使おうがVBA使おうがたいしたもんできないよ
2025/10/09(木) 17:06:30.50ID:+B8QV1e9
はい終了~
65デフォルトの名無しさん
垢版 |
2025/10/10(金) 06:43:28.00ID:oR3uH8u+
質の高い回答はなく、誹謗中傷しかないのはなぜなのでしょうか?
2025/10/10(金) 08:26:12.39ID:hdfpIN1/
・質が低く適切な回答をできない質問だから
・質問は妥当だが答えられない、でも何か言いたい質の低い回答者がいるから
大抵はこのどちらから
2025/10/10(金) 09:13:23.19ID:XIv0t+FX
自分はOFFICEスクリプトって使ったことないんだけど、VBAとは適宜棲み分けがされそうな感じ? それともVBAを置き換える方に行きそう? 一応、VBAにできること全てができるわけではないってことは聞いているけど。
68デフォルトの名無しさん
垢版 |
2025/10/10(金) 09:56:09.14ID:cInZxt5e
>>65
貴方が質の高い回答をしないのはなぜ?
2025/10/10(金) 10:44:13.39ID:MfSuKUVs
OFFICEスクリプトは、あくまでも定型業務の自動化、しかもOneDrive上で を目指してるので
まだまだ発展途上だし
何より、OneDrive自体が今のところ各端末のパフォーマンスを下げる最大要因に成り果ててるので
様子見勢が多いのだと思われ(何でそこまでMSに加勢しなきゃならんのか、と)
2025/10/10(金) 11:49:19.24ID:+bT2e97Y
なるほど、OFFICEスクリプトはまだ全然って感じなのね。
VBAは構文が古くさいと言われることが多いけど、少なくともその点を理由としてOFFICEスクリプトに移行しようという動きはあまりないということか。やっぱりクラウドベースでっていうところが想像以上にネックになっているということなのね(たしかにちょっと試してみようと思ったときに、クラウドで云々と言われたら面倒くさそうとなるのは分かる気がする)。
2025/10/10(金) 15:30:53.82ID:YT8cXARa
いやいや、それは逆
そもそもデータが散らばってるからそれを纏めるためにVBAを使うことはよくあって、
VBAのユースケースとしてはかなり大きなウェイトを占めるんだよ
クラウドだと共有ブックを直接編集すればいいので、少なくともそういう用途のVBAのニーズは大幅に減る
2025/10/10(金) 17:15:15.57ID:rdtXmqP1
Officeスクリプトはアカウントに紐づくからVBAのようなファイル1つで済む手軽さがない
2025/10/10(金) 17:46:44.61ID:+bT2e97Y
ブックの共有とかって全然しないから、そこら辺の認識はなかったな。クラウドというよりOneDriveとか管理のされ方に問題があるって感じなのかな。
2025/10/10(金) 18:31:05.45ID:DrrVl6np
そも動かすプラットフォームが違うんだからどちらを使うか選ぶシーンが存在しない
2025/10/10(金) 18:46:30.53ID:YT8cXARa
>>73
裁量の問題だよ
未だにVBAに人気がある本質的な理由は、既存のワークフローを全く変えることなく勝手に自分の手元だけで作業を効率化できるから
一方で、クラウド共有を前提にしてなお残る面倒な単純作業はOfficeスクリプトで自動化しましょうとなれば、みんなのワークフローを見直さなきゃいけないでしょ
それは>>74のように目的ではなく与えられた作業に対してのみ責任を持っているような人達にはハードルが高すぎるわけ
76デフォルトの名無しさん
垢版 |
2025/10/10(金) 22:45:13.21ID:6xVCTbsk
またいつもの境界知能者が荒らしてる
2025/10/10(金) 23:20:57.31ID:XIv0t+FX
理由はともかく、OFFICEスクリプトは少なくとも現状では習得上の優先順位が高い感じではなさそうね。
VBAの構文が苦手というタイプの人はPytnonのxlwingsとかに流れる感じなのかな。あれはPytnon越しにVBAのオブジェクトをいじっているようなものなので、実質VBAみたいな感じだけど。
2025/10/11(土) 08:45:48.88ID:X9HmeuU+
>>76
傍から見てると、あんたもソッチにズブズブ沈み込んでる風に見えるがな
もそっと、知恵のある発言するなり、若しくはボケだのギャグだの
ユーモアやペーソス混ぜたような発言とかを心掛けてもらえると、コッチも読んでて心地いいんだが
2025/10/11(土) 09:06:22.22ID:iR3N7kKL
xlwingsいいよな
調子に乗って沢山呼ぶと糞遅いけど
2025/10/11(土) 12:07:30.45ID:Yl843iVz
>>77
その理屈だとCOMはVBAってことになるな
なんだよVBA滅茶苦茶使われてるんじゃん
2025/10/16(木) 14:30:54.76ID:oDClVh0R
プルールのひとつめっけ
https://dl.ndl.go.jp/pid/1077355/1/31
日本全国諸会社役員録という本、アドレスはあくまでも31/914ページという意味
最初から見てっても中々面白い 東京府だし、並び順はいろは順だし ヰもヱもあるし
ビルデングもビルヂングも混在 日本フヰラメンドあり日本フアイアツト自動車あり
ブルドックソースが何だって?
2025/10/16(木) 15:17:07.38ID:oDClVh0R
https://dl.ndl.go.jp/pid/1136907/1/100
2025/10/17(金) 06:28:14.20ID:Qpm+e9K0
6分で終わる簡単な作業をいつもやってるからと思ってExcel VBAにしたら4時間もかかった
40回でペイする計算
1ヶ月に1回の頻度として3年4ヶ月でペイする計算
1ヶ月以上ブランクがあって作るのに時間がかかった
これを作るときに以前作った別のものをまた作ってしまったことに大体完成してから気づいた
使わないと作ったことを忘れる
役に立つものでこれからも使うか使わないか前もって予測できないから作るしかない
そのなかに使うものが出てくるし使わないものも出てくる
ちょこちょこ作るのは効果があると分かってるが本当に効果があるか愚痴を言いたくなった
2025/10/17(金) 08:01:24.16ID:lzj//9Gm
なんたるプログラミング能力が低さよ
85デフォルトの名無しさん
垢版 |
2025/10/17(金) 09:21:41.22ID:2jUaiXhz
まあスキルも積み重ねが大事
あと人為的ミス防止やデータが多い時も速いことなども目的にしないとね
若いなら転職の小ネタにもできる
2025/10/17(金) 16:13:06.36ID:IG/te/XB
イレギュラーなデータとかエラー処理とか完璧にやろうとするとメインの処理は簡単でもめちゃくちゃ長いコードになったりする
2025/10/17(金) 18:48:27.53ID:ZOdCVHpQ
でも他人に使わせる前提だとそこがすごく大事なんだよな
自分用を手早く作れるのはそこ端折れるからってのがある
88デフォルトの名無しさん
垢版 |
2025/10/18(土) 14:30:46.29ID:ViyQQZbE
質問です

・テキストボックスを多用したユーザーフォーム群を作っていて、IMEMode変更を多用している
・一部vbIMEModeKatakanahalf(以下半カナ)に設定してある
・フォームを使い終わったとき、IMEModeOnが半カナに固定されてしまう(要するにA↔半カナ状態に)

そうなってしまうのは仕方ないけど、フォームを抜ける時にA↔全かなの状態に戻したい
ということでTerminate処理で全かなのBoxにSetfocusしてから抜けるようにしてみたところ、ステップインなら成功するけど通しで処理させると失敗してしまう…

なんかいい方法ありませんか?
全かなBoxのみを設置した仮フォームを呼び出してすぐ閉じるくらいしかないのかなぁ…
89デフォルトの名無しさん
垢版 |
2025/10/18(土) 14:31:46.82ID:ViyQQZbE
それこそ>>87の言うように自分で使う分には「ちと面倒だけどまあ戻せばいいだけ」で済むけど、PCに疎い人達にも使わせるから「なんかひらがなが打てなくなったんだけど~」って言われるのは目に見えてるので…
2025/10/18(土) 14:46:43.70ID:ViyQQZbE
連レスすみません

「基本的には英数字だけど、半カナも打つことがある」Boxもあるので、「A↔半カナ状態のIMEModeOff」にするとかもできれば理想です
91デフォルトの名無しさん
垢版 |
2025/10/18(土) 17:07:29.84ID:+vuE6Mxs
>>88
TerminateだとSetFocusしようにもすでにテキストボックスが存在しないんじゃないの?
× Terminate
○ QueryClose
2025/10/18(土) 19:05:19.85ID:0zFTkOmI
>>90
自由に入力させて、入力後に判定処理入れるのがいい
2025/10/18(土) 19:06:44.69ID:ViyQQZbE
>>91
レスありがとうございます
QueryCloseでもダメでした…

なるはやで実用化したかったので、とりあえずは全かなBoxを置いたダミーフォームを一瞬出現する形でお茶を濁しました…
でも自分でもかなり使うモノだから気持ち悪さが拭えないので、可能ならどうにかもっとスマートに処理したい…
2025/10/18(土) 19:17:28.64ID:ViyQQZbE
>>92
ありがとうございます
そのまま打ってF8やF10ってのを覚えてくれれば楽なんですけどね…
PC疎い民もさすがに半角全角キーを押すことくらいは分かるので、基本的にはIMEModeOffだけど半角全角キーを押すと半カナになるってのがやりたいんです

我ながら駄文すぎて分かりにくかったけど、要約するとIMEModeOn時の行き先を自在に操りたいってことですね
2025/10/19(日) 10:59:45.64ID:/YxBx4q/
テキストボックスのイベントでExitにIMEを元に戻す記述を書く
https://www.javadrive.jp/excelvba/userform/index93.html
sheet上でも出来るとは まぁ、知らん奴が使ったらヒステリー起こしそうだが
https://infith.com/system/excel/ime_validation/
2025/10/28(火) 09:16:29.14ID:Kk67eWAx
Worksheet_BeforeRightClickを素早いクリックに反応させる方法ってありますか?
例えば右クリックでカウントアップするような場合、ゆっくりクリックしないと取りこぼすので、それをできるだけ軽減したいという話です
2025/10/28(火) 11:49:26.91ID:BUlcRJ6d
>>96
ワークシートのイベントはどれも動作が遅い
透明なオートシェイプをセルの上に重ねて、オートシェイプのClickイベントを使えば16連射も可能になる
ただし右クリックでは動作しない
2025/10/28(火) 13:00:23.09ID:NppxA0uZ
>>96
素早いクリックがダブルクリックと判定されてるかもね
2025/10/28(火) 16:30:11.08ID:xLHeS3+n
そんなに連打が必要な業務なのかわからんけど
マウスも一枚岩じゃ無いから(個体によって性能違ったり、有線無線で変わるかも知らんし)
ユーザーフォームとかにオプションボタン並べて、○1 ○5 ○10 ○25 ○50 ・・とかを事前に選択してから
右クリさせるのはどうか 二度手間三度手間が嫌だとクレーム来るのとトレードオフに成るが

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True ' Prevents the default right-click menu

Application.ScreenUpdating = False ' Turn off screen updating

' Your optimized code here, e.g., displaying a custom menu or performing actions
' ...
Dim i As Integer

For i = 0 To 100
' ステータスバーの表示が更新されない場合は、コメントをはずす
'DoEvents
' ステータスバーに出力
Application.StatusBar = "処理回数:" & i

Next
' ステータスバーのクリア
'Application.StatusBar = False
Application.ScreenUpdating = True ' Turn screen updating back on
End Sub

その辺で拾った野良のコードの合体モンだけど、回数:100にするのも一瞬なんだし
100デフォルトの名無しさん
垢版 |
2025/10/28(火) 18:40:17.09ID:k7xgJ8GR
そもそも右クリック連打が必要な設計を見直したほうが早いんじゃね
2025/10/28(火) 19:08:25.22ID:HpHj+cai
よく読め、連打が必要な訳じゃないと思うぞ
俺も似たような問題にぶち当たったことがあるから言いたいことは分かる
俺の場合はユーザーフォームだったからなんとでもやりようがあったけど、シートイベントでどうすべきかは思い付かんなぁ

ユーザーフォームなり透明オブジェクトなりで代用できそうか考えてみるのは大事かもな
2025/10/28(火) 19:36:17.85ID:xLHeS3+n
そうか、迂闊か
そういやチャタリング・チェックできるサイトとかあるから、そこでチェックもありか
2025/10/28(火) 20:59:15.35ID:WbU161W5
>>101
ダブルクリック判定にひっかかってるのかもしれんが、ユーザーフォームも単純な連打はうまく処理できない
2025/10/28(火) 21:36:11.37ID:uh3txXo7
要はこれっしょ

VBA フォームのボタンの反応が遅い理由と対策 - t-hom’s diary
https://thom.hateblo.jp/entry/2017/12/07/215055

これと同じようなことをワークシート右クリでやりたいってことやろ?
ワークシートだと安易に左クリックにはできない事情もあったりするし、こういう感じでフォームとかで代用できないか検討してみたら?
2025/10/28(火) 21:48:56.73ID:xheP7Ub+
レス遅れてすみません!
まさに>>104さんの言う通りです!
より具体的に言うと5種類の値から選ばせたくて右クリックで順繰り変更するマクロを作ってたんですが、例えば4番目の値を選びたいときなんかに慣れてくるとどうしても「カチカチカチカチ」って押してしまって反応が悪いと言われたのでどうにかしたくて
反応が悪いで済めばまだいいけど、それで間違った値のまま提出されたりすると困るのだ
2025/10/28(火) 21:49:30.45ID:xheP7Ub+
困るのだ じゃなくて 困るので です!!
107デフォルトの名無しさん
垢版 |
2025/10/28(火) 21:57:34.33ID:DelTjWwd
バカボンのパパ(´^ω^)
2025/10/28(火) 22:41:09.17ID:wDWtv1wu
>>105
マウスじゃなくキーボードでトグルしていくUIはいかが?
こんなの(INSキーでA1セルの値が増える)

Sub Init()
Application.OnKey "{INSERT}", "ThisWorkbook.OnKey_Ins"
End Sub

Sub OnKey_Ins()
Range("A1").Value = Range("A1").Value + 1
End Sub
109デフォルトの名無しさん
垢版 |
2025/10/29(水) 02:29:29.22ID:SoMHk0As
馬鹿は馬鹿な頭で考えた馬鹿な方法に固執する例
110デフォルトの名無しさん
垢版 |
2025/10/29(水) 06:43:39.82ID:0NTgZ+aL
これでいいのだ
111デフォルトの名無しさん
垢版 |
2025/10/29(水) 06:46:48.28ID:0NTgZ+aL
>>109
この人カバの逆立ちなのだ
11296
垢版 |
2025/10/29(水) 07:39:58.02ID:K2GlQHDP
代案ありがとうございます!
やはり何かしらの大体策を考えるしかないですかね
右ダブルがキャッチできれば解決するんだけどなぁ
2025/10/29(水) 18:26:50.09ID:GMHlOV3c
カバは逆立ちしてもカバなのだ
114デフォルトの名無しさん
垢版 |
2025/10/30(木) 03:56:51.64ID:k5qTIKM4
【高市自民】自維連立に衝撃 維新トップに赤旗砲「重大疑惑」2千万円絡む疑惑と 共産党Xが「だから裏金自民党とも組めるのか」と攻撃 説明求める声
https://news.yahoo.co.jp/articles/89adcdb576a46579b90da08ae8924ad11c08b470
115デフォルトの名無しさん
垢版 |
2025/11/01(土) 03:09:02.74ID:2yW7ZPbn
環境構築も配布の容易さも世の中の情報量も加味するとpythonなんて比較対象にならんな
特定のシステムでVBAに勝てるものはないわ
運用される規模は部署内程度になゆけどさ
2025/11/01(土) 10:44:13.81ID:kVMvyffB
マクロを起動するための各種コントロールは今後はフォームを使うべきなのか
これまで作ってきたActiveXコントロールは置き換えていくべきなのか
117デフォルトの名無しさん
垢版 |
2025/11/01(土) 10:47:01.86ID:abESDRO+
PythonはてっきりVBE上で使えると思ってたからなぁ
ワークシート上の関数とかじゃ使いづらすぎて拍子抜けだわ
2025/11/01(土) 16:45:53.46ID:IivztI/y
>>116
デフォルトでActiveX無効になったから、置き換えないと支障が出ることが多い
2025/11/01(土) 17:42:27.38ID:Hux2CBJ+
365に変えてから動かなくなった原因がそれだった
120デフォルトの名無しさん
垢版 |
2025/11/01(土) 18:59:05.05ID:h6jsjnZZ
マクロが増えてきてどれがなんのマクロか分かんなくなってきた。間違ったマクロが実行されたEXCELが元に戻らないのも嫌だし、どうしたら良いですか?
121デフォルトの名無しさん
垢版 |
2025/11/01(土) 19:04:29.39ID:xL3BSUWP
うまい具合に人のせいにしてください
2025/11/01(土) 19:35:09.78ID:b8gravi3
間違ったマクロを実行した時にEXCELを元に戻すマクロを作ればいい
2025/11/01(土) 19:53:55.68ID:+zpxt/zr
適切なマクロを実行するマクロを作る
2025/11/01(土) 20:11:15.61ID:6pe+t0kU
AIに丸投げして聞いたらいい
完璧に教えてくれるよ
125デフォルトの名無しさん
垢版 |
2025/11/01(土) 22:42:21.33ID:h6jsjnZZ
>>121
採用!
2025/11/05(水) 14:44:44.11ID:rUtaLWLS
>>125
人のせいであっても現状の問題への対応はしなければならないのではないか
2025/11/16(日) 08:35:29.66ID:BUsW0orn
ピボットテーブルのスライサーが変更されたとき、
ピボットテーブルを置いているsheetについて
 Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
を使っていくつかのマクロを実行させるようにしているんだけど、
これが3つあって、関連するクエリーやらをちょっとメンテ作業すると、これも動いてしまうものだから、
いちいちコメントアウト?(頭に ' 付けるヤツ)にして、このマクロを止めている。

これもっと上手いやり方ないかしら?
2025/11/16(日) 08:47:46.14ID:Mx/pwiFm
デバッグ用定数を定義しておいて、
そのデバッグ用定数の値が特定の値なら動かさない、とかにすれば、
メンテ中の変更が一カ所で済む、とかそういう話?
129デフォルトの名無しさん
垢版 |
2025/11/16(日) 08:48:05.74ID:diBaXt68
よく分からんが、フラグ変数とかじゃダメなん?
130デフォルトの名無しさん
垢版 |
2025/11/16(日) 09:13:04.26ID:bRFFjOtJ
どこかのセルをデバッグON/Offのフラグにする
2025/11/16(日) 09:16:36.49ID:EzK8Q/Ny
デバッグ定数を使うかApplication.EnableEventsを一時的にFalseにするか
ちなみにデバッグ定数はシート上に隠しておく形式にして例えばRange("A1").Value = Not Range("A1").ValueみたいなSubをイミディエイトから呼び出すのが個人的には楽
2025/11/16(日) 09:32:54.60ID:BUsW0orn
>>128
うーん、クエリー弄っちゃうと修正途中なので
不用意に動いたVBAでデバッグ入って・・・
てのはあるんだけど。

そもそもの
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
を一時的に止める方法はないのかと。

やっぱ、ワークシート上のどっかのセルに「メンテ中」なら "1" でも入力して、これをフラグにして
3つのPrivate Subの中で if then で、1ならそのまま終わるか、Call 以下のマクロを実行するかの分岐処理?

先達らはもっときれいなことやっているのかと・・・
2025/11/16(日) 09:33:47.22ID:EzK8Q/Ny
分かるとは思うけど一応

Public Const IsDebug As Boolean = False  '平時
'Public Const IsDebug As Boolean = True   'デバッグ時

Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
If IsDebug Then Exit Sub

'ここに処理を記述

End Sub

みたいにするってことね

コメントアウトを楽にするならConstじゃなくて
Public Function IsDebug As Boolean
' IsDebug = True  '平時はコメントアウトする
End Function
にするのもアリ
2025/11/16(日) 09:37:59.73ID:EzK8Q/Ny
あ、ミスった
シートモジュールだけにまとめるならPublicなConstは使えないから、Const定義を標準モジュールに書くか、PrivateなConstにするかしてね
2025/11/16(日) 09:39:00.23ID:BUsW0orn
言ってみれば、プロシージャのインターロック機構みたいな仕組みかな?
2025/11/16(日) 09:41:42.45ID:BUsW0orn
>>133,134
ありがとう。
やってみる。
2025/11/16(日) 09:41:49.72ID:EzK8Q/Ny
そそ
ちなみにどのプロジェクトでもまず最初にこの機構を作る癖を付けておくといろいろ捗るよ
2025/11/16(日) 13:12:18.31ID:0LN83zrS
最近のyoutube動画観てると
MS Office が web アプリの Office と実質同じ
観たいな説明が多くてうんざりする
139デフォルトの名無しさん
垢版 |
2025/11/16(日) 14:23:25.70ID:qgfY8rnj
web アプリの Officeは知らん。
どんなの?
140デフォルトの名無しさん
垢版 |
2025/11/16(日) 14:37:50.55ID:WuYYEw3+
Excel for the webとかのことやろ
141デフォルトの名無しさん
垢版 |
2025/11/16(日) 16:08:17.79ID:pZ2suisg
可視化のために色とデータを
一気に出力させたら描写遅延が初回に絶対発生するわ
画面一瞬シェイクさせるのを追加したことで解消
システムを高評価されたのはいいけど他社まで展開されるとは思ってなかったから超強力に作り込んでる
2025/11/19(水) 12:39:22.87ID:T8xhcS/6
趣味程度でしかやってないからコーディングのマイルールが中々定まらん
そのせいでメンテナンスしたり新しいプロジェクトを作り始める度にああでもないこうでもないと試行錯誤する無駄な時間が…
ってことで質問なんだけど、みんなが心掛けてるマイルールってなんかある?

ちなみに自分の中で明確なのはWith構文は余程面倒な括りじゃない限り使わない、型指定はAs~より&や$などを優先的に使うとかかな?
例えば型指定の省略形は一般的にはあまりよろしくないことは分かってるけど、うちの環境ではどうせ俺しか触らないしコードがスッキリして好きだからそうしてる
こんな感じで「一般的にはよろしくないとされるルール」でも全然いいので色んなアイデアが欲しいです
143デフォルトの名無しさん
垢版 |
2025/11/19(水) 12:57:01.35ID:gC8HGDrL
最近はVBAを直接書くことはあまりなくてPytnonのxlwingsを使うことが多いんだけど、既定のプロパティを使わないとかかな。「VBA コーディング規則」とか「VBA コーディングガイドライン」で検索すると色々出てくるね。
144デフォルトの名無しさん
垢版 |
2025/11/19(水) 13:01:31.21ID:pFGIqcYh
コメントは書かない(コメントがなくても理解しやすい命名やロジックにする)
2025/11/19(水) 19:03:32.46ID:pYKM/3rA
入力チェックやファイル読み書き読み込み等の他で使えそうな処理は汎用化する。
データの入力、加工、出力は処理を分ける。
2025/11/19(水) 22:38:56.82ID:cV15jrOu
>>142
改行とインデントはVBと同じにしてる
Visual Studioにコピペして自動整形されたやつをVBEに戻したりもしてる
変数名は気分次第だけど、英語の語彙力がないから全角文字も許容しないとすぐに詰む
コメントはできるだけ詳細に書く
147デフォルトの名無しさん
垢版 |
2025/11/20(木) 08:10:04.82ID:cGqMER0e
会社のVBAならドキュメントの場所をコメントに書いておく
2025/11/20(木) 09:52:55.59ID:gRH2Ls2k
>>144
そのルールだとwhyはどう記すの?
149デフォルトの名無しさん
垢版 |
2025/11/20(木) 19:09:59.75ID:qnTj7J5a
生成AIで出てきたコードをそのまま使う
150デフォルトの名無しさん
垢版 |
2025/11/25(火) 10:36:05.24ID:0uCcBRN1
WordのVBAのスレはありますか?
151デフォルトの名無しさん
垢版 |
2025/11/25(火) 11:10:13.87ID:F0vSFTML
昔はあった気がする
そう言えば ActiveX のスレも消えてるな
152デフォルトの名無しさん
垢版 |
2025/11/25(火) 21:40:54.81ID:AgmnBjOL
VBAなんでも質問スレ Part3
https://mevius.5ch.net/test/read.cgi/tech/1631184381/

ここかなぁ
153デフォルトの名無しさん
垢版 |
2025/11/26(水) 10:05:38.98ID:QKRdq7W1
>>152
ほぼ動いてないみたいですね。
ありがとうございます。
2025/11/26(水) 14:41:57.77ID:UA8LnUux
>>144
>コメントは書かない(コメントがなくても理解しやすい命名やロジックにする)

>>133-134
>あ、ミスった

ミスったじゃねーよボケカス
155デフォルトの名無しさん
垢版 |
2025/11/26(水) 16:54:08.05ID:i+EWuoJl
>>153
EXCELとACCESS以外はほとんど需要ないから
2025/11/26(水) 18:44:46.44ID:AiiNbb6A
李夫人「ギスギスしてますね」
気軽に会話できるフインキじゃない
2025/11/26(水) 21:02:04.46ID:NgA/vaPc
出来上がってたマクロをAIで改良したら動かなくなって色々試したけど結局最初のに戻そうと消して貼り替えたら違うの貼っちゃって元に戻らなくて死にそう。ExcelVBAってバージョン管理どうやったらいいの?
(´・ω・`)どうしよう、あと2日しかない、、
2025/11/26(水) 21:27:39.98ID:XHc1Lvk5
Rubberduckちゃん使ってActive ProjectをExport、
出力されたファイルをバージョン管理
159デフォルトの名無しさん
垢版 |
2025/11/26(水) 21:52:38.66ID:6HGM8CMx
前任者の作っていったVBAのプロシージャ名がテポドンとかパトリオットとかだわ
タケヤリもある
処理のボリュームと連動してるのがちょっと笑えた
2025/11/26(水) 21:57:50.45ID:JxrtDXSM
この前テポドンという半グレ集団捕まってたよな
2025/11/27(木) 12:55:16.44ID:s8MajZ9+
Tips
Rubberduck isn't a lightweight add-in and consumes a large amount of memory.
github.comのレポジトリにこんな記述があった
162デフォルトの名無しさん
垢版 |
2025/11/27(木) 13:52:52.24ID:2EmBR7sq
規模にもよるけど >>157 の言ってる話くらいなら
Excel の VBA エディタを使わずに
完全に別のテキストエディタをメインで使用して
都度 Excel にコピペして使うのが正しい
2025/11/27(木) 20:59:46.47ID:+1jsb7au
>>157
リカバリのことではないけど、コードを修正する前にはマクロブックをコピーしてバックアップはするなぁ
一時、本当によくファイルも壊れてたし
自動でモジュールをエクスポートしてGitで管理ってのもみたことあるけど、プロジェクトをいじるには権限の設定も変更の必要とあるし…
2025/11/27(木) 21:01:15.19ID:PwMHoPlI
日本語不如意で失礼
2025/11/27(木) 21:13:09.05ID:JXPCwm5x
フォームのレイアウトが壊れたこともあったな
166デフォルトの名無しさん
垢版 |
2025/11/28(金) 04:25:10.05ID:YehK5uv+
フォームやオブジェクトにソース埋め込むとか発想がイカレてる
2025/11/28(金) 19:18:54.56ID:vLpOhufo
>>157
終わるまで帰らないでやるしかないんじゃね
168デフォルトの名無しさん
垢版 |
2025/11/29(土) 07:29:36.55ID:BQ0UyPY+
なぜ問題がわかっていて修正しないのか
169883
垢版 |
2025/11/29(土) 10:18:21.57ID:iIxCzldN
バックアップ取らないでいじるとか狂気の沙汰としか思えんのだが
2025/11/29(土) 19:12:35.55ID:TehwSFPe
昔はファイル保存しないで動かしたらPCがフリーズして
リセットしたら全部消えたみたいな事だな
初心者あるある
171デフォルトの名無しさん
垢版 |
2025/11/29(土) 21:26:22.14ID:n05F73FJ
問題が解決すると仕事なくなるから
2025/11/29(土) 21:37:44.45ID:OyeyDU4l
みんな失敗しながら覚えたんだよ
173883
垢版 |
2025/11/30(日) 12:32:05.33ID:Rjr5dfQ3
ループの脱出条件入れ忘れてExcel落とすしかなくなるのは割とよくある
2025/11/30(日) 13:21:22.00ID:q4Ox41Rw
その程度のミスは今だったら実行前にAIに聞いたら完璧に指摘してくれる
2025/11/30(日) 15:30:09.72ID:HluJBWz5
Breakキーおしたれや
2025/11/30(日) 20:47:11.89ID:n9jb1y8V
Pauseキーでも
177883
垢版 |
2025/12/01(月) 00:49:03.41ID:2rhS7iMC
PauseもBreakも聞かない時あるんだよ
Do Until EOFとかやって MoveNext忘れたりとか
178デフォルトの名無しさん
垢版 |
2025/12/01(月) 01:14:39.29ID:v+ozH3Tb
Excel落とす以外でこれ止められる方いますか

Do
MsgBox ""
Loop
2025/12/01(月) 08:20:22.98ID:r9R4xsMu
>>178
MsgBoxはイベント待ちなんだから普通にPauseかBreakで止まる
2025/12/01(月) 08:28:00.33ID:tcT2iRS+
昔はCtrl+Breakで止めてた気がするんだけど、いつからBreakやPauseでも止まるようになったんだろう
2025/12/01(月) 08:39:52.73ID:ubTuQfiQ
最小限のコードで試したらBreakでちゃんと止まったんだが
Sub a()
Do
Loop
End Sub
2025/12/01(月) 09:07:39.80ID:8UMxtbvd
ESCで止めてたワ
183デフォルトの名無しさん
垢版 |
2025/12/01(月) 09:14:44.31ID:Yc6N6c2G
184デフォルトの名無しさん
垢版 |
2025/12/01(月) 09:15:32.34ID:Yc6N6c2G
https://www.tv-asahi.co.jp/doraemon/story/0876/
2025/12/01(月) 13:43:06.07ID:HDTmHOXC
3DゲームQの片仮名版
2025/12/01(月) 22:04:21.94ID:IZW/WYcf
(ヽ´ω`)何とか休日も潰して復旧間に合いました⋯。
うちのVBAはstopって書いてあるテキストを同じフォルダに作ると止まるっていう謎仕様をAIが作ってくれました。これはよくある手法なのかな?全然止まんないけど。
187883
垢版 |
2025/12/01(月) 22:17:37.20ID:2rhS7iMC
>>186
乙かれ 次はバックアップ忘れんなよ
2025/12/01(月) 23:08:53.03ID:ageADKO+
>>186
おつかれさま
老婆心ながら、AIに頼るのは自分自身が問題解決能力を身につけてからのほうがよいかもね
189デフォルトの名無しさん
垢版 |
2025/12/02(火) 03:17:53.87ID:9d4GAP4H
バックアップツールインストールして
バックアップ作業始めた瞬間に
PC壊れて間に合わなかったことがあるな
2025/12/02(火) 04:11:23.33ID:dszzNCzC
マーフィーの法則だな
2025/12/03(水) 02:25:08.80ID:oIB/w2I6
マーフィーに言われなくても判ってたことが多い
2025/12/03(水) 02:28:54.34ID:8lNTA0Gx
エディー
2025/12/03(水) 06:00:36.74ID:8R4Psvx3
おっ知らんのか
2025/12/03(水) 11:42:47.73ID:G3Cx7y7o
現象に「名前を付けろ」とは良く言ったもので
195デフォルトの名無しさん
垢版 |
2025/12/04(木) 12:17:45.10ID:zhXSMovz
バックアップの負担がとどめになったり
普段アクセスしない不良領域にアクセスした事で検出されたり
あるある
2025/12/04(木) 20:42:16.32ID:XsR8CO/+
「いくつかの方法の中で、もし間違った方法があるなら、人はそれを必ず選ぶだろう」
俺じゃんww
2025/12/05(金) 14:43:51.04ID:W90mTSw7
>>195
トドメの一撃ですねわかります
2025/12/05(金) 17:07:05.58ID:uKBTUnuN
どどめ色
2025/12/05(金) 22:53:44.98ID:itJCEMXW
ゴミ箱から消したExcelのデータを完全に消すVBAの作り方教えてください
2025/12/05(金) 22:58:24.82ID:nmx3VDnP
Win32APIのSHEmptyRecycleBinを使えば良い
2025/12/05(金) 23:01:52.33ID:itJCEMXW
>>200
すげぇぇー!ありがとうございます。
2025/12/06(土) 08:22:07.86ID:Ns9W5jkq
最近勉強も兼ねて基本的なオブジェクトのラッパークラスを作るのにハマってる
せっかくだからある程度できてきたら実用もしていきたいんだけど、親子関係とかにこだわるとクラスモジュールがどんどん増えるからプロジェクトを作る度にインポートするの面倒だな
それに自作クラスに慣れちゃうと元オブジェクトの使い方を忘れて困りそうだしな

あれ?じゃあなんで作ってるんだ…?
203デフォルトの名無しさん
垢版 |
2025/12/06(土) 09:06:30.20ID:CSgKSHqQ
>>202
自作ライブラリは何年か経つと自分すら使い方がわからなくなる
情報の溢れてる公式APIに勝るものなし
204デフォルトの名無しさん
垢版 |
2025/12/06(土) 09:41:31.06ID:t4ge40oj
>>200-201
「削除してゴミ箱にあるExcelのデータを消す」これはSHEmptyRecycleBinでいけるが
「ゴミ箱から消したExcelのデータを完全に消す」これはSHEmptyRecycleBinでは無理だろ
>>202
https://smdn.jp/programming/tips/emptyrecyclebin/
2025/12/06(土) 12:26:26.84ID:qRv+I2CP
自分も引っかかったけど、
「ゴミ箱から消した/Excelのデータを」ではなく
「ゴミ箱から/消したExcelのデータを」なのかも
伝わりにくいか…
206デフォルトの名無しさん
垢版 |
2025/12/06(土) 14:16:49.57ID:ARinuXXT
消したExcelのデータをゴミ箱から完全に消す
207デフォルトの名無しさん
垢版 |
2025/12/06(土) 15:09:02.17ID:kcqrt2m8
EXCELのファイルを選別するのができないのか?
208デフォルトの名無しさん
垢版 |
2025/12/07(日) 01:00:20.13ID:lLFPKabv
よくある質問者が既にいないのに話題を続ける奴が残る感じ
209883
垢版 |
2025/12/07(日) 01:26:47.58ID:dEBXo/lp
質問者が来るとバカ呼ばわりするバカが居るしなー
210デフォルトの名無しさん
垢版 |
2025/12/07(日) 08:10:22.37ID:b/YhOsIH
と、バカが申しております。
211デフォルトの名無しさん
垢版 |
2025/12/07(日) 09:34:45.36ID:HnfNj0pp
>>210
このハゲ!🦲
2025/12/07(日) 12:14:53.22ID:D6Rcvjje
完全に消したいです!
213デフォルトの名無しさん
垢版 |
2025/12/07(日) 12:16:43.46ID:gSHrQBcc
format
2025/12/07(日) 13:36:38.71ID:jjhMYiFl
formatで完全に消えるわけじゃないけどな
215デフォルトの名無しさん
垢版 |
2025/12/07(日) 14:00:51.18ID:wjXVhGdJ
ドリルを使うのが定番らしい
216デフォルトの名無しさん
垢版 |
2025/12/07(日) 15:18:24.12ID:WSDO/8Sv
ドリルすんのかい
2025/12/07(日) 16:34:53.96ID:4wunMZ1B
さんすうドリル
2025/12/07(日) 19:23:37.86ID:qO8AVoFB
完全に消すなら溶鉱炉に突っ込むしか
2025/12/07(日) 20:10:29.28ID:D6Rcvjje
ディスククリーンアップでも消えないんだっけ
出荷状態に戻したらアカウントも切えるしな
220デフォルトの名無しさん
垢版 |
2025/12/07(日) 20:16:50.80ID:0JHpnbXH
米国国防総省準拠方式DoD5200.28-Mがいいと聞いた
221デフォルトの名無しさん
垢版 |
2025/12/08(月) 11:34:41.23ID:ohFCSp2s
I'll be back! b
で 3回ほど上書き
最後に念のため塩水か酸に3年程漬ける
2025/12/08(月) 13:33:42.25ID:cI+IAhW6
まず服を脱ぎます
2025/12/08(月) 20:35:17.92ID:AM3PfGHm
DLいるけどコマンドで消せそう
2025/12/08(月) 20:43:32.54ID:7foZRiLq
ずっと昔、HDDが小さかった頃はバッチで無限ループして、意味のない内容のファイルで領域をいっぱいに上書きして、ってやってたな
2025/12/08(月) 21:04:15.75ID:Y7FlZnC1
スレ違いの話題をいつまでも続ける老人会
2025/12/08(月) 23:03:55.20ID:p8pOo59T
https://www.youtube.com/watch?v=eFgzMPVZdVs
227デフォルトの名無しさん
垢版 |
2025/12/09(火) 08:00:02.65ID:Md263dWo
変数名は_で区切るのか、それとも頭文字小文字頭文字大文字で区切るのか、どう命名するのがオシャレで今時なのでしょうか?
228デフォルトの名無しさん
垢版 |
2025/12/09(火) 08:20:04.79ID:Md263dWo
沢山の引数をTypeでまとめて引き渡すのは普通の事なのでしょうか?
沢山の書籍やネットの記事を見てきましたが、その様なコードは一切見た事がありません
229デフォルトの名無しさん
垢版 |
2025/12/09(火) 08:20:48.43ID:hJ7ZW6qG
言語である程度おすすめが示されていることもあるけど、VBAってどうだっけ? クラス名はアッパーキャメルケースにする人が多いけど、変数・関数は好みじゃない?
Javaの経験がある人はキャメルケースを好み、Pythonの経験がある人はスネークケースもしくは区切りの _ も省略したjointwordsスタイルを好む人が比較的多いとか、そういう傾向はあるかもしれないけど。
230デフォルトの名無しさん
垢版 |
2025/12/09(火) 08:42:54.43ID:Md263dWo
小文字大文字は違和感があって、本当にこれでいいのかなという感じです
2025/12/09(火) 08:43:11.33ID:Cqli7Rfr
マイコォソフトがハンガリアン記法に傾倒してた時代の言語だからアッパーキャメルケース
232883
垢版 |
2025/12/09(火) 08:52:16.60ID:pNV+FLYU
>>228
C言語育ちのワイは普通にやる
2025/12/09(火) 10:04:40.09ID:l/Nn/UyZ
>>227
まず正常に動くことが優先で名称はその次のステップだろ
次にチームで共有するか、後任に引き継いでいくのか、個人だけの使用かで影響を気にするし
自分以外が使わないならただの自己満足だし好きにすれば良かろう
2025/12/09(火) 10:26:43.91ID:bIlCpHR7
BASICの歴史を尊重してフル大文字8文字以内です
2025/12/09(火) 10:46:42.10ID:oTj8LC3z
MS公式VBAマニュアルはC#方式になってるな
2025/12/09(火) 11:01:16.89ID:7JykU8Yz
変数名の表記法の一例
【camelCase】2番目以降の単語の先頭を大文字にする。最初を小文字にするのは関数名などと区別するため
【lowerCamelCase】camelCaseと同じ。上に飛び出た大文字がラクダのこぶのようだからキャメル
【biCapitalization】camelCaseと同じ
【interCaps】camelCaseと同じ
【mixedCase】camelCaseと同じ
【UpperCamelCase】各単語の先頭を大文字にする
【PascalCase】UpperCamelCaseと同じ
【UpperPascalCase】UpperCamelCaseと同じ
【snake_case】全部小文字、アンダーバーで区切る。文字数が増えて細長くなるからヘビ
【lower_snake_case】snake_caseと同じ
【lower_case_with_underscores】snake_caseと同じ
【UPPER_SNAKE_CASE】全部大文字、アンダーバーで区切る
【kebab-case】全部小文字、ハイフンで区切る。ハイフンがケバブの串
【lisp-case】kebab-caseと同じ
【dot.case】全部小文字、ドットで区切る
【システムハンガリアン記法】strNameなど、型を最初につける
【アプリケーションハンガリアン記法】indexNameなど、用途を最初につける
【ハンガリアン記法】システムハンガリアンと同じ、とする場合が多い
237デフォルトの名無しさん
垢版 |
2025/12/09(火) 17:32:40.15ID:Md263dWo
他の人が見た時に「なんだこの変数名だせーな」と思われるのが恥ずかしいので
2025/12/09(火) 17:45:37.83ID:VGSDNKqb
>>237
それは適切な言葉(単語)を使ってるかどうかの問題では
大文字とか区切り記号以前の話だと思うけど
239デフォルトの名無しさん
垢版 |
2025/12/09(火) 17:45:48.01ID:MYO7WY85
アンダーバーで始まる変数はどういう意図があるのですか?

例えば、
_value
_name
_aho
240デフォルトの名無しさん
垢版 |
2025/12/09(火) 17:57:04.44ID:Md263dWo
変数名やメソッドの名前をAIに考えてもらうという事を学びました
241デフォルトの名無しさん
垢版 |
2025/12/09(火) 18:04:10.60ID:qbLtmdIz
アンダースコアから始まる名前は、特定の言語機能と結び付けられていたり、システムとかフレームワークで使われることが多いので、特に理由がなければプログラマは使わない方がベターというのはある程度共通認識なんじゃない?
2025/12/09(火) 18:32:44.02ID:l/Nn/UyZ
>>239
アンダーバーを入力した際に候補が表示されれば選択するだけで変数を入力できるのだが
excelだとアンダーバーで始まる変数は作れないがvbではそれができる
2025/12/09(火) 18:36:12.70ID:oTj8LC3z
JavsScriptだとアンダーバーはprivate変数の意
244デフォルトの名無しさん
垢版 |
2025/12/09(火) 18:46:46.99ID:Md263dWo
AIに「簡潔な数学の数式を教えてください」と尋ねてそれを利用する方法に気付いたのですが、有効でしょうか?
2025/12/09(火) 18:49:33.84ID:l/Nn/UyZ
C言語の定義ではアンダーバーで始まる名前がすでに使われているから普通は使わないな
2025/12/09(火) 18:53:49.68ID:l/Nn/UyZ
>>244
その数式が目的に沿った正しい数式と判断できたなら利用していいんじゃね
あと馬鹿っぽい質問だしそれこそAIに聞いて判断したらいいんじゃねw
247デフォルトの名無しさん
垢版 |
2025/12/09(火) 19:49:37.18ID:Md263dWo
>>232
つまりクラスがあるならメンバーやプロパティ
クラスがなければTypeを利用するという事でしょうか?
248デフォルトの名無しさん
垢版 |
2025/12/09(火) 20:26:44.94ID:MYO7WY85
>>232
ワイはサルや!
249デフォルトの名無しさん
垢版 |
2025/12/09(火) 20:35:01.16ID:xx5Gy7RY
ID:Md263dWo

こいつ、以前にいた荒らしか
250883
垢版 |
2025/12/09(火) 20:42:54.83ID:pNV+FLYU
>>247
自分が楽するためにExcel VBAで好きにプログラミングしてる俺にそんな統一基準はない
その場の思いつきで適当にやってるだけ
2025/12/09(火) 21:04:03.77ID:MuQ6uIdt
Excelは簡単にVBA使えるのにOutlookはVBA使えるのに使えないの意味不明。ExcelはなんでVBA特別待遇なの?
2025/12/09(火) 21:10:27.12ID:3pWFnGSq
ExcelでしかVBA使わない馬鹿は知らないのかもしれないけど、
Excelが特別待遇なのではなく、
Outlookが特別待遇なんだよ
2025/12/09(火) 21:23:41.32ID:MuQ6uIdt
Excelだけ充実しすぎじゃね?
254883
垢版 |
2025/12/09(火) 21:33:43.88ID:pNV+FLYU
Outlookあんまり便利にするとSpam出しまくりな気がするが
2025/12/09(火) 21:48:53.26ID:z29/i6+b
充実って何が?
VBAは元のソフトの機能しか持ってないぞ
256デフォルトの名無しさん
垢版 |
2025/12/10(水) 00:32:30.51ID:vGUkWj+9
まあExcelが格段に相性いいのは確かだな
あとはAccess
それ以外はファイル1つずつで作業が完結しがちだからなあ
2025/12/10(水) 00:46:38.08ID:aZZ1tbhE
需要の差
Excelで使う人が圧倒的に多いから改良も進むしノウハウの蓄積が多いってだけのことでしょ
258デフォルトの名無しさん
垢版 |
2025/12/10(水) 00:50:56.50ID:ozpxWNcy
>>249
私は前に居たことはありません
2025/12/10(水) 09:51:07.69ID:W6ruUZYr
要はそれぞれのソフトの機能の差でしかない
そういう意味で、ExcelとAccessは多機能であると言える
Outlookは過去のやらかしもあるのである程度制限がかかってる
2025/12/10(水) 10:34:17.49ID:nB5MTnMh
制限というか新しい方のOutlookではVBAも、COMアドインも完全に切られたでしょ
不安を煽ってゴミみたいなアドインを導入させて、
ただでさえクソなものを更に重くて不安定なビチグソにする自称セキュリティソリューションベンダー笑を切り捨て、
余計なアタックサーフェスを増やさないという大原則に立ち返ったのは英断だわ
261デフォルトの名無しさん
垢版 |
2025/12/10(水) 10:50:28.62ID:rQRTjmCH
VBA関係なくデータを制御・管理するのに世の中の普及度も加味して
Excel>>>access >>>>>>>>>
>>>>>>>>>その他
だからね
2025/12/11(木) 12:45:37.46ID:UITvxyr5
OutlookとExchangeは最悪の組み合わせだったよね
2025/12/11(木) 19:21:35.46ID:N23tvbfn
しらんよ
264デフォルトの名無しさん
垢版 |
2025/12/11(木) 19:32:46.56ID:APP6U5Tc
>>263
知っとけ
2025/12/17(水) 10:08:29.34ID:rIxslo4A
ちょっと毛のくせに
2025/12/18(木) 03:02:23.63ID:DRWD1lxI
またお毛毛のトークに振ろうとしてる
267デフォルトの名無しさん
垢版 |
2025/12/18(木) 07:39:27.01ID:Iw0n3gOa
>>266
このハゲ!!🦲
2025/12/19(金) 20:18:46.17ID:qBK1wPoP
269デフォルトの名無しさん
垢版 |
2025/12/19(金) 20:20:46.66ID:K7p4szxX
>>268
防止を脱げ!
このハゲ!!🦲
2025/12/19(金) 20:59:21.25ID:qBK1wPoP
>>269
それ小さくて見にくいが雪だるまの絵文字ね
帽子っぽいのかぶっているけど
2025/12/19(金) 21:16:47.85ID:sNHrxFVD
毛の話題に持ってくのは荒らしの常套手段
触れる奴は学習能力のない馬鹿
272デフォルトの名無しさん
垢版 |
2025/12/19(金) 21:44:56.50ID:pH3mLWyU
最近逆に関数の面白さも再確認
そしてPowerAutomateに手を出してる
VBA好きな人ならこっち系も好きな人多いはずだがどうよ
273デフォルトの名無しさん
垢版 |
2025/12/20(土) 10:54:14.91ID:IUjvxSM0
なにそれ
chatgptの回答みたいに教えて
2025/12/22(月) 09:51:05.90ID:wMrfFps1
https://dic.nicovideo.jp/oekaki/271373.png
2025/12/22(月) 12:24:15.02ID:e+WVdQn9
>>274
なにが「だが」なの?
ただ断ってるだけじゃね
276デフォルトの名無しさん
垢版 |
2025/12/22(月) 14:23:10.45ID:KfV5eu7A
>>275
怒るで、しかし
2025/12/24(水) 09:27:50.03ID:ExMXvKUj
>>276
なにが「しかし」なの?
ただ怒ってるだけじゃね
2025/12/24(水) 12:19:18.85ID:ikRinXac
>>277
怒る理由はないけど怒るで、というギャグらしいよ
279デフォルトの名無しさん
垢版 |
2025/12/24(水) 12:32:41.72ID:akohW7AF
>>278
メガネ、メガネって探す人か、しらんけど
280L0A5197αβ0697891011121314151617181920
垢版 |
2025/12/24(水) 12:38:59.51ID:fn5QTi1I
パソコン、機械のブラック20とそれ以降代入の自動設定プログラムオートセットコード20について



プログラムセットオートコード20

ダイダロディクス20

これがおおざっぱにいって船や重工業用機械向け




プログラムセットオートコード20

バイバロニック20

これがおおざっぱにいってパソコンや家庭用軽機械向け






プログラムセットオートコード20図

左上に船や機械の名前、中央に船の概略図、右下にブラック20とダイダロディックス20
、バイバロニック20などの名前、左下にその船や機械の状態。

パソコンや機械を作る場合は正しく、確認するように。
281デフォルトの名無しさん
垢版 |
2025/12/25(木) 18:22:39.80ID:hFWkqQGB
モジュールの先頭にpublicで宣言されたTypeをSubの中でDimとして宣言すると、Subを抜けた時に値が解放されますか?
クラスとまではいかなくても安全にTypeを使用したいです
2025/12/25(木) 18:35:02.69ID:YFUSPbjP
>>281
はい、解放されます。
• Public Type は「型をどこからでも使えるようにする」だけ
• Sub の中で Dim 変数 As そのType と書いた場合、その変数はローカル変数
• Subを抜けた瞬間に値は解放されます

つまり
👉 Public = 寿命が長い、ではありません

安全に使いたいなら
• 値を保持したい → モジュールの先頭で Dim
• ちゃんと管理したい → Class Module(初心者でもおすすめ)

という理解でOKです 🤖
283デフォルトの名無しさん
垢版 |
2025/12/25(木) 20:06:36.71ID:hFWkqQGB
VBAで解説されているコードでTypeもクラスも非常に少ないですが、Typeを使用する事が正解な気がしてきました
大量のDimを宣言する方がおかしいと
2025/12/25(木) 20:12:52.62ID:eJ0qv5ju
それを言うなら大量のTypeを宣言するのもおかしいぞ
285デフォルトの名無しさん
垢版 |
2025/12/25(木) 21:39:44.94ID:hFWkqQGB
>>284
TYPEを複数用意するのではなく、引数が沢山になるのを一つのTYPEで引き渡そうかなと
2025/12/25(木) 21:55:05.73ID:Z733tG55
スクロールしないとDimしか見えない。これ何とかなるの??
287デフォルトの名無しさん
垢版 |
2025/12/26(金) 00:06:03.92ID:1Itr+TgE
そんだけ長くてやたら変数つかうコードなんだろうなあと思いました
頑張ってください
288デフォルトの名無しさん
垢版 |
2025/12/26(金) 02:03:07.96ID:CRmvTz/8
配列とかシートに値置いたりできれば
289デフォルトの名無しさん
垢版 |
2025/12/26(金) 02:04:16.83ID:CRmvTz/8
やっぱ自分の好きに作っていい
それも経験だ
290デフォルトの名無しさん
垢版 |
2025/12/26(金) 07:44:56.96ID:31byPovI
>>287
逆に変数がそこまで少ないコードは特定の一つの処理しか行わないコードな気がします
291デフォルトの名無しさん
垢版 |
2025/12/26(金) 08:11:24.86ID:E5BcGZny
転職3年で年収800万弱だけどその半分はVBAによる評価でここまで来た気がする
他業界で戦える数少ない武器
パワポのプレゼンも好きだけどね
2025/12/26(金) 08:21:40.44ID:Lbtc6Nz+
画面一杯の変数ってポケコンかな
2025/12/26(金) 08:23:38.77ID:evjbnBFl
>>290
そこまで大量の変数を使う必要があるレベルのプロジェクトならパーツ毎にクラス化したりプロシジャを分割したりするのが普通かと…

以下マジレスだけど、スクロールしないと本文に辿り着けないほど大量の変数宣言が必要なことってある?
用途の似た変数をまとめたりもせずに1変数1行で書けばワンチャンある…か?
2025/12/26(金) 09:14:14.24ID:KE5BcpJZ
プロシジャの行数は画面に収まる範囲信者じゃないけど、変数が多いのはプロシジャを分割が必要なのかもね
場合によるのだろうけど
2025/12/26(金) 10:04:06.69ID:+Fqn5IGU
Dim a As Long
Dim b As Long
Dim c As Long
Dim d As Long
Dim e As Long
 ↓
Dim a As Long, b As Long, c As Long, d As Long, e As Long
2025/12/26(金) 10:28:17.64ID:evjbnBFl
>>295
俺はDim a&, b&, c&, d&, e&でやっちゃう
どうせうちでは俺しか触らんしw
2025/12/26(金) 10:50:31.98ID:kVpxlxxM
簡単な補助ツールで大量Dim祭りなんだけど、間違ってんのか。引き継ぎウトゥだ
2025/12/26(金) 11:03:16.31ID:agHTQkEW
必要なのはただの配列でしたという落ち
2025/12/26(金) 11:08:31.09ID:BnxhzPQ7
ワンチャンばっかりズルい
ネコチャンならモニターをタテにする or 縦置きモニターを一台追加する
同様のケースで、イカばかり前面に押し出す奴も多いが、タコも同数扱うべき
2025/12/26(金) 11:12:44.36ID:SxsqGa+a
タコは耳にできるから視界に入らないじゃないか
2025/12/26(金) 11:17:29.84ID:+9ZwgcsK
>>293
あるよ
メソッドのパラメーターが多いならどうしてもそうなる
そうなったらクラスの使いどころ
GItHubにある数々のプロジェクトみればそういうもんだってわかる
2025/12/26(金) 11:19:31.83ID:sQdG8n3h
パラメータはDIMイランだろ
2025/12/26(金) 13:18:04.09ID:Pgl+9tdN
パラメーターを設定する側だよ
例えば(いまや不要になった)CSVを読み込むメソッド①と、
①を使う関数なりメソッドなり②
この場合、②にはたくさんのDimが要る
pandasのread_csvと同様の実装をするとしたら44の引数が必要
これらを保守性を持たせつつプロシージャで設定するならそれこそ一画面では収まらない
縦長ディスプレイやら4kディスプレイやら使えば解決するけど
2025/12/26(金) 13:31:03.49ID:agHTQkEW
DIMの並んでるところだけ▼ボタンとかで
collapsibleに出来なかったっけ
2025/12/26(金) 13:32:09.33ID:agHTQkEW
>>303
structに出来ないのかexcelだっさ
2025/12/26(金) 13:45:08.19ID:SxsqGa+a
関数の引数で構造体を渡すために親関数の設定で
毎回全パラメータを設定するのですねわかります
307デフォルトの名無しさん
垢版 |
2025/12/26(金) 14:22:34.97ID:H0qs0r6N
好きに作ったらいいけど、クラス化とか検討して少しでも労力減らしたいとは思うな
スクロールは疲れる。プロジェクトエクスプローラー?でポチッと選ぶだけにしたい
2025/12/26(金) 16:51:56.04ID:Pgl+9tdN
>>305
ほんそれ
読みにくいったらない
309デフォルトの名無しさん
垢版 |
2025/12/26(金) 17:52:25.31ID:RGnRzJcb
x ほんそれ
o 本当それ
2025/12/26(金) 19:11:48.47ID:SxsqGa+a
変数宣言しなくてもいいようにする簡単な方法があるじゃん
311デフォルトの名無しさん
垢版 |
2025/12/26(金) 21:17:49.43ID:31byPovI
クラスやTypeよりディクショナリーの方が楽
というオチでしたっけ?
だけどディクショナリーじゃ型を指定できない
2025/12/26(金) 21:20:30.31ID:NG5l2JDy
>>310はOption Explicit消せって話だよ
313デフォルトの名無しさん
垢版 |
2025/12/26(金) 22:10:11.67ID:31byPovI
>>293
変数は直前に宣言してスコープ範囲を狭くする事に努めているので
あるいはSubを細かく分けたりして呼び出したり
2025/12/27(土) 17:40:14.19ID:dWTMbH2v
>>313
VBAの変数はブロックスコープないのでどこで宣言しようがスコープは変わらんのだが
315デフォルトの名無しさん
垢版 |
2025/12/27(土) 18:25:44.70ID:4UWSvvjj
スコープという語をどう定義するかにもよるが、(同じ関数内であっても)宣言した場所より前では使えないということでは。
316デフォルトの名無しさん
垢版 |
2025/12/27(土) 20:28:51.08ID:ESJOzhP7
そいやVBA(の頃)は最初にDIMがずらーっとあったな(見慣れてた)
VBもそういうプロダクトが多かった記憶

いつの間にか大抵の言語が使われる直前で宣言されるようになってたなあ
317デフォルトの名無しさん
垢版 |
2025/12/27(土) 20:31:00.94ID:bxwsarxB
お前らすごいなぁ。
俺はもう脳死状態でChatGPTにやりたいことを丸投げしてコーディングしてもらってるわ。
エラーになったら「ここエラーになってるから直して」って伝えたら修正してくれるし、
自分が見たことないコード作ったりするから勉強にもなるし。
318デフォルトの名無しさん
垢版 |
2025/12/27(土) 20:36:38.43ID:ESJOzhP7
VBEにCopilotが載ることは無いんだろうな
2025/12/27(土) 20:37:50.30ID:muk50k+g
俺はネットでの質問の回答をAIに作らせているぞ
2025/12/27(土) 20:41:15.42ID:/OMSGlC+
VBAレベルだと既にAIはもう大多数の人間より遥かに優秀だし、
他のまともなプログラミング言語ではもう人間がほとんどコード書かなくなりつつあるけど、
VBAの場合は人間のレベルが低すぎて生成されたコードをうまく扱えず、結果としてAI化が遅れるという奇妙な現象が起こっている
2025/12/27(土) 21:29:49.75ID:p0x9W2Fz
起きてないぞ
2025/12/27(土) 22:42:55.32ID:oPgNfWKW
>>317
そうそう、会社の事務のおばちゃんがそれやって残業時間ゼロ目指してる。VBAプログラマはどう付加価値を生み出していけば良いんだろうな。
323デフォルトの名無しさん
垢版 |
2025/12/28(日) 03:10:13.89ID:eJO0o89A
俺は逆にまだ宣言がとかクラスがとか言ってる人がいることに逆に驚いてる
そういう人がAIなんて精度がなくて信用がって言ってるのかな?
一番脳死してるのに気付けてないのは悲しすぎる
324デフォルトの名無しさん
垢版 |
2025/12/28(日) 03:53:43.05ID:sCPnHy3W
>>323
こういう馬鹿がAIをありがたがる
2025/12/28(日) 08:12:16.26ID:Vsr6ULyO
新型バカ発見器の一つに加わるだけだろ。
326デフォルトの名無しさん
垢版 |
2025/12/28(日) 08:53:00.19ID:5p2hhnjY
過渡期だからプログラミングの知識はまだ必要だろうな

一発で"良いもの"を作れるなら、そらもうプログラミングの知識は不要だろうが、
今のAIの成果物のクオリティを知ってるならそんなことは言えんはずだな
2025/12/28(日) 09:42:59.47ID:kWqzS/Ru
>自分が見たことないコード作ったりする
そうか?
見たことあるコードばかり出て来て著作権心配になるレベル
328デフォルトの名無しさん
垢版 |
2025/12/28(日) 10:13:22.18ID:MMAkswbg
>>317
そのやりたい事をAIに投げてというのは、本当に1か、10までAIにすべて支持するという事でしょうか?
私の場合、途方のない文字数、行数になりそうです
329デフォルトの名無しさん
垢版 |
2025/12/28(日) 11:43:28.34ID:MMAkswbg
例えば私は指定のフォルダのダイアログを表示して複数選択して選択したファイルの中から指定の名前を含むフォルダのみ開いて値の確認をして転記処理をして指定の名前でフォルダ名とフォルダを作成して保存して閉じるの繰り返しなんですけど
2025/12/28(日) 15:22:23.39ID:JWXuGwA3
いつもの方来た?
2025/12/28(日) 18:02:34.42ID:myArDJkz
バイブコーディングって1から10までAIに丸投げってのじゃねーけどな
332デフォルトの名無しさん
垢版 |
2025/12/28(日) 19:25:53.22ID:9H3YXUPn
まるハゲでも丸投げしないのか
333🦲
垢版 |
2025/12/28(日) 19:33:14.29ID:YdT6ic2O
だれがハゲだと?
2025/12/28(日) 20:03:21.81ID:myArDJkz
>>271
335🦲
垢版 |
2025/12/28(日) 20:36:44.22ID:YdT6ic2O
>>334
(ワラ
たしかにそうかもね。
ハゲに反応するのは自分がハゲてるから(核爆)
2025/12/28(日) 20:56:30.24ID:eJO0o89A
まぁ未だにコードの中身にこだわってるような人は年収低いだろうしね…
337デフォルトの名無しさん
垢版 |
2025/12/28(日) 21:04:19.63ID:Tzvuk9FY
そういう幼稚な見下し方してる時点でお察しってなるから気を付けてな
2025/12/28(日) 21:38:27.15ID:PYBlm0Ot
AI使うような馬鹿がさあ、
でも俺を見下なよ

うーんずっと年収400万なさそうな感じ
2025/12/29(月) 12:18:36.81ID:n3xMWech
うbyに挫折したKENYAが今度はAI推しか
2025/12/30(火) 14:39:14.34ID:yk4UNPU/
VBAができる=年収が高い と考えている馬鹿がいる
341デフォルトの名無しさん
垢版 |
2025/12/30(火) 15:20:27.97ID:Dx93uLrG
そもそもできるにもピンキリ
2025/12/30(火) 17:49:36.55ID:vSPO9RyS
予算人員的に余裕のない介護現場の事務くらいでしか使えない。
343デフォルトの名無しさん
垢版 |
2025/12/30(火) 18:15:08.33ID:c0+1R+dC
今どき構文について言ってるのなんて会話型AIに小慣れた学生より使えないやん
職業訓練所とかならすまん差別する気はない
344デフォルトの名無しさん
垢版 |
2025/12/30(火) 18:15:38.90ID:c0+1R+dC
今どき構文について言ってるのなんて会話型AIに小慣れた学生より使えないやん
職業訓練所とかならすまん差別する気はない
2025/12/30(火) 18:19:10.93ID:cKW52mFo
↑真性の使えない子
346デフォルトの名無しさん
垢版 |
2025/12/30(火) 18:29:23.49ID:z0havdRJ
最悪でも年収400万もいかないならエクセルさわってる場合じゃないっしよ
転職活動しないと負け組のままよ
心の拠り所にするもんじゃないぞ
347デフォルトの名無しさん
垢版 |
2025/12/30(火) 18:48:38.52ID:jl6Rwpd3
年収も勝ち負けもそれはお前のルールだ
他人には関係のない話だ
348デフォルトの名無しさん
垢版 |
2025/12/30(火) 19:05:30.25ID:mrAkfc9C
VBAだけが仕事のやつなんていないだろプププ
349デフォルトの名無しさん
垢版 |
2025/12/30(火) 20:10:55.48ID:8wdgg8h9
うちは、仕事でマクロ使ってる人は少ないな
個人的な趣味でやってる人はいるけど
それが標準にはならない
派遣の人とかにやってもらう集計作業とかまあまああるんだけど
担当交代する時に業務として次の人に引き継げないからピボットテーブルまで
せめてパワークエリー使えるようになってほしいけど
350デフォルトの名無しさん
垢版 |
2025/12/30(火) 21:48:43.82ID:Mx2rHuMX
そんな事も知らないのかっていつも上から目線の癖に年収の話になると急にぼかしてとぼけだすのワロタ
AIの台頭で一番立場がなくなってるやん
351デフォルトの名無しさん
垢版 |
2025/12/30(火) 22:01:56.97ID:RSqz//Iy
老人のOffice田中の中の人が数年ぶりにYouTube動画をUPしたぞ!
2025/12/31(水) 07:05:49.15ID:oXCxNBNc
>>350
スレチの話膨らませる理由なくね?
2025/12/31(水) 07:34:14.55ID:4xGQt+yG
>>351
ホンマや!(ぶっちゃけYouTubeやってたの知らんかったけどww)
田中さんには初心者の頃にずいぶんお世話になったなぁ…
2026/01/01(木) 14:26:56.26ID:TF3Kd1Co
誰それ?知らんわ
つかAIにコード書いてもらっても、内容の意味分からんかったらダメじゃね?
355デフォルトの名無しさん
垢版 |
2026/01/01(木) 15:01:57.16ID:CHla9y9+
いい歳だよね偉いな
少なくとも15~20年前にはもう潤沢な情報を非常に使いやすい形に整えて公開してくれてて助かりまくったな
2026/01/01(木) 17:21:42.61ID:YNHfSxUg
まだブログが全盛だった時代
過去の人
2026/01/01(木) 18:23:19.37ID:bUkjlHPx
HPとかブログって今はnote?になったのかな
2026/01/01(木) 20:02:59.07ID:TF3Kd1Co
多少気になってその人の2、3本観たが、大した内容じゃない。上級者なら誰でも知ってる内容だったが。
2026/01/01(木) 20:15:09.68ID:KcZB5RS3
論点がズレてるんだよなぁ…
そもそも上級者様()の話はしてないんだよ
2026/01/01(木) 20:41:52.26ID:w7OaddKW
>>358
初心者にそれなりの知識をわかりやすく伝えてるところが評価ポイントなんよ
教育・学習手段としての評価だから、
上から目線で文句しかたれない様な奴は相手にならねんだわ
361デフォルトの名無しさん
垢版 |
2026/01/01(木) 22:25:12.12ID:wh7PuYrT
たしかMicrosoftのVBA系資格の公式の教本か何かも書いていたことなかったっけ? その割には用語の使い方にちょっと不正確なところがあるなと思った記憶がある。
362デフォルトの名無しさん
垢版 |
2026/01/02(金) 01:28:44.12ID:Vli7jLVH
サイト利用者や動画視聴者の知識・経験の程度は問題じゃない感はある。
歴が長く経験の幅も豊富な者にとっても、
意外と知らなかったみたいな手法を拾い上げてトピック立ててくれたりするし。
つまり、大した内容じゃない。事さえも丁寧に扱う点にこそ価値があったりするよね。
言うまでもなく、人によってはだけど。
363デフォルトの名無しさん
垢版 |
2026/01/02(金) 04:52:06.62ID:rI4aFXDR
office 田中のサイトのバナーのお兄さんがイケメンすぎて横のイマイチなお姉さん濡れ濡れやろな、と思ってた
364デフォルトの名無しさん
垢版 |
2026/01/02(金) 10:54:57.66ID:umQ0E3dm
少しでも何かをアウトプットできる人はえらい
世のためになってる
こういう人達がいなかったら、AIすらここまで便利にならなかった
2026/01/02(金) 13:57:13.94ID:VCmVN/RE
ただのアウトプットではうんこと同じで不十分なのである
悪用すれば汚物になるが正しく使って肥やしにするのだ
366デフォルトの名無しさん
垢版 |
2026/01/02(金) 14:01:25.79ID:g0DNxXSo
AIなんて精度悪いんだ
僕は正しい勉強したんだ
僕は年収低くてもすごいんだ
2026/01/03(土) 13:11:28.77ID:5c4yymfP
自称 【上級者】程当てにならないモノは無いわ。
2026/01/03(土) 13:27:14.47ID:7Bbbhg7N
ダニング・クルーガー曲線の2つの山のどっちの上級者かわからんからな
2026/01/03(土) 14:26:24.47ID:UsGE4kHZ
調べてみたけど、興味深い
ダニング〜
勉強になった
2026/01/03(土) 16:42:49.98ID:s4iyV0Uq
強い言葉を使うやつは前半の山と決まっておる
2026/01/05(月) 18:11:39.24ID:5kVYJX2G
そして主役に倒される流れ
2026/01/05(月) 18:29:05.16ID:nBpoynqu
>>371みたいなのを文盲といいます
373デフォルトの名無しさん
垢版 |
2026/01/06(火) 22:11:27.57ID:gj45HGS5
>>328
それぞれの処理ごとにマクロ作らせて、それを合体させるとかの工夫はいるかもな
374デフォルトの名無しさん
垢版 |
2026/01/08(木) 14:35:53.73ID:dyEzWp8C
普段VBAとか触らないプログラム経験なんだが
怖いもの見たさでVBAを書いてみたいんだが
実行環境はエクセル用意するしかないの?
375デフォルトの名無しさん
垢版 |
2026/01/08(木) 14:36:07.94ID:dyEzWp8C
経験者
376デフォルトの名無しさん
垢版 |
2026/01/08(木) 14:37:00.28ID:hBAtrpse
エクセルもないってどんなプログラム経験者だよ
377デフォルトの名無しさん
垢版 |
2026/01/08(木) 14:39:51.61ID:dyEzWp8C
今ってスプレッドシートあればいいしなあ
昔はofficeのパッケージとか買ってたし
プリインストール版も使ってたが
更新しなくなった

お仕事で必要な場合はだいたいそっちで用意されてるし

個人的な趣味の話
2026/01/08(木) 14:45:44.26ID:1zIDHWVJ
Googleスプレッドシート使ってるんだったらGASにしとけば
379デフォルトの名無しさん
垢版 |
2026/01/08(木) 15:35:10.58ID:D728qwI/
>>374
書くだけならメモ帳でいいんじゃね
380デフォルトの名無しさん
垢版 |
2026/01/08(木) 17:02:09.94ID:hBAtrpse
プログラム経験者じゃくて、引き篭もりがプログラム経験者の主張しとるだけか
381デフォルトの名無しさん
垢版 |
2026/01/08(木) 18:05:38.46ID:lQdMRVtN
Excel縛りでないならPytnonとか他の言語の方がずっと良い気もするが、「怖いもの見たさ」ということはそこらへんは承知の上であえてExcelVBAを試してみたいってことなのかな。
たぶんExcel以外に実行環境ってないよね。365を月額でサブスクするのがお試しなら一番安上がり?
382デフォルトの名無しさん
垢版 |
2026/01/08(木) 19:02:41.05ID:OFjC85jA
Excelで使いたいわけじゃないならVBスクリプトでいいんじゃないの?
383デフォルトの名無しさん
垢版 |
2026/01/08(木) 19:33:03.54ID:wz1WTxUB
office2021ならヤフオクで500円しない
2026/01/08(木) 20:19:44.22ID:7gd9a1JD
>>377
その昔買ったOfficeのパッケージで試せばいいじゃん
古いバージョンのOfficeでも今のWindowsで普通に動くぞ
2026/01/08(木) 21:09:41.34ID:dDNc01zi
ExcelVBAが実務的に使ったという意味では初めてのプログラミング言語だし一番使い込んだし歴も長いから、なんだかんだ言いつつも割と一番好きな言語だったりするわ
もちろん不満がないなんて口が裂けても言えんけど
386デフォルトの名無しさん
垢版 |
2026/01/08(木) 21:35:35.70ID:/Ilb29Eo
vbsならjsでええやろ
2026/01/08(木) 23:53:45.87ID:bABvp04Z
>>386
jsはbyref受け取りや配列とかめんどくせぇ
2026/01/09(金) 08:37:27.07ID:cvEE+eZt
スクーで先ずは無料の動画でおべんきょうしてみて
https://schoo.jp/class/category/oaskill/73
気に入ったらプレミアム月額980円に登録してみる
記述とその動作を両方いっぺんに確認できるから自前で揃える必要無い
VBAだけじゃ無くて、デジタルリテラシーとかビジネス基礎力とか
もっともっといっぱいあれこれ学べる
VBAがプログラミングのカテゴリーじゃ無くてPCスキルなのはご愛敬
389デフォルトの名無しさん
垢版 |
2026/01/09(金) 09:45:43.10ID:VcvuEzNL
ExcelVBAは依頼者に言われて仕方なく手を出したプログラミング言語だし
それなりに使い込んだし歴も長いけど、なんだかんだ言いつつも一番嫌いな言語だと断言するわ
もちろんVBA使えますなんて恥ずかしいので口が裂けても言えんけど
390デフォルトの名無しさん
垢版 |
2026/01/09(金) 10:08:49.80ID:AdRmftAW
言えないこと書く矛盾
2026/01/09(金) 10:11:00.63ID:YK0DkERj
幼稚な選民思想の持ち主ほど恥ずかしい存在はないけどね
392デフォルトの名無しさん
垢版 |
2026/01/09(金) 10:39:04.45ID:CwiwJebg
(一応訂正しときます)
ExcelVBAは依頼者に言われて仕方なく手を出したプログラミング言語だし
それなりに使い込んだし歴も長いけど、なんだかんだ言いつつも一番嫌いな言語だと断言するわ
もちろんVBA使えますなんて恥ずかしいので口が裂けても(ここ以外では)言わんけど
2026/01/09(金) 11:34:35.30ID:EgjWIZWy
みんなExcelVBAの何が嫌いなのかね
その道具で何を実現するかなんだから、手段はあまり気にならないけど
こんなことができない、やりにくいとか、向き不向きはどの言語にもそれなりにあるし
394デフォルトの名無しさん
垢版 |
2026/01/09(金) 11:56:36.35ID:9TMkEJ5z
そり役に立てるようなの作れてないなら嫌いだろうね
でもそれはExcelVBA関係なく本人が発達障害ってだけなんだけど自覚無い人はまぁね
2026/01/09(金) 12:06:34.94ID:YjM6KWfu
ハッキリした理由もなく毛嫌いしてるヤツは「VBAなんてダセェ(キリッ」ってドヤりたいだけだからなぁ

そもそも「VBAしか使えません」ならともかく「VBA使えます」が恥ずかしい具体的な理由は?
上にもあるがメリットデメリットはどの言語にもあるんだから、デメリットじゃなくて恥ずべき理由な
396デフォルトの名無しさん
垢版 |
2026/01/09(金) 12:18:03.45ID:Z7ysnM4r
エンジニアからVBAが嫌われてるのは、プロジェクトとしたとき現状で破綻しかけてるものからスタートしがちだからじゃないかな
「マクロ(VBA)で頑張ってきたけど、なんかマズそうだからなんとかして(なんとかしたい)」みたいなふわっとした問題意識や目的から始まるケースの多いこと
つまり保守とか最低限レベルを突き抜けて考えられていない
2026/01/09(金) 12:20:24.98ID:shIlag2U
>恥ずかしいので
ここも微妙に違うかな
「余計な仕事依頼されたくないので」かもしれん
2026/01/09(金) 12:23:16.80ID:shIlag2U
ああ >>396 とかぶった
2026/01/09(金) 12:37:01.15ID:Pi3H0M5V
>>396
システムを作る側にとってみれば、わざわざ客に大金を出させて作り直す正当性を主張するには、
VBAで業務が一応回っている現状を否定しないと始まらないわけで、営業的なポジショントークの面も多分にある
とはいえシステム化を決定事項とするなら現場の場当たり的なVBAバケツリレーは開発コストを増大させる負債とリスクの塊であることは事実
400デフォルトの名無しさん
垢版 |
2026/01/09(金) 12:37:40.86ID:8zNv8e5X
仕事でやるなら文句いってもやるしかない
趣味ならやらない選択ができるだろう
ここで愚痴っても現実は何も変わらない
2026/01/09(金) 16:23:02.59ID:B/kqvR+N
マンドクセー客が多い
https://www.youtube.com/watch?v=If6c1CGfkPM&t=15m
402デフォルトの名無しさん
垢版 |
2026/01/09(金) 18:36:14.15ID:nomiObou
>>395
そりゃ社畜なのがバレるからやろ
自分の意思で選択できる環境にいればVBAなんて使わない
403デフォルトの名無しさん
垢版 |
2026/01/10(土) 09:57:50.80ID:C7e3vSj2
ConstにRangeは代入できませんよね?
じゃあコードの中でたくさんのRangeをハードコーディングで指定している場合、そのRangeの管理や保守はどの様にやるのが効率的でしょうか?

名前の定義を使用すると今度は名前の定義がちゃんと存在するのかエラーチェックする必要があると思います
やはりConstにA3などセルのアドレスを代入するしかないでしょうか?
2026/01/10(土) 10:16:03.64ID:RvHZapxk
ExcelVBAが壊れる最大の原因はユーザーによる編集により不整合が生じること。アドレスをConstに入れたとしてもそれは防げない。
つまり、バカが名前の定義を壊す可能性とバカがシートのレイアウトを壊す可能性のどちらが高いか?という程度問題に帰着する。
一般的には大抵のバカは名前の定義を触らないので後者のレイアウト破壊のリスクの方が高いだろうが、
シートの保護を使って編集操作を厳密に制限するならその限りではない。
405デフォルトの名無しさん
垢版 |
2026/01/10(土) 10:16:09.44ID:KQ/r2hTj
正しく動作するようにつくればいいと思う
2026/01/10(土) 10:38:39.29ID:4WwYGsuQ
>>403
個人的にはアドレス管理が多いかな
Const Adr○○ As String = "A1"
…中略…
Range(Adr○○).Value = "ああああ"

それかFunctionやProperty GetでRange渡し
Function Rng○○() As Range:Set Rng○○ = Range("A1"): End Function
みたいに1行書きにすると管理しやすいのでオススメ

やることが限られているセルならそのセルのプロパティに直接アプローチするPropertyにするのもアリ
Property Get ○○() As String: ○○ = Range("A1").Value:End Property
Property Let ○○(NewValue As String): Range("A1").Value = NewValue: End Property
2026/01/10(土) 10:55:36.57ID:P1woaesL
名前の定義は基本的にはVBAを作る側の人のコントロール下にあるから、定義漏れを生じないか気になるのは作る側の気持ちとしては自然なのだけど、
運用上はそんなことよりレイアウト破壊によるアドレスのズレの方が遥かに生じやすい
作ることだけに責任を持つのか、それとも運用まで含めて面倒を見なきゃいけないのかによっても最適解は異なってくる
408デフォルトの名無しさん
垢版 |
2026/01/10(土) 11:18:16.23ID:501mhw4L
VBAで何かやるなら、大抵の場合にシートの保護は掛けることになるけど、テーブルとの相性がイマイチだったりで段々嫌になってくるんだよね。ガチガチに固めようと思えばできるけど、このシートの中でユーザーが入力できるのはこのセルとこのセルとこのセルだけですみたいなのはちょっとね。フールプルーフ的な意味では良いのかもしれないし、そういうのをExcelでできるというのがメリットだと割り切るべきなのかもしれないけれど、あまり好きではないかなと。
2026/01/10(土) 11:23:52.06ID:zNgaquqd
>>403
どうしても定数にしたかったら文字列だけ入れる
Const range_str = "A1:C3"

で、オブジェクトに代入して使う
Set range_obj = Range(range_str)
410デフォルトの名無しさん
垢版 |
2026/01/10(土) 12:23:33.46ID:Gv1wIvSF
ガチガチに保護しまくるとエクセルの意味あるか?ってなるしな
411デフォルトの名無しさん
垢版 |
2026/01/10(土) 15:15:48.70ID:b0JCqQI0
他の選択ができないからEXCELを使う場合が多いのではないかな
412デフォルトの名無しさん
垢版 |
2026/01/10(土) 15:57:11.60ID:QR9Z2mT1
他人も編集する可能性があるものにVBA使っても果実は一瞬しか得られない
公開するなら1から10まで自分で書いてシート保護
413デフォルトの名無しさん
垢版 |
2026/01/10(土) 16:16:49.47ID:C7e3vSj2
シートの保護はオートフィルターの操作をを許可していても、データタブのフィルターのクリアが使えない事を知って、フィルターするシートには使えないと知りました

Get Propertyはやっぱり有効な方法なのですね
2026/01/10(土) 18:55:10.95ID:v2lF3YZo
入力Sheet、集計Sheetを分けてる
415デフォルトの名無しさん
垢版 |
2026/01/11(日) 10:47:27.60ID:yU7gND3J
Get Propantyが有効になりません
2026/01/17(土) 05:04:14.20ID:YkGv5F8h
質問です
ワークシートに文字を順番に表示するプログラムですが、なぜかAとBだけ同時に表示されます
ちゃんと1つずつ表示させる方法を教えてください
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
Sub test()
  Cells.Clear
  code = &H41
  For r = 1 To 3
    For c = 1 To 3
      Cells(r, c) = ChrB(code)
      DoEvents
      code = code + 1
      Sleep (1000)
    Next
  Next
End Sub
417デフォルトの名無しさん
垢版 |
2026/01/17(土) 09:16:39.51ID:7T+wet0L
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
Sub test()
  Cells.Clear
  Sleep (100)
  code = &H41
  For r = 1 To 3
    For c = 1 To 3
      Cells(r, c) = ChrB(code)
      DoEvents
      code = code + 1
      Sleep (1000)
    Next
  Next
End Sub
418デフォルトの名無しさん
垢版 |
2026/01/17(土) 20:39:23.12ID:kqLx3ssj
Cells(r, c) = ChrB(code)
の前後両方に DoEvents を入れたらそれっぽくなったぞ
2026/01/17(土) 21:04:19.70ID:hmGpvnW/
理由は分からないけど、DoEvents絡みなんだろうね
手元にオフィスなくて試せないけど、どの環境でも同じなのかな
420デフォルトの名無しさん
垢版 |
2026/01/17(土) 21:50:10.76ID:kqLx3ssj
Cells.Clear
の後に DoEvents 入れても表示された Sleep(100) なしで
421デフォルトの名無しさん
垢版 |
2026/01/17(土) 22:08:42.37ID:1nSwm1GN
DoEventsやSleep 70くらいだとうまくいくときといかないときがあったよ
高速化のためExcelが描画をバッファリングしてるのではないか
422デフォルトの名無しさん
垢版 |
2026/01/17(土) 23:43:58.11ID:kqLx3ssj
途中結果より計算を優先して最終的な表示が正しいほうが表計算ソフトとしては優秀だしな
423デフォルトの名無しさん
垢版 |
2026/01/17(土) 23:44:49.44ID:kqLx3ssj
途中経過
2026/01/18(日) 01:25:07.22ID:PTr/KfSX
代入の後のDoEventsを増やしてもすぐ表示されるようになる
内部で何やってるのか謎だなあ
Cells(r, c) = ChrB(code)
DoEvents
DoEvents
2026/01/18(日) 09:42:47.71ID:DttxNbc2
もう使用していない古い環境(Windows7、Excel2010)だけど、質問のコード >>416 で期待通りに動きました(A〜Iまで一定の間隔で印字)
2026/01/18(日) 09:56:21.15ID:nE6SW95F
うちの環境だと、新規ブックにソースをコピペして1回目は等間隔、2回目はAとBが同時になった
コードはまったく変えてないのに、謎な動作してる
2026/01/18(日) 10:19:06.14ID:aF+m2KSs
試しにCells.Clearしなかったら上手く行ったわ
これ、Cells.Clearに時間がかかってるせいでAが表示される頃には既にSleepとBの表示まで進んでしまってる説あるな
2026/01/18(日) 10:27:41.76ID:DttxNbc2
>>425 ですが、2回目の試行はしなかったなぁ
Cells.Clear がなければうまくいくなら、新規ブックで初回は期待通りに動作したことと辻褄が合いますね
2026/01/18(日) 10:31:40.02ID:DttxNbc2
(言ってることが)ちょっと違うか…
430デフォルトの名無しさん
垢版 |
2026/01/18(日) 12:09:42.81ID:OgIYJWz+
同一セルに連続書き込みすると2回目以降の書き込みは
50〜100ミリ秒くらい更新が保留されるような動作になってる感じがする
保留された更新はマクロの最後か途中の別の更新と同時に行われる
431デフォルトの名無しさん
垢版 |
2026/01/18(日) 17:57:01.20ID:R6hKztFh
処理が重ければ遅延するのは普通にある
特に気にすることでもない
2026/01/18(日) 18:51:58.11ID:eKAc57KH
ゆっくりやってくれたら良いのに、ファビョって処理飛ばす事があるのが困る
2026/01/19(月) 11:19:42.32ID:uZl7Tkoa
せっかちさんが多い環境ならそれなりに対策しとかないと
ありがちなのはMsgbox出して処理を一旦ホールドさせるとか
Webフォームとかでも、必須項目スキップしたら次に行けないような工夫が見られるでしょうに
MsgBoxは出したら何か操作しないと消えないからヤだ!っつーなら
手頃なサイズのユーザーフォームを1秒とか2秒とか表示させて他の処理できなくしとくとか
2026/01/19(月) 12:58:26.23ID:zzugqurt
モードレスダイアログ表示しても本体編集出来るよね
2026/01/19(月) 19:09:55.35ID:uZl7Tkoa
ShowModal = True
436デフォルトの名無しさん
垢版 |
2026/01/21(水) 20:58:44.36ID:5lTATdnn
ファイルパスやファイル名などの文字列から、指定のパターンの文字列を抽出するには、正規表現のExecuteメソッドが一番でしょうか?
また、ファイルパスやファイル名の文字列の指定のパターンを置換するには正規表現のReplaceメソッドが一番でしょうか?
2026/01/21(水) 21:22:53.20ID:BFucios0
>>436
AIに指示してFunction書かせるのが一番早いよ
438デフォルトの名無しさん
垢版 |
2026/01/21(水) 21:45:32.95ID:5lTATdnn
>>437
そうするとInstrやLeftやMidを組み合わせた、分かるけど保守が面倒くさい上に、確実に動くか不安なコードにしかならない気がするんですよね
2026/01/21(水) 21:48:51.94ID:gOU5Nz9+
>>436
一番じゃなきゃ駄目なんですか
440デフォルトの名無しさん
垢版 |
2026/01/21(水) 21:55:50.05ID:lxS+/Hbd
>>436
\でSplitしてゴニョゴニョ
like演算子を使う
正規表現を使う
441デフォルトの名無しさん
垢版 |
2026/01/21(水) 22:09:45.57ID:5lTATdnn
>>440
Likeはパターンを含むか(マッチするか?)だけですよね
442デフォルトの名無しさん
垢版 |
2026/01/21(水) 22:17:26.99ID:5lTATdnn
正規表現のパターンもLikeのパターンもConstで指定できるからとても便利だと思います
443デフォルトの名無しさん
垢版 |
2026/01/22(木) 03:00:29.21ID:tPuXlbT/
>>436
一番ですね。
呼び出しの度に毎回Regexpをインスタンス化すると遅いのでグローバルモジュールにグローバル変数を作ってプログラム全体の初期化時に一度だけオブジェクトを作ってインスタンス化おくのが良いでしょう。
そして、パターンチェック関数(Boolean)、置換関数(Replace)、マッチ個数関数、マッチ文字列返却関数などのシンプルな動作だけをする汎用的なグローバル関数を作っておくのが良いでしょう。
これら汎用的なグローバル関数の冒頭ではRegexpオブジェクトがインスタンス化されているのかのチェックと、されていない場合はインスタンス化をするという初期化も用意しておきましょう。
444デフォルトの名無しさん
垢版 |
2026/01/22(木) 17:38:25.32ID:rmm000V+
今日Midを改めて試してみて、Midでも出来るかな?と思いましたが、やはりエラーを防ぐためには、細かくInstr > 0で空文字でないか?チェックするなどの必要があるから大変ですね
正規表現のTestメソッドやReplaceが便利すぎます
2026/01/23(金) 00:19:53.38ID:Nj1P+KVb
vbscriptでない VBA.RegExpは安定していていますかね
446デフォルトの名無しさん
垢版 |
2026/01/23(金) 23:38:30.71ID:MlWYgM4X
処理速度の問題で困っています
以前使用していた環境で3秒で終わっていた処理が新環境では40秒ほどかかってしまいます

【環境】
Windows7/Excel2003

Windows11/Excel2019

拡張子.xlsのファイルのまま使用していて処理自体は正確に動作します
処理の内容は単純なループ処理で処理中の画面描画はありません(screenupdating=falseも効果なしでした)

CPUもメモリも性能は以前よりいいはずなんですが原因はどんなものがあるでしょうか?よろしくお願いします
447デフォルトの名無しさん
垢版 |
2026/01/23(金) 23:56:32.23ID:6xx16GCW
ウイルスチェック
2026/01/24(土) 00:44:06.29ID:4EL2lNl6
コピペ
449デフォルトの名無しさん
垢版 |
2026/01/24(土) 04:21:22.83ID:mpnGHmyA
各処理の先頭と終端にDebugでタイムスタンプをイミディエイトに出して2003、2019それぞれで比較してどこがボトルネックなのかを探るとか
規模が小さいなら簡単だし、デカいとダルいけどデカいならデカいなりに整理されてるだろうから簡単
2026/01/24(土) 08:00:05.15ID:uoGxIQqZ
保存先のデフォルトが勝手にOneDriveにされてるとか
あれもこれもローカルで処理してるのがイチバン楽だし確実だし安全だし早いし
451デフォルトの名無しさん
垢版 |
2026/01/24(土) 11:21:30.87ID:cZl+L7ZU
コードを見ないとなんとも言えないけど習慣としてやっておくべきなのは

・処理はメモリ上で行い最後に一括してシートに書き出す
・列全体でのループを避ける
・おまじないを書いておく
Application.Calculation = xlCalculationManual
Application.EnableEvents = False

Windows11上のExcel2003でサクサク動くなら上記対策で改善すると思う
2026/01/24(土) 11:51:17.30ID:uoGxIQqZ
そもそも、Win11にExcel2003はインスコ出来ないような
検証のためにわざわざ別途マシン仕立てろてか
2026/01/24(土) 12:15:53.16ID:GPVe+xLZ
コピペ質問に何言っても検証する本人がいないから解決しないのに
2026/01/24(土) 16:45:36.39ID:7H1JAYOj
株式会社アイ・エス・ビー
https://kizuna.5ch.net/test/read.cgi/infosys/1756826944/

https://www.isb.co.jp/about/company-profile/
株式会社アイ・エス・ビー
https://kizuna.5ch.net/test/read.cgi/infosys/1756826944/

https://www.isb.co.jp/about/company-profile/
455デフォルトの名無しさん
垢版 |
2026/01/24(土) 17:05:40.31ID:TvFh/StP
返信遅くなり申し訳ありません

>>447
セーフモードにしても変わりませんでした

>>448
>>453
類似質問はあり参照しましたが解決に至りませんでしたコピペではないです

>>449
旧環境はクラッシュしたので比較できないのが辛いです
デバックプリントで試したところ単純な処理で時間がかかっていました
(htmlからtableオブジェクトをsetして中を検索する処理 setとNothingを繰り返してるのが原因?)
456デフォルトの名無しさん
垢版 |
2026/01/24(土) 17:05:49.91ID:TvFh/StP
>>450
ローカルドライブからファイルを起動しるだけなのですが調べてみます

>>451
htmlを読み込んでSQLserverにインサートするだけなので画面描画はありませんがおまじないを入れても変わりませんでした

>>452
古いバージョンから入れないとおかしくなるみたいなので2003は入れられません
Excelのバージョン起因なのかは不明です

いろいろ回答ありがとうございました
処理自体は動くのでもう少し試行錯誤してみます
457デフォルトの名無しさん
垢版 |
2026/01/24(土) 18:16:21.87ID:Q9c0UYyX
>>456
馬鹿ってこうやって条件を後出しするんだよな
原因はわかったがこういう馬鹿には教えてやらない
458デフォルトの名無しさん
垢版 |
2026/01/24(土) 23:57:26.19ID:mpnGHmyA
背景や目的、手段といった前提条件を最初に提示しろよ。というのはめちゃくちゃその通りで気持ちは分かる。「質問の仕方がネット的でない」んだよね。
ただまあ、仕事じゃないし暇つぶしで回答してるだけだから別にええよ。「現実の口頭でのやりとり感覚」な質問はこれまでもこれからも続く。よい暇つぶしじゃん。

質問者が予め時間を使って”前提条件”を整理してツラツラと書いてくれるのは、もちろん答える側が後に感じるかもしれない徒労感の可能性を排除してくれるから”質の良い質問”ではあるけど、
「事象・問題の端的な説明」のみの質問は、それはそれで”質の悪い良い質問”でもあるよね。まあ、好みの話だね。
459デフォルトの名無しさん
垢版 |
2026/01/25(日) 00:00:50.78ID:2FSQXVZF
>>455
>(htmlからtableオブジェクトをsetして中を検索する処理 setとNothingを繰り返してるのが原因?)

問題部分が特定できたなら、原因を特定して、解決できたらあとで教えて。
原因の特定や解決方法の質問は具体的な前提条件の提示がないとむずいよ。
460デフォルトの名無しさん
垢版 |
2026/01/25(日) 10:11:42.40ID:NClrJdq2
>質問者が予め時間を使って”前提条件”を整理してツラツラと書いてくれるのは、
>もちろん答える側が後に感じるかもしれない徒労感の可能性を排除してくれるから”質の良い質問”ではあるけど、
それが出来るやつは質問文を整理してる段階で原因に気付けるわ
2026/01/25(日) 10:40:53.40ID:hIkEjs/b
VBAつこてるExcel2003ファイル、デバッグした途端にxlsmで保存しないと動かせないよな?
2003の頃には無かった(であろう)データ取り込みの[webから]ってつこたら動作が変わるんだろうか
Excelに限らずタスクバーに常駐するOneDriveは、さっさと無効化しとかないと仕事の邪魔
2003マシンがクラッシュしてるなら、2003入り中古PC辺り手に入れる方法も、、いや、昨今はむつかしいか
2019はPowerQuery使えるかどうか知らんけど、そこまでする必要も無さそうだし
3秒が40秒て、ストレスフル極まるな
2026/01/25(日) 18:40:37.59ID:dyHfj5tY
40秒待つくらいどうってことないよ
463デフォルトの名無しさん
垢版 |
2026/01/25(日) 18:55:13.20ID:dIEkXM2T
40秒あれば支度できるしな
2026/01/26(月) 17:28:32.34ID:b9n1hZTn
https://mevius.5ch.net/test/read.cgi/bsoft/1764906334/438
に上げたサンプルなんだけど、5秒に設定しててもラベルの幅を折り返して
15%ぐらいで消える時と40%ぐらいまで進んでしまう時がある なぜ?
 Application.OnTime Now + TimeValue("00:00:05"), "CloseForm"
だからどうってことは無いんだが、なんかモヤモヤする
465デフォルトの名無しさん
垢版 |
2026/01/26(月) 18:44:16.34ID:tqZehcF6
安全かわからないものはダウンロードしたくないから
ソースをここに書いて
466デフォルトの名無しさん
垢版 |
2026/01/26(月) 19:53:26.60ID:zC0kOgZH
それな
あとフォームの画像とプロパティもあるといいかも
467デフォルトの名無しさん
垢版 |
2026/01/26(月) 19:54:03.25ID:zC0kOgZH
いやいいか、検討に必要なら要求されるか
2026/01/27(火) 13:39:06.44ID:AoPDt57Q
薄々感付いてはいたが、OnTime も Now も、ミリ秒を持たない精度だから
1/1000〜999/1000ミリ秒で誤差が出るんだろう モヤモヤはそのせいだと
これがテキスト表示だったら殆ど気付かないレベルだけど、プログレスバーもどきが
消えるタイミングでその位置がズレてるのが目視できてしまうからモヤモヤに繋がる
じゃあってんで、Timer だの WindowsAPI だの持ち出して面倒な計算させたり
変数に代入したり・・するほどのものでも無いから、まぁこれでいいやw
2026/01/27(火) 13:50:34.44ID:AoPDt57Q
安全かわからないて w
信用できないマシンつこてるん? たとえ試しに危険なファイルをアップロードしようとしても
ギガファイル便側がVチェックしてハネてるし、DLしようとした時点でOSやアンチウィルスアプリが
検知して通知したり受け入れなかったり削除したりするし、Excelでだってキケンがあぶない
ファイルは開けないように幾重にもガードされてるはずだろうに
>>1 に書かれてる「作成依頼もどうぞ」のケースでファイルの受け渡しどうするつもりなん?
メールに添付?Teamsとかで繋いで顔見ながら受け渡し? まさかね ま、そんなケース無かった
んだろうけど、業務でも使われてるギガファイル便使わずに何使うつもりなん? 参考までに
聞かせてもらいたい ま、お仕事してないならお返事いらないけど
2026/01/27(火) 16:57:38.43ID:YnSjGXLE
システムやインフラが信用できないんじゃなくて、
誰が作ったかわからんマクロが信用できないって話なんだが

こういうやつがランサムウェア広げるんだろうなぁ
2026/01/27(火) 20:51:34.62ID:diVD8pLV
お仕事でマクロ入りファイルを送りつけるとか頭おかしい
2026/01/28(水) 09:11:44.01ID:tmacS4Bf
VBA何に使ってるんだよ?プライベートな自分用ファイル作ってます?
社内の極一部の業務処理するために利用してます? だけなん?
もっとプラクティス重ねてスキルアップしようとかいう場合はどうしてるん?
英語サイトに貴重な情報書かれててサンプルファイルDLできる状況でも
チャレンジしないん??
親会社が「下請けのお前らのために業務アプリ作ったからDLして使え」とか指示して来ても
こわいから嫌ですって断るん? USBメモリ持ってコピーしに出向くん?
それだって見知らぬ他人が作ったマクロファイルだろうに 理由として破綻してるな
473デフォルトの名無しさん
垢版 |
2026/01/28(水) 09:21:25.38ID:0FJSZnvA
VBAのスキルアップとやらに使う時間があるのなら、別のスキルを身に付けた方が遥かに有意義だよねという判断をしている人の方が多いってことでしょ。VBAのハイスキル持ちに需要があるはずだと考えるのはもちろん自由よ。あなたはその路線で頑張ればいいんじゃない?
474デフォルトの名無しさん
垢版 |
2026/01/28(水) 09:38:47.91ID:sVeajff7
英語サイトの方はDLしない
親会社の方は親会社がテスト済みならDLするそうでないなら断る
2026/01/28(水) 09:49:34.31ID:Zauljacn
やる気あるなら普通は業務ドメインの方で頑張るか、本格的なプログラミングを学んでITに進むかだわな
Webシステムだったらそもそもリスク爆弾を配って回る必要はないわけで
476デフォルトの名無しさん
垢版 |
2026/01/28(水) 10:44:56.81ID:stI869aU
会社同士でのやり取りなら何かあっても責任追及できるし
それゆえに一定の信頼はおけるけど匿名掲示板でそれは不可能って話やろ
ほんまに社会に出たことあるのか疑問だわ
477デフォルトの名無しさん
垢版 |
2026/01/28(水) 10:55:31.20ID:stI869aU
でもってどこかのサイトに貴重な情報があった場合は
その情報提供者の地位と名誉が担保になってる
ほんとに貴重なら他にも世界中からアクセスされてるだろうし
何か問題があったならすぐ話題になるはずという見方もできる
478デフォルトの名無しさん
垢版 |
2026/01/28(水) 13:24:20.42ID:iwMKUa43
そもそもソース(テキスト)のやりとりで十分だろって話じゃね
夏休みの自由工作の発表会じゃあるまいし作品全体を披露したがるなよ
2026/01/29(木) 00:05:01.40ID:ZOOjCJHl
ソースが欲しいならAIの回答をコピペすればいい
2026/01/29(木) 15:32:24.60ID:E7e4esWn
今日、会社のPCで不思議な事象が発生したわ
Windows7初期頃のPC(ネットには繋がず書類整理にのみ使用)で、StrConvのvbWideだけエラーになるという事象w

今まで散々使ってきたマクロがエラーになるというSOSで駆け付けると、StrConv部分でエラー5を吐いてる
→中身を見てもちゃんと文字列を受け取ってるし問題なさそう
→試しにイミディエイトで?StrConv("Hoge", vbWide)を実行すると同様にエラー5を吐いた
→色々いじってるとvbWide以外なら動くけどなぜかvbWideだけエラーになることが判明
→色々試行錯誤しつつPC再起動したら動くようになった

なんやこれw
2026/01/29(木) 16:24:43.04ID:ktOGXZw3
百行ものコード貼り付けたら貼り付けたでプンスカ怒り出すクセに
まぁ貼り付けられるかどうかは知らんけど
増してユーザーフォームありきのファイル フォームの造りをテキストにしろてか?
VBAオワコン派閥は以前から居るけど、何のためにこのスレに居着いてるんだか
要は「ボクはリスクマネジメントできません」っつー敗北宣言に等しいごたく並べてるだけだけど
そんな奴が作ったシステムを使い続ける方が気の毒だわ あぁ、仕事して無いんだっけ
482デフォルトの名無しさん
垢版 |
2026/01/29(木) 17:22:58.77ID:4IPPI0rh
Windows7の話を令和にされましても
2026/01/29(木) 22:17:51.41ID:E7e4esWn
StrConvのvbWide変換だけがエラーになるという謎が主題であってWindows7であることは主題じゃないんよ
2026/01/30(金) 01:03:43.67ID:dL2BCamo
ネットに繋いでいなければ更新もなさそうだし、何で突然動かなくなるんだろうね
485デフォルトの名無しさん
垢版 |
2026/01/30(金) 05:42:36.06ID:yHKBrUdg
確かにマクロが急にうまく動かなくなって、PC再起動したら直ったことはあった。
486デフォルトの名無しさん
垢版 |
2026/01/30(金) 05:46:44.42ID:yHKBrUdg
なので困ったら取りあえず再起動するといいかも。
2026/01/30(金) 08:34:19.61ID:IsGy5q7P
Strconv自体がダメなら理由は分からずともライブラリの読み込みに失敗してるんだろうなってのは分かるけど、全角変換だけってのは確かに謎だな
2026/01/30(金) 09:21:36.91ID:oPjccgP9
メモリのトラブルも考えられるが、Win標準装備のメモリ診断ツールはヘボいから
MemTest86とかで念入りにチェック必要になるケースもある
ほったらかしマシンとはいえ、たまにはデバイスメンテも必要
2026/01/30(金) 10:44:05.18ID:EzT8rU5C
VBAの処理って自前で全部やってるんじゃなくて、Windowsに最初から入ってるライブラリを使ってる部分がけっこうある
文字コード変換も外部呼び出しでやってるから、システムの影響を受けたり再起動で直るのは不思議なことじゃない
2026/01/30(金) 22:47:00.22ID:5bFIGc7s
まさかな〜と思って、もうネットにつないでいないWindows10で
StrConv("Hage", vbWide)
とやったら問題なかった

ちなみにみんな知ってるかな?
この第2引数、
vbWide Or vbUpperCase
のように一度に複数のスイッチを指定できるの
2026/01/31(土) 00:54:42.60ID:TuXXMB3U
+でいいし、なんなら定数の中身で書いてもよい
中身で書くと幅を占領しなくていい
例えば個人的によく使うvbUpperCase + vbWideは1+4なので5で指定できる
誰かに見られることがあるならコメント付けたりするのもアリ
2026/01/31(土) 02:31:14.80ID:W6Jnh7L+
>>491
フラグは論理演算で繋ぐのが正当

足し算や即値はバグの元だし可読性もデバッグ効率も落ちるからからやっちゃいけない
ものすごく条件が多い関数を使うとき、うっかり同じフラグを2回書いてしまってもOrなら誤作動しないというメリットがある

数字で書いてコメントで補足なんて直す場所が本体とコメントの2カ所に増えるから最悪
2026/01/31(土) 02:39:07.65ID:yqc25iMB
>>492
>うっかり同じフラグを2回書いてしまってもOrなら誤作動しないというメリットがある
これは確かに
他の言語、特にPowerShellだと演算子がキショいからついつい+でフラグのor取ってたけど反省しよう…
2026/01/31(土) 05:22:52.83ID:IRv21aF9
Strconvのvbwideやvbkatakana等はシステムの地域と言語によってはエラーになることがある。第3引数でLocaleIDを指定するとOkになるかも。日本語だと1041。
StrConv(“Hoge”, vbWide, 1041)
495デフォルトの名無しさん
垢版 |
2026/01/31(土) 08:40:20.62ID:P4CsYcHC
ここまでをまとめると対策としてはvb定数をconstハードコーディングしちゃえって感じ?on error goto して if iserror()する?
2026/01/31(土) 09:45:10.16ID:LDkE1HFL
これは人それぞれな気もするけど「うっかり同じフラグを2回書いてしまってもOrなら誤作動しない」というのは言い換えれば「うっかりミスに気付きにくい」ってことだから俺的にはむしろデメリットに感じる
もちろん誤作動が重大な事故を起こしうる場合はOrが向いてるけど、StrConvくらいなら+の方がいいかなぁ

パーツ毎に細かく書いてはテストしながら組み上げる人(俺)と、パーツをクラス化したりして汎用的にコーディングする人とで感じ方は変わってきそう
2026/01/31(土) 10:07:07.81ID:8DM5osXy
ビットを立てることをイメージするから、+ に違和感があるかな
Or って字面も嫌なのだけど
2026/01/31(土) 10:09:46.40ID:GFSCLLDX
C系だとビット演算を理解してない奴は少ないし、ビット演算子と論理演算子が別なので混同される心配もないから、一般的にはビット論理和一択だけどね
VBAだと unko Or chinko と出てきたら、ウン◯またはチン◯を指定しているんだ、と誤解するアホはかなりの割合で存在するから、+の方が誤解を招かなくていいと思うよ
ビットマスクを使った演算との一貫性の問題とかもあるけど、VBAレベルでそんなもん気にしなくていいでしょ
499デフォルトの名無しさん
垢版 |
2026/01/31(土) 10:33:45.33ID:V/M9wHtD
論理演算子は冪等性があるのがメリットなのに、あえてそのメリットを捨てて+を使う必要はないと思うけど。
500デフォルトの名無しさん
垢版 |
2026/01/31(土) 12:05:23.53ID:+sz5k7Bz
フラグを立てる X Or Bit
フラグを下ろす X And Not Bit
フラグを反転する X Xor Bit
2026/01/31(土) 14:17:59.23ID:KwksedAY
同じフラグを2回書いてしまったときに警告を出さないVBが悪い
2026/01/31(土) 14:20:20.79ID:KwksedAY
orに日本語の「または」の意味を持たせると
元のorの意味で「または」を捉えるのがCS理系
日本語の「または」で捉えるのがバカ文系
2026/01/31(土) 15:19:21.61ID:mVXRyW6N
英語のorの意味を「または」だけだと思い込んでる方が問題ある
もっと色んな使い方をする単語なのに
504デフォルトの名無しさん
垢版 |
2026/01/31(土) 15:45:33.29ID:6/3DGbww
日本語でも同じやろ
「鉛筆かシャーペンある?」と聞かれて
「(両方持ってるから)無いわ〜」と答える奴見たことないわ
2026/01/31(土) 19:43:32.43ID:X1eo3jZ9
「こんどの土曜か日曜あいてる?」と聞かれて
「(両方空いてるけど)あいてない」と答えることはあるよ
2026/01/31(土) 21:40:12.97ID:GFSCLLDX
ズレた話してるなあ
Orという英単語のニュアンスでフラグの演算を理解できると思うのは筋が悪い
ビットフラグ同士のOr演算はいわゆるbitwise orってやつで、各ビット毎にor演算をすることを意味し、
ビット単位で見れば普通に自然言語の「または」から想像される通りの論理演算に他ならない
情報工学の都合で複数ビットの同時演算に拡張した結果でしかなくて、自然言語の「または」が排他的かどうか、みたいな話は全く関係がない
507デフォルトの名無しさん
垢版 |
2026/02/01(日) 08:22:49.96ID:axF0nCWS
https://youtu.be/i-HSepj3o-I
508デフォルトの名無しさん
垢版 |
2026/02/01(日) 08:23:02.30ID:axF0nCWS
わたしキレイ?
2026/02/01(日) 10:14:15.27ID:e11KBsI1
のほほんと、かなり久しぶりに、何となくオプション画面を見てみた
見知らぬ機能にデフォでチェックが入れてあった なんぞ?
LinkedIn 曰く:自分のOfficeアプリケーションのLinkedIn機能を有効にします。 やめろ・やめてくれ
直ちにチェックオフ ん?Officeアプリケーションということは・・もしや、と思ってOutlookも見てみる
同じ機能にオン・ザ・チェック ←そんな表現は無い 気分的になんかそんな感じ 直ちにオフ

どうやらビジネス向けのXやらFacebookやらInstagramのようなものらしく
若い衆はへーきでここで交流しちゃうのか? 5chなんかに頼ってるヒマなんか無いてか?
で、、、いつからこんな機能付いてたン? いまさら何ボケかましてんだ、ジジイ?
510デフォルトの名無しさん
垢版 |
2026/02/01(日) 11:48:35.17ID:S2UN2XZv
>>507
2026/02/01(日) 12:40:44.62ID:hgv5TrLc
vbWideとvbUpperCaseのように定数同士なら+でもいいけど、どちらかが変数で値が不明ならOr一択なのでなぁ
2026/02/01(日) 19:30:43.48ID:omiqIXhD
Orz
2026/02/01(日) 20:23:01.81ID:I9ZNm0/s
そもそもStrConv関数の引数はビット単位じゃない
514デフォルトの名無しさん
垢版 |
2026/02/01(日) 21:23:06.98ID:I7k77EQ6
何を言ってるんだ
2026/02/01(日) 21:31:05.65ID:5f7+DArA
言うてStrConvのConversionを変数で動かすことある?
2026/02/01(日) 22:07:30.96ID:Nn8rdQwC
StrConvを変数で はないと思うけど、Orか+のはなし
分かりにくくてすまん
2026/02/02(月) 08:11:18.12ID:zlAztqXz
Orz ≃3
518デフォルトの名無しさん
垢版 |
2026/02/02(月) 12:01:29.33ID:3kNvWlRr
with以降を条件で変えて処理を行いたいんですが「elseに対するいifがありません」というコンパイルエラーが発生してしまいます
if文のみでは正常に動作します
withは条件分岐でネストして指定することはできないのでしょうか

if 条件 then
with worksheets(シート名1)
else
with worksheets(シート名2)
end if

.cells(1,1).value

end with
2026/02/02(月) 12:33:54.45ID:D/hNq8tV
dim hage
if 条件 then
hage = シート名1
else
hage = シート名2
end if

with worksheets(hage)
.cells(1,1).value
end with
520デフォルトの名無しさん
垢版 |
2026/02/02(月) 12:42:37.16ID:HqHMzwYm
>>519
早々の回答ありがとうございます
このようにシンプルに考えればよかったと反省です
521デフォルトの名無しさん
垢版 |
2026/02/02(月) 15:44:23.99ID:tn1B3J6E
変数名で悪口言うのって何かしらのハラスメントにあたりませんか
522デフォルトの名無しさん
垢版 |
2026/02/02(月) 16:01:53.64ID:fcb5TqBD
>>520
それ以前の話しだろ
2026/02/02(月) 17:10:29.56ID:vdDNLZAY
>>520
Ifステートメントの中にネストしてWithステートメントが始まってるのにEnd Withの前にEnd Ifになってる
ネストの意味を勘違いしていると思われるので、インデントをしっかり使いましょう
2026/02/02(月) 17:46:22.71ID:hhICJZQa
>>518
できます

#if 条件 then
with worksheets(シート名1)
#else
with worksheets(シート名2)
#end if

.cells(1,1).value

end with
2026/02/02(月) 18:08:48.62ID:vdDNLZAY
>>524
それ条件式に変数とか使えなくないか
2026/02/02(月) 18:15:03.93ID:1+YumtoC
#Ifはコンパイルの条件だから実行時に分岐はできない
2026/02/03(火) 01:13:22.98ID:fNA3otrd
>>524
そもそもそれは、ネストしてると言わない
2026/02/03(火) 09:59:39.95ID:EZHb1sBt
コンパイル前に定数やら条件式を書き換えなきゃいけないんじゃ、毎回シート名を指定するのと何も変わらん
529デフォルトの名無しさん
垢版 |
2026/02/03(火) 11:13:08.67ID:7RDr/AAq
with if(条件,worksheets(シート名1),worksheets(シート名2))
.cells(1,1).value
end with
2026/02/03(火) 12:16:17.37ID:WoWw91oB
そこにアイはあるんか?
2026/02/03(火) 12:21:35.71ID:MyR69IqV
>>367
>>366 のことをいってるならメインでp使えば良い
>>365 は最後に prev=value をもう一回書くと言う意味なら抜けてると言わざるを得ない
532デフォルトの名無しさん
垢版 |
2026/02/03(火) 12:23:24.97ID:GglrBJHI
誤爆
2026/02/04(水) 00:23:51.98ID:wfT4FkuC
御託はよいから毛の心配したら?
2026/02/04(水) 11:49:43.95ID:KPqzU2i/
Do
If CollHair.Weight > MaxHair Then
Call Barber
Elseif ColHair.Weight < MinHair Then
End
End If
If Rnd < 1 / 3 Then
CollHair.Add
Else
CollHair.Remove
End If
Loop
2026/02/04(水) 13:35:23.52ID:QoFf6z9d
nHair = 100
Do While nHair > 0
Call PlantHair(3)
nHair = nHair - 33
Loop
2026/02/04(水) 14:58:41.48ID:vfvtJT2q
but Hair = 0 …
2026/02/05(木) 09:08:00.94ID:3IhuolOa
nHair = nHair Xor nHair
538デフォルトの名無しさん
垢版 |
2026/02/05(木) 09:11:01.13ID:9nvaUCHv
If Hair=0 Then
  MsgBox "このハゲ!"
ElseIf Hair<30 Then
  MsgBox "ミノキシジルやれ!"
Else
  MsgBox "あなたフサフサですね"
EndIf
539デフォルトの名無しさん
垢版 |
2026/02/05(木) 11:20:53.25ID:F+Iyvp2M
A1からC4セルのスペース削除したいんだけどエラーがでます
Range("A1:C4") = Trim(Range("A1:C4"))
Trimってループ使わないと範囲指定できない?VBAニキ教えて!
540デフォルトの名無しさん
垢版 |
2026/02/05(木) 11:35:20.96ID:KDeSa5ll
Range("A1:C4") = TrimRange("A1:C4")
2026/02/05(木) 12:17:36.85ID:A/7aVRMt
コメントから読み取れないけど、Trimは文字列の途中の空白文字は削除しないからね
542デフォルトの名無しさん
垢版 |
2026/02/05(木) 13:04:30.31ID:F+Iyvp2M
>>540
コンパイルエラーとなってしまいます
>>541
前後だけ消したいです
2026/02/05(木) 13:38:22.14ID:63HUdTGi
>>539
トリムの引数はStringなので、セルに対してトリムをかけるっていうのが(処理的に)意味が分からんからねぇ
Trim(Range("A1"))なら通るけど、それはあくまでも「Trim(Range("A1").Value)だと解釈してくれている」だけであって、実際には「セルを渡しているわけではない」のですよ
そういう理解を深める為にも.Valueは明示的に付ける癖をつけた方がいいよ

だから例えばそれらの値を&なりConcatなりJoinなりで適当なデリミタ付きで結合してからTrimして、デリミタでSplitして戻す。みたいなことをすればループなしで使えないこともないけど、大人しくループするのが手っ取り早いと思う
544デフォルトの名無しさん
垢版 |
2026/02/05(木) 14:53:21.84ID:kfBMUrYk
スペースを置換するのをマクロの記録したら良いんじゃないの
2026/02/05(木) 15:53:58.54ID:aSO/tggN
Dim rng As Range
For Each rng In Range("A1:C4")
rng.Value = Trim(rng.Value)
Next
2026/02/05(木) 19:13:24.92ID:NOx8JeVK
そういや新しいExcelではトリム参照ってのができるようになってるんだよね
便利そうだけどうちのは古いから使えない
2026/02/05(木) 19:34:43.95ID:DelTsYeX
Sub TrimArea(ByVal rngArea As Range)
Dim rng As Range
For Each rng In rngArea
rng.Value = Trim(rng.Value)
Next
EnDSub


Call TrimArea(Range("A1:C4"))
548デフォルトの名無しさん
垢版 |
2026/02/05(木) 22:05:10.07ID:1yvquzzE
539です
皆様ありがとうございます
>>545ではrngをrangeとして宣言して、For eachでrngの範囲を指定して
rng=Range("A1:C4")であると思いますが、なぜ
Range("A1:C4").value = Trim(Range("A1:C4").value)
で実行できないのでしょうか
2026/02/05(木) 22:19:47.54ID:63HUdTGi
セル範囲を渡してもダメなことは理解してくれたってことでいいのかな?
そこから、セル範囲から値を取る(セル範囲.Value)のでもダメ?という質問への派生ってことでおけ?

その前提で話すと、セル範囲.Valueで得られるのはStringではなく配列だから。
くどいようだけどTrimはStringに対して動くものであって、セル範囲や配列に対して動く関数ではないということ。
2026/02/05(木) 22:27:33.61ID:63HUdTGi
ん?もしかしてFor Eachを理解してないのか…?

For Each Rng以下略…がやってるのはRng = Range("A1")で実行、次はRng = Range("B2")で実行、…という感じで1つずつループしている
範囲ではなく1つのセルであればセルの中身を単体のString(厳密にはVariantだけど)として取得できるのは上で述べた通りなので、それによってちゃんと動くという話
2026/02/05(木) 22:43:50.46ID:RuhPOOTX
For Each rng in Range("A1:C1")
では、12個のセルが順次rngに格納されて、12回のループになるよ
最初のrngにはA1、次はB1、C1、A2…B4、C4の順に繰り返すのよ
2026/02/05(木) 22:46:01.58ID:RuhPOOTX
失礼、550で指摘されていました
2026/02/05(木) 23:30:22.59ID:7WLVR12z
あぷで
https://forest.watch.impress.co.jp/docs/news/1619534.html
554デフォルトの名無しさん
垢版 |
2026/02/05(木) 23:58:28.85ID:1yvquzzE
>>549
セル範囲を渡してもダメなことは理解してくれたってことでいいのかな?
そこから、セル範囲から値を取る(セル範囲.Value)のでもダメ?という質問への派生ってことでおけ?
>>おけーです。.valueを省略した場合、vba側で判断して値を代入しているのは理解しました(Ragne("A1:B2") = "あいうえお"
とした場合、セル範囲としているがvba側で判断して値を代入している という認識です

>>550
For Each Rng以下略…がやってるのはRng = Range("A1")で実行、次はRng = Range("B2")で実行、…という感じで1つずつループしている
>>Range("A1")がString型(文字列)か判断して、ループして判断しているという認識でいいでしょうか(Dim rng As Range宣言は、rng.Value = Trim(rng.Value)の.Valueによって
文字列か判断している

>>552
ご迷惑をおかけしております
555デフォルトの名無しさん
垢版 |
2026/02/06(金) 06:42:45.62ID:Yjax+TGE
>誰かの書いた文章を引用する場合には
>不等号を行頭に置くことで
>自分の文章でないことを示す

一行空けて自分の文章を書くのが慣例で皆が見やすい
2026/02/06(金) 06:59:57.15ID:GgVQ8Z3n
ここまできたら理解できるまで付き合うでw

>>554
> Range("A1")がString型(文字列)か判断して、ループして判断しているという認識でいいでしょうか

よくないですねw
「ループしているのは、判断させるためというわけではない」
「Trimは単体セルに対しては問題なく使えるので、For Eachによって1つずつにバラして使う」
「Stringかの判断は必要ない(なぜならスペースが含まれた時点でStringだし、含まれてないならTrimもへったくれもないので)」
2026/02/06(金) 07:35:31.33ID:kAtrKGW8
蛇足 .Valueについて
VBAの関数には文字や数字などの「値」に対して動作するもの8割と「セルそのもの」に対して動作するものが1割存在する
(※割合は実用上で感じる体感なのでテキトーです)
そして、Range型には「.Valueが省略されていても値を要求されたときは.Valueと解釈する」という特徴がある(こういう勝手に解釈するものをデフォルトプロパティという)

ここまでなら問題ないが、残りの1割に「値なのかセル自体なのかで結果が変わるもの」、「セル自体を受け取れるのにセルを渡すとうまく動かないもの」などがある
そこで.Valueが省略されていると思わぬ動作をしてしまうので非常に厄介なことになる

.Valueの省略は思わぬバグを引き起こすし、そうでなくとも今回のように「Trimは値をいじってる」ことの理解にも繋がるので、セル自体を渡す必要があるとき以外は必ず付けるようにするのを強くオススメする
そんなこんなでデフォルトプロパティは便利そうに見えて実はバグの温床になる仕組みなので、理解が進むにつれて忌み嫌われていくww
2026/02/06(金) 07:58:30.48ID:JaaL7qTM
デフォルトプロパティはなぁ
分かってても忘れる時がまれにあるし、そんなミス想定しにくいからデバッグしててもなんでうまく動かんのや~ってなることもままある
ええ忌み嫌ってますはい
559デフォルトの名無しさん
垢版 |
2026/02/06(金) 09:40:01.00ID:YlDLrNc5
PythonからVBAを動かすxlwingsとかでもvalueは明示的に書く必要があるようになっているね。
560デフォルトの名無しさん
垢版 |
2026/02/06(金) 12:37:10.49ID:y3UK2f7H
>>556

>「Trimは単体セルに対しては問題なく使えるので、For Eachによって1つずつにバラして使う」

これはTrimについては単体でしか使えないというルールがあるということでしょうか
例えばなんですが、
Range("A1:B2").Value = "a"とした場合と
Range("A1").Value= "a"とした場合では
範囲が違えど値はaと入力されます
Range("A1:B2").Value = "a" ではA1:B2の範囲のセル(ループのような処理ではない)に対して値を入力しているので、単体でしか使えないTrimではループで一つにバラして各々のセルを処理していく
ということでしょうか
561デフォルトの名無しさん
垢版 |
2026/02/06(金) 12:43:54.37ID:fLWvlwSd
>>560
そろそろ馬鹿は消えろ
2026/02/06(金) 13:01:59.10ID:+09+k2bp
>>560
うん、ちょっと違うかな?
トリムのルールというか、文字列を要求しているのにそれが入った箱(セル)ごと渡されても困るということ

例えばトリムさんがおもちゃの修理屋さんだったとして、雑多におもちゃが入った箱をいくつもドサッと渡して「なんかいい感じによろしく!」とか言っても断られるのは分かるでしょ?
おもちゃそのものを渡せば当然対応してくれるし、箱ごとであってもそれだけしか入ってなければ分かるから対応してくれるってこと
なので、仲介役(For Eachさん)におもちゃの入った箱を1つずつ手渡ししてもらうことで修理屋さんは働けるということ

Range("A1:B2").Value = "a" がお願いしてるのはおもちゃ"a"を渡された箱全てに詰めるというお仕事なので、それはまた違う話なのよ
2026/02/06(金) 13:09:51.08ID:HugngsuZ
> これはTrimについては単体でしか使えないというルールがあるということでしょうか

これは「yes」としておいたほうがよくないかな
ただしTrimに限ったことでなく、文字列を処理する関数はみんなそう
セル範囲や配列をまとめて処理できないので、何らかの方法でひとつずつ取り出して処理する必要がある
2026/02/06(金) 14:16:57.47ID:3W/yJC7u
>>561 こっちのスレでもお説教必要か?
見てる限り、お前がいちばんの馬鹿だけど? 馬鹿の一等賞 冬季馬鹿五輪金メダル
知性も感じられなければ、ユーモアもウィットも無い、持ち合わせない ペーソスすら無い
スマートでも無いその生き様は、どう生きてきたらそこまで落ちぶれられるんだ?
言い付け守って、式亭三馬読んでみたか?ん?
565デフォルトの名無しさん
垢版 |
2026/02/06(金) 14:40:54.17ID:ajt9sJcm
>>564
身の程知らずのアホが来て理解できずにしつこくしてると>>564みたいなバカが出て来て荒れる 迷惑極まりない
2026/02/06(金) 16:53:49.89ID:3W/yJC7u
理解しようという努力を台無しにする発言だな 誰だって最初は初心者だろうに
そして、どうせ過疎ってるんだからそういう努力の人がここで成長したっていいだろ
どの目線からそんな発言が飛び出して来るんだか、ハラスメントなんか知ったこっちゃない世代の代表だろうな
表彰台の一番高い場所を一言居士と競い合ってるとしか思えん
親切に応じている人に対しても失礼だってのが理解できない、クソジジイと呼ばれる層の権化も同然
あんたこそが未経験の分野へ行ったら、身の程知らずのアホと呼ばれるに相応しい輩だと確信するわ
567デフォルトの名無しさん
垢版 |
2026/02/06(金) 17:05:29.58ID:AemssMb/
仕様が公開されているのにそれを参照しようともせずぐだぐだ続けるような奴は迷惑
568デフォルトの名無しさん
垢版 |
2026/02/06(金) 17:12:49.87ID:y3UK2f7H
>>562-563
分かりやすく解説いただきありがとうございます
おもちゃの例えでかなり理解が進みました
本当にありがとうございました
2026/02/06(金) 19:47:15.17ID:3W/yJC7u
AT限定免許取り立てだけどマニュアル車に興味があって、古株から
イグニッション回せ・ギア入れるときはクラッチ切れ・坂道は1速発進しろ・クラッチはゆっくり繋げ・
そんなだからノッキング起こすんだ だの、あーだこーだ責め立てられてみろってんだ
仕様が公開されてようがようつべで流れてようが、理屈と実践は別もんだろが
もっと古い車に成れば、チョーク引けだのに成る そのチョークだってどんな場面や状況でどのぐらい
押すのか引くのかの加減すら曖昧だっつーの もっとクラッシックならクランク回せにまで成る
おまえが生きてきた時代の当たり前を後進に押し付けるんぢゃねーよ、っつってんの
570デフォルトの名無しさん
垢版 |
2026/02/06(金) 20:02:04.69ID:k2+zeMBB
言い訳するのに意固地になって的外れな例を持ち出す馬鹿発見
2026/02/06(金) 23:08:40.73ID:63RgNIMN
> Range("A1:B2").Value = "a"

みたいなコレクション的なものにスカラー値を代入する構文が受理されてしまう事が
そもそもVB的にはイレギュラーなんだよね
便利過ぎる糖衣構文が基礎の理解を妨げてしまう悪い例になってる
2026/02/06(金) 23:18:50.27ID:Ei13XfOK
難しいことわかんないけど便利だからいいじゃん!!!がVBのレギュラーだぞ
573デフォルトの名無しさん
垢版 |
2026/02/07(土) 12:35:41.92ID:y4uNF/FV
春から事務の仕事が決まった若くて可愛い子が右も左も分からぬまま言われるがままに熱心に勉強してるのかもしれないだろ優しくして差し上げろ
2026/02/07(土) 12:50:05.97ID:jybIBeMT
よし、俺にまかせろ
575デフォルトの名無しさん
垢版 |
2026/02/07(土) 13:12:52.31ID:U3/ftB2t
仕事の採用でエクセルは普段使ってないけど
VBAの一番簡単な資格は取りましたって人が来たのだけど
それってVBA多少でも知ってるなら一般のエクセル操作、簡単な関数くらいは理解してると考えてよいかな?
2026/02/07(土) 13:25:38.15ID:2BiARFf0
VBAの資格ってなんだろう
試験範囲を見たらわかるんじゃない?
2026/02/07(土) 13:51:02.94ID:x3+5+H/Z
「VBAさわれます!」と豪語して入ってきた新人。
どのくらいできる?と訊くと、颯爽とAlt + F11のショートカットでVBEを開き、イミディエイトウインドウでMsgBox "Hello VBA!"を実行し、ドヤ顔で「こんな感じですかね?」と。
おやおや?と思いつつよくよく訊いてみると、VBEの開き方、関数はSubかFunctionで書き始めること(ただし違いは不明)、MsgBoxでメッセージ表示ができることくらいしか知らなかった…
プログラミングには興味があるが環境構築は面倒くさい→VBAならExcelさえあれば体験できるらしい→ちょいと調べてお試しで触った程度で満足してたらしい…

ってなことがあったんですよ。実話ですよ。
まあセンスはあってみるみる覚えてくれたからよかったけどさ
578デフォルトの名無しさん
垢版 |
2026/02/07(土) 13:57:10.73ID:g55tSfc0
ExcelやVBAなんてやれば誰でもできる簡単なお仕事だから
自分で資格とるくらいの興味とやる気があれば十分よ
2026/02/07(土) 14:09:34.83ID:7NIocPZi
ある程度の地頭とやる気さえあれば、VBA専で変な癖がついちゃってるベテランよりもよほど使いやすそう
2026/02/07(土) 14:27:56.52ID:QHXellme
それはそうかもだけどホントにおさわり程度しかやってないのにさわれます!とか豪語しちゃうのはどうかと…
2026/02/07(土) 14:28:53.44ID:gUXbfpjh
>>570 じぶんでも書いてて「ちがうか?」と、多少違和感を覚えつつ書き抜いた
今の車はスタート・ボタンだしスマホ連動だしドライブに入れればパーキング自動解除だし
電源ONでパネル起動だし、むしろそれが当たり前 とか続けそうに成って、さすがにその先は控えた
試しに的を射た例え話を書いてみてくれたまえ 書けないならおれと一緒 つか、俺以下だろ
要は、柔らか頭にして、過去も未来も勿論現在も、縦横無尽に行き来できるのが求められる先輩像
自分の頃がそうだったからと言ってスパルタンなゲンコツ教育ではその企業の未来は無い
ひいては日本の未来は暗いままで変われない 諸先輩にはなるべくそういう広い視野を持っていてもらいたい
根暗で罵詈雑言わめき散らすだけしかできないおとなは、早めにネットから退散してくれと
582デフォルトの名無しさん
垢版 |
2026/02/07(土) 15:34:13.77ID:y4uNF/FV
YouTubeで「チンパンジー 鳴き声」で出てきた動画の方がまだ何言ってるのか分かる気がするわ
583デフォルトの名無しさん
垢版 |
2026/02/07(土) 15:46:06.07ID:aroiyUat
スペースの入れ方を見ると質問者本人がムキになってるとしか思えん
2026/02/07(土) 17:54:05.74ID:gUXbfpjh
あんた如き洞察力の決定的に欠落した奴に応じたくも無いが
放っておくと相談者の名誉・尊厳に関わるから敢えてレスするが
そんな濡れ衣を着せて、何らの罪悪感も後ろめたさも疚しさも無いのか?
スレのバグはあんたの方だ 対処するかどうかは住人個々人の判断
2026/02/07(土) 20:40:46.33ID:hDrWf84B
5chの長文はバカの証拠
2026/02/07(土) 20:43:07.32ID:yze4r/3T
5ちゃんで長文は馬鹿の証拠
2026/02/07(土) 20:46:15.42ID:R310M2Qp
盛り上がってまいりました
588デフォルトの名無しさん
垢版 |
2026/02/07(土) 21:05:53.38ID:msJqfT9W
ワロタ
589デフォルトの名無しさん
垢版 |
2026/02/07(土) 21:33:35.84ID:b5G0ugYE
5ちゃんで短文は🦲の証拠
590デフォルトの名無しさん
垢版 |
2026/02/09(月) 15:43:22.41ID:NSRj6PRT
VBE上のテキストをコピーしてもWinとvのクリップボード履歴に文字が表示されないのなんで?
2026/02/09(月) 16:48:26.45ID:UrrcRiIh
Shift-JISだからじゃない
592デフォルトの名無しさん
垢版 |
2026/02/09(月) 17:23:21.83ID:0n4BjJpr
I think that's because it is Shift-JIS.
593デフォルトの名無しさん
垢版 |
2026/02/09(月) 17:23:54.21ID:0n4BjJpr
x I think that's not because it is Shift-JIS.
2026/02/09(月) 19:49:35.44ID:Q1FowpFe
このサイトに元ファイルの文字コード3パターンのサンプルがある
https://tools.m-bsys.com/ex/html-mojibake.php
ここでそれぞれどうなるか試せる
2026/02/09(月) 20:06:56.41ID:Q1FowpFe
失敬、VBEか
それでも上のサイトのテキストならクリップボードに載るのに
VBEのコピペだと載らないのは何故なんだろう
一旦テキストアプリ経由しなきゃならないんだな
VBEの仕様に関して考察してるおもしろいサイトがあった
https://qiita.com/shioume/items/a887661fefb774e3cfbf
2026/02/10(火) 09:52:24.12ID:9lWj/rnF
ちょっと動かしてみたが、VBEでコピーしても Win + v で出て来るクリップボードには
[利用できるプレビューはありません]が表示されるだけ
しかし、Excel本体の [ホーム] のクリップボード・グループの右下矢印(ダイアログランチャーと呼ぶらしい
まぁ、三歩歩けば忘れてしまうだろうけど、一応)を押して出て来るクリップボード画面には
ちゃんと表示される し、貼り付けとか削除とかも可能
VBエディターだけ特殊な造りに成ってるもよう Excel内だけで完結してるっぽい
2026/02/10(火) 09:56:41.81ID:z5cOsYUy
文字コード間で文字化けさせた文字列ってだけで、ブラウザ上でコピーしたらUnicodeで保存されるでしょ
VBEみたいにUnicode対応してないソフトで試してみたら
2026/02/10(火) 10:06:37.78ID:9lWj/rnF
検証不足だった Excel本体側のクリップボードを貼り付けようとしてもセルに貼り付くだけだった
そのクリップボードに溜め込んでおいてVBEで再利用しようと企んでも、一旦Excel本体のセルを
経由するハメに陥る 相談者の質問内容からして、どういう使い方したいかが判り辛いけど
VBA利用してクリップボード操作したい系では無さそうだから、ひと手間増えるのはテキストアプリ経由と一緒
2026/02/10(火) 11:45:40.31ID:Gmo92b7O
test
http://officetanaka.net/excel/vba/tips/tips20.htm
https://excel-ubara.com/excelvba4/EXCEL_VBA_462.html
https://www.moug.net/tech/acvba/0020004.html
https://learn.microsoft.com/ja-jp/dotnet/visual-basic/developing-apps/programming/computer-resources/storing-data-to-and-reading-from-the-clipboard
2026/02/10(火) 16:38:31.84ID:z5cOsYUy
チャッピーにVBEのクリップボードに関して深堀りしてもらったら、やんわりとVBA自体について否定的な説明をされた。
カンタンにまとめるとVBAの古い設計思想のために抱き合わせで保持されるコードの参照やリンクソースの情報が、
クリップボードのビューア的に「安全性に難あり」と判断されているかもね とのこと
https://imgur.com/a/VvO1Md6
601デフォルトの名無しさん
垢版 |
2026/02/10(火) 16:51:13.66ID:TaPU2HTs
馬鹿はAIを信じる
馬鹿はチャッピーと書く
2026/02/10(火) 16:57:54.98ID:PGo8Sigi
馬鹿と鋏は使いよう
AIも利用できないレベルのアホ
2026/02/10(火) 19:11:47.87ID:24rwBwiV
>>600
あなたにはVBAを使うのは難しいだろうと判断したAIが気を利かせた回答をしたんですね
はやく別の言語に切り替えて、そっちのスレで質問したらいいと思います
2026/02/10(火) 21:36:32.88ID:jKgu3SQx
>>603
非IT部門のうちの課(設計なのでシミュレータ向けのDSLは書ける人が多い)にも生成AIが導入された訳だが
なぜかわざわざAIにVBAを書かせるオジサンがいる
しかも一切読めない

VBAが読めないなら初めからPythonかPowerShellで書いたほうが遥かにいい結果が簡単に出せると思うのだが…
2026/02/11(水) 01:38:28.95ID:FwpD7WMt
ちょっといろいろやってみた。

Win+Vのクリップボード履歴とEXCELの履歴は別管理。それぞれのアプリで履歴とってるっぽい。

クリップボードの文字形式って色々あるんだが
ANSIテキスト(まあSHIFT-JISだと思ってよい)をクリップボードにセットした場合、
Win+Vの履歴にテキストが表示されない模様。
ANSIテキストで設定しても、Unicode等で取り出しはできるようなので貼り付けそのものは問題なくできる。

おそらくVBEがクリップボードにANSIテキストをセットしているのが原因だが、
EXCEL上の履歴では出せてるように、Win+Vのクリップボード履歴が手抜きなだけだな。

安全性に難ありとかは意味わからん
2026/02/11(水) 07:29:08.90ID:MKCp/YR4
クリップボードはどんなアプリからでも簡単に読み取り、書き換えができるからセキュリティ的にはザルどころの騒ぎじゃない
2026/02/11(水) 08:27:29.91ID:d4/Q/vL5
盲目的にAIを信用してしまう人は論外だけど、AIの名前出しただけでアレルギー反応みたいに拒絶しちゃう人もどうかと思うな
2026/02/11(水) 09:23:02.10ID:KQk+bAHN
コードのひとかたまりをコピーして、そのままペーストなら問題無くできるんだから
Win + v のクリップボードをいちいち開く意味は無いんで、複数のコピーを溜め込んでおいて
後でヨソで使うと読んだが、[利用できるプレビューはありません]がぞろぞろ並んでも
コピーした順番を覚えてさえいれば、とりあえずコードをセルに貼り付けることは出来る
但し、ひとつでも日本語が入ってると文字化けして何が何やら判らんくなる
だから、例えば複数のコメントとかをコピーしといてヨソで流用、とかだとカオスに陥る

Sheet上の図形をコピーした場合でも、Winクリップボードには絵柄がプレビューされるけど
フォームコントロールのボタンとかだと、プレビューありませんのメッセージすら出ない
Excel本体側のクリップボードなら、図形もボタンも問題無く表示される

翻って、Winクリップボードの上部に並んでる、最近使用したもの・絵文字・GIF・顔文字・記号
とかを見てみると、見たことも使ったことも無いようなのがぞろぞろ表示されてウざい
そっちのWinクリップボードはアテに成らないってことで、餅は餅屋な使い方なんだろう

動画・音楽・pdfやら何やら、いろんなファイルコピーしてヨソに貼り付けが可能でも
そこのプレビューには何の変化も無いようなもので、万能を求めたら失望するだけだと
609デフォルトの名無しさん
垢版 |
2026/02/11(水) 12:23:14.41ID:3rFL1lfU
.emf
2026/02/11(水) 15:00:05.39ID:d4/Q/vL5
ANSIコードである事が問題じゃなくて、VBE君が使ってるANSIコードが古くて環境依存性が高いシロモノなせいでWindows君が混乱しちゃってるって事だね
クリップボード上でコードとかフォームコントロールとかを同レベルに扱いたいVBE君の思想がWindows君と噛み合わないみたい
611デフォルトの名無しさん
垢版 |
2026/02/11(水) 15:23:57.90ID:ziFYqCGW
マジレスすると求められてるのは生テキスト(ANSI含む)じゃなくてBSTRとかVARIANTじゃね
2026/02/11(水) 18:58:14.55ID:98Lb/8lj
セルのコピーペすると罫線とか、背景色、条件付き書式なんかも全部コピーされるから
値の貼り付けをしろと何回も言ってるのに
2026/02/11(水) 20:01:02.35ID:nVzJ6Yfn
クリップボード自体に変換機能があるから、セルを入れてテキストだけ出すとか普通にできる
判定と変換はOSが勝手にやるんで、たとえばセル範囲をコピーしてメモ帳にペーストすると書式とか全部消えてテキストだけになる
614デフォルトの名無しさん
垢版 |
2026/02/11(水) 21:01:55.28ID:+6XS9brC
Power Automateを学びかけたけど以外と制約がなめんどい
外資おじが断言するけどExcelの天下はまだ50年余裕で続くわ
2026/02/11(水) 21:43:25.80ID:FwpD7WMt
>>613
クリップボード自体の変換機能は非常に限定的で
セルをテキストに変換するような機能はない。

コピーする側が複数のデータ形式で登録して
ペーストする側が、登録されたデータ形式から選択する
616デフォルトの名無しさん
垢版 |
2026/02/12(木) 03:01:37.69ID:b8K+ql27
>>613
x 変換機能
o 変態機能
2026/02/13(金) 09:26:43.96ID:HGS/ncLK
この話題で検証するためにExcel本体側のクリップボード開いてたまま気にしないで終了してたんさ
日付変わって作業用のファイル開いたら、クリップボード開かれたまんま立ち上がって来て
そこに検証してた時とは全く関係ないコピペが貼り付いてたんさw 少しだけヤバイ内容のw
試行錯誤用のテストファイルと作業用のファイル、全く関係無いし、Excelとは全く関係無いアプリの
コピペが貼り付くてw ヤバイぞ、これw
今朝、Winメモ帳の脆弱性とかニュースに成ってたけど、クリップボードもそれなりだろ
共用PCとかでクリップボード開きっぱで終了させといて、他人が使った時にコピペしたら丸バレしてしまう
おま環か?これ?
2026/02/13(金) 09:41:52.13ID:HGS/ncLK
ふと、思い至ってWinクリップボード開いてみた
三つの履歴が残ってた 今朝電源投入してからの分でそれだけコピペしてたのは間違いない
その内最新のだけがExcelクリップボードに残ってた
まぁ、他人が何をコピペしたか探りたきゃWinクリップボード見りゃいいのが分かった
やばいよやばいよw いまさらだったな、失敬
619デフォルトの名無しさん
垢版 |
2026/02/13(金) 10:06:57.33ID:rkG0pZds
>>617
中古HDD入手したらパーティション解放しただけで上書きされてなくて
パーティション造ったら全部復元出来て前の人のあんなものやこんなものが
っていう事件を思い出した
2026/02/13(金) 11:08:28.77ID:0QenpJOB
高速フォーマットはエントリ消すだけだもんな
完全フォーマットはめちゃくちゃ時間かかるから、リース上がりを何万台も仕入れる中古業者はドライブ抜いて終わりにすることも多い
621デフォルトの名無しさん
垢版 |
2026/02/19(木) 12:17:02.15ID:fqnd/oDW
他部署が社外システム導入とかあたふたしてるから部内のはガチッとVBAで組んだら「なーんだマクロで出来るんだ?」て軽く解決した風に他部署が言いやがった
俺は一切教えんし手伝わんかったらまたあたふたしだしてる
622デフォルトの名無しさん
垢版 |
2026/02/19(木) 12:31:39.98ID:cTP/hAta
VBAとマクロは別物
623デフォルトの名無しさん
垢版 |
2026/02/19(木) 12:44:09.47ID:mersVfHi
マクロとマグロは別物
624デフォルトの名無しさん
垢版 |
2026/02/19(木) 12:52:08.63ID:fqnd/oDW
言葉をいちいち気せんけどマクロじゃ無理だよ、繰り返しや記録じゃこれは出来ないよ
とは教えてあげてる
2026/02/19(木) 12:54:36.40ID:O6p/khlA
v4マクロの事だろ
626デフォルトの名無しさん
垢版 |
2026/02/19(木) 13:12:55.54ID:pCJhxX7p
刺し身にしておいしいのはマグロ
プログラミングのコードはマクロ
2026/02/19(木) 13:44:34.55ID:MJ+djBvV
他部署下げの人、年に一回ぐらい出没するな 今年はこれで打ち止めだろうな
2026/02/19(木) 14:13:19.43ID:Vm2gw9hF
早射ちマックはマグロウ
629デフォルトの名無しさん
垢版 |
2026/02/19(木) 14:51:25.00ID:lpYV8O40
完全な黒はマックロ
630デフォルトの名無しさん
垢版 |
2026/02/19(木) 14:56:01.54ID:rGAF6Pts
数学のテイラー展開で0の周りを考えたものはマクローリン展開
2026/02/19(木) 16:16:21.74ID:CqmenkUD
小さいのはミクロ
2026/02/19(木) 16:17:07.69ID:DOyCjOar
死んでるのはムクロ
2026/02/19(木) 16:17:38.24ID:k9wOhsSu
頭の下にあるマクラ
2026/02/19(木) 16:18:17.43ID:k6ngnrVx
笑うのはモグロ
635デフォルトの名無しさん
垢版 |
2026/02/19(木) 16:45:08.62ID:Cyp0lVfx
皮膚の黒点はホクロ
636デフォルトの名無しさん
垢版 |
2026/02/19(木) 16:47:12.70ID:S5pQIEoY
女の子の恥ずかしいところはマンコ
637デフォルトの名無しさん
垢版 |
2026/02/20(金) 10:24:12.18ID:pRzjk5v+
そしてVBAはマクロ
638デフォルトの名無しさん
垢版 |
2026/02/20(金) 11:26:07.09ID:t/ar2cUP
>>637
それはマクロ
639デフォルトの名無しさん
垢版 |
2026/02/20(金) 12:18:52.68ID:wpk/bfS1
全くの未経験だけど
Excel VBAエキスパート参考書から始めようか考えてるのだけど
それともアルゴリズムとかの本から読んだ方が良いの?
640デフォルトの名無しさん
垢版 |
2026/02/20(金) 13:02:20.35ID:0qrvkg6Q
もしプログラム自体が未経験ということなら、本当にVBAをやる必要があるのかも慎重に検討した方がいいと思う。
2026/02/20(金) 13:29:42.37ID:cd2u74Az
同意
今後はAIによる開発効率化の影響で、一山いくらで売り買いされて大規模プロジェクトに動員されていた低スキル層のプログラマ達が、
VBAの得意領域だった細かい現場業務の自動化の領域に降りてくることが予想される
なので、更にスキルの低いVBA専にとってはかなり厳しい戦いになるだろうね
2026/02/20(金) 16:04:33.15ID:8uM3LH3+
そもそもVBAなんて自分のOffice作業を便利にするための道具なんだから、どこぞのプログラマの成れの果てと勝負する事なんか何も無いのでは
VBAしか使えないってことはそれ以外の開発環境が無い事がほとんどだろうし
643デフォルトの名無しさん
垢版 |
2026/02/20(金) 16:08:15.59ID:JaPthDTw
争いは、同じレベルの者同士でしか発生しない!!
2026/02/20(金) 17:14:04.18ID:g3BS/fJb
生成AIを手に入れた業務の裏の裏まで知り尽くした生き字引のおばちゃんが自分でコピペしてる。現場にエンジニアが降りてくる隙間はない。
645デフォルトの名無しさん
垢版 |
2026/02/20(金) 18:42:41.00ID:+dA/MW5T
使いやすさとメンテナンス性をいかに汲み取れるかが全てであって
このAIが台頭してる時代にVBA詳しいですプロですなんてそもそも必要としてないしね
事務やってるパートさんも社内アカウントでcopilot使って自作してるよ
2026/02/20(金) 19:26:14.86ID:/WvanJsy
>>639
正直言うとどちらでもいい、ただ悩む前にサクッと始めていれば数日で覚えられるんじゃね
それなのにどうでもいいことで悩んで立ち止まっているせいで未だに未経験なわけだ
さっさと読み終えて次のステップへ行けよ
647デフォルトの名無しさん
垢版 |
2026/02/20(金) 21:30:10.43ID:xBSeey3c
大体の参考書って例題やサンプルに用いる言語が指定されてたりするじゃん
初心者でも環境の構築が容易だって理由なんかでさ
だからアルゴリズムの書籍を一冊パパっとやるとかで良い気がするね
いやいきなりアルゴリズムよりは適当な言語の入門書を一冊パパッとやる方が取っつきやすいか
それなら取っつきやすさだったらVBAは敷居が低いと言えそうか
地味に色々と出来るしプログラムの入門には便利だよな

VBA一冊か、「何かのプログラミング言語入門」と「アルゴリズムとデータ構造」を
一冊ずつでまあまあ良い感じに仕上がるんじゃないの
データベースの概念がちゃんとしてるかどうかって結構大きいよな

そう考えるとやっぱりVBAは便利だな、簡易DBを自前で持ているわけだし
けどそれ故に「環境構築」と各種連携が学ぶ機会を別途設ける必要が生じるか

一長一短だね
2026/02/20(金) 21:46:53.60ID:q3YBgG5T
アルゴリズムの本なんてだいたいCかPython想定だろうからVBAだと配列の仕様など細かい違いが面倒臭いだけだぞ
ある程度プログラミング的性のある人によっては大した違いではないではないかもしれないが、
だったらVBAなんかやるよりまともなプログラミング言語やった方が生涯賃金は遥かに高くなる
649デフォルトの名無しさん
垢版 |
2026/02/20(金) 22:52:02.09ID:5cYkMmFp
別にプログラマで稼ぎたくてVBAやってる人ばかりじゃないだろ
650デフォルトの名無しさん
垢版 |
2026/02/20(金) 23:00:30.27ID:BIsKXkHI
あまり本質的な点ではないのだけれど、VBAは配列の構文が丸括弧だったり、呼び出しの構文で丸括弧が省略できたりでC, Java, JavaScript, Python等の無難な言語と比べたときにちょっとクセがある。
2026/02/21(土) 06:59:05.40ID:6XkdR0La
VBAはアプリとの兼ね合いを前提にしてるから特にクセ強になるのは致し方ないかな
俺結構長いことやってるけど、いまだにオートフィルタ周りの操作が苦手で困ってる
現在進行形で困ってるw
652田代まさし
垢版 |
2026/02/21(土) 07:18:29.02ID:aNAKftnO
>>638
合ってんじゃないかよ!
2026/02/21(土) 07:20:59.68ID:BTi9t36j
VBAはプログラミング
マクロは自動記録
AIで作ったやつはどっち?
654デフォルトの名無しさん
垢版 |
2026/02/21(土) 07:31:29.40ID:aNAKftnO
AIは愛
2026/02/21(土) 07:31:48.53ID:QP0s+o5s
変なとこで省略『できてしまう』癖に頻繁に使われるのに長ったらしい記述が必要なのものは変わらんよなぁ
それこそオートフィルタ結果の抽出とかRangeのEndプロパティとかさ
Autofilter.結果(Optional 見出しを含む As Boolean)とかColumns("A").End(Optional xlDown As Boolean)みたいに簡潔にさせてくれたらいいのに
656デフォルトの名無しさん
垢版 |
2026/02/21(土) 08:48:28.04ID:WegE6mW6
ココがイヤだよVBA Top3
1 Try Catchがない
2 For Eachがバリアントのみ
3 宣言と代入が同時にできない
657デフォルトの名無しさん
垢版 |
2026/02/21(土) 09:40:20.47ID:PgjFZLFL
今どきメモリ管理をプログラマに要求する仕様があり得ない
2026/02/21(土) 10:09:12.83ID:ftaqCpnX
>>656
まあ判らんでもない
他の言語(pythonやjavascript)からVBAを自動生成するトランスパイラがあれば満足するんかいな
2026/02/21(土) 10:14:02.99ID:hjSIexHJ
どうせAIに任せるだけなんだから今となってはどうでもいい
660デフォルトの名無しさん
垢版 |
2026/02/21(土) 10:21:26.39ID:RpV3CBNQ
トランスパイラというか、PythonからはVBAのオブジェクトを直接操作できるライブラリが複数あるし、JavaScriptは将来的にはVBAそのものを置き換える予定なんじゃない?(今のところ順調ではないみたいだけど)。
ただ、AIの発展が速いので、こういう話もあまり意味がなってしまう可能性もけっこうありそうだけど。
661デフォルトの名無しさん
垢版 |
2026/02/21(土) 12:26:55.75ID:dytqgd4u
VBAの需要は既存資産の保守にあるから置換は難しい
新規のプロジェクトならそもそもExcel自体が置換の対象になるから
VBAのかわりに…といった話が出る機会はない
ここ数年スプレッドシートでもらう場面がめちゃくちゃ増えた
662デフォルトの名無しさん
垢版 |
2026/02/21(土) 13:09:36.85ID:RpV3CBNQ
世間的にはそういう流れなの? ExcelをGoogleスプレッドシートに置き換える話って、自分はそれほど身の回りで聞くという印象はなかったんだけど。
2026/02/21(土) 14:55:19.74ID:BTi9t36j
スプレッドシートのメリットってなんかあるの関数とかも違うんだよね?安いのか?
664デフォルトの名無しさん
垢版 |
2026/02/21(土) 15:34:56.92ID:zHb43Ayf
機能性や表現力といった柔軟性の高さを捨てるかわりに、デバイスや場所を選ばないという汎用性の高さ、取り回しの良さじゃね
2026/02/21(土) 19:53:12.73ID:GR8yr8oL
>>663
無料、どこからでもアクセスできる、簡単に共有できる
2026/02/21(土) 20:27:37.93ID:hjSIexHJ
Web版のExcelが劣ってるとは思わないが、
どうしてもデスクトップ版で開いてWeb版で編集できない機能使っちゃう馬鹿のせいで確実に破綻するからな
2026/02/21(土) 22:02:31.19ID:BTi9t36j
機能低下はちょっと、と思ったけど無料なの!?
それはデカいな、
668デフォルトの名無しさん
垢版 |
2026/02/22(日) 13:10:35.77ID:c44x3OrX
TryCatch を if や goto で代替なのは別によくね
669デフォルトの名無しさん
垢版 |
2026/02/22(日) 17:44:14.82ID:7abmsjcp
geminiとの連携も含めて無料で使える
関数がなかったらaiに書いてもらえばいいだけだから全く困らない
670デフォルトの名無しさん
垢版 |
2026/02/27(金) 14:47:06.53ID:yuqfG1po
vbaでもmallocしたいね
2026/02/27(金) 14:58:28.16ID:yT+jjCiH
しゃぶれよ
672デフォルトの名無しさん
垢版 |
2026/02/27(金) 15:43:07.64ID:JGdq0L5g
別に…
673デフォルトの名無しさん
垢版 |
2026/03/01(日) 07:50:15.02ID:b4AD2wsm
これがわからないのだけど
Cells(Rows.Count, "A")
なんで「Rows.Count」は文字列なのにダブルクオーテーションつかないの?
2026/03/01(日) 08:20:55.82ID:Ro4E0XZ/
文字列じゃないよ?
RowsオブジェクトのCountプロパティだよ
675デフォルトの名無しさん
垢版 |
2026/03/01(日) 08:55:28.83ID:4xPEy7NH
計算結果の値を使う時はダブルクォーテーションを付けない
676デフォルトの名無しさん
垢版 |
2026/03/01(日) 09:58:18.52ID:/t9hrgUs
"A"は文字列リテラルで、Rows.Countは(広い意味での)名前参照式だからという説明はできるけど、VBAの言語仕様としてリテラルという概念を使ってよいかどうかは知らない。
2026/03/01(日) 11:54:31.14ID:D8+1q/e8
プログラム中に任意の文字列を書くときは、命令や変数名などと区別するために二重引用符で括る必要かある
「If」という文字列を書きたければ引用符で括らなければ If文のそれと区別ができない(「s = If」とは書けない。「s = "If"」ならOK)
この sの中身を得る場合、「"s"」としてはダメ(「s」という文字列になってしまう)
慣れるまでの我慢
2026/03/01(日) 13:15:49.06ID:OpGEdaad
我慢できません
679デフォルトの名無しさん
垢版 |
2026/03/01(日) 14:24:09.93ID:ZKzC1hYF
データ(文字列や数値などの値)と、識別子や予約語といった概念の違いは本当の初期段階の頃はちとムズいかもね

日常生活で例えるのなら何と何が相応しいかね
680デフォルトの名無しさん
垢版 |
2026/03/01(日) 15:06:05.76ID:+YQrxi5a
大袈裟にいえば、字句解析上のルールとしてそう決まっているんだからそうなんだとしか言えないのでは。そういう内容になった理由としては、677の書いているようなことなんだろうし。
Excelの場合、セルに書けるのは全て式だけど、数値を直接表す式(数値リテラル)はその数値をそのまま書き、文字列値を直接表す式(文字列リテラル)はその文字列を二重引用符で囲んで書く、そういうルールになっているということよね。
字句解析レベルではトークン種別として異なり、構文レベルでは式の種類が異なるとか、理屈で説明していけばそういうことになるんだろうけど、そういうもんだと慣れちゃった方が早いと思うよ。
2026/03/01(日) 15:15:10.22ID:Ro4E0XZ/
抽象名詞と固有名詞とかかね?
Rows.Count は全体の人数のことで、具体的には明言してないものの結果的には「最後尾の人」を指名していることになる
"A" は「A列さん」と直接的かつ具体的に名指ししている
2026/03/01(日) 15:17:45.08ID:Ro4E0XZ/
日本語訳?して
セル(最後尾,『A』)
みたいに捉えるといいかも
683デフォルトの名無しさん
垢版 |
2026/03/01(日) 15:21:38.42ID:ixktljuW
地元大手に転職して四年目だけど
部署で60人いて俺ともう一人くらい
このAIの時代なのに
この世は想像以上にプログラミングに縁のない人間で構成されている
2026/03/01(日) 15:27:06.10ID:tgIEbqz0
VBAで精神的マウンティングは草
685デフォルトの名無しさん
垢版 |
2026/03/01(日) 16:13:05.50ID:o1II0fK/
>>673
知的障害者には無理だよ
2026/03/01(日) 20:35:43.22ID:IA5zZYsR
>>683
その部署がプログラムなんか必要ではない業務なら問題はない
組織が機能しなくなったらトップが責任取ることになるだけ
2026/03/01(日) 22:34:24.14ID:cDrB9/Ga
ガイシュツかもしれないけど、まずは写経するなり試行錯誤するなり、自転車に初めて乗るように練習しなくちゃダメだよ
習うより慣れろだよ
他人を貶める発言をするやつもいるけど、ショートカットして楽して身につけようというのもダメ
遅い早いはあるけど、一度自転車に乗れるようになったら大したことはない
頑張って
2026/03/02(月) 01:37:44.46ID:UMVTx0I8
ダブルクオーテーションで囲むと、つねにその値が使われる。
"A"はいつでも同じAという文字を表すけど、
Rows.Countは状況に応じて値が変わるから

つかこの質問、だいぶ前にも見た気がするなぁ
初心者あるあるなのか?
2026/03/02(月) 04:10:25.64ID:Ig6fwbEh
コピペ
まじめに答えてるやつは釣られただけのバカ
690デフォルトの名無しさん
垢版 |
2026/03/02(月) 05:00:19.53ID:qTvCqhRD
相変わらず馬鹿ばっか
特に
>>688
2026/03/02(月) 10:57:47.76ID:lEbKv3qe
そこでevalですよ
692デフォルトの名無しさん
垢版 |
2026/03/03(火) 13:15:42.47ID:MZC+zUHd
>>683
プログラミングが仕事になる時代はもう終わるから
みんな次の時代に備えてるだけよ
693デフォルトの名無しさん
垢版 |
2026/03/03(火) 15:13:37.59ID:BY7cwUb4
それぞれの役割があって仕事しているのだろう
いつまでも仕事ができない部下を抱えている管理職が無能なだけ
694デフォルトの名無しさん
垢版 |
2026/03/03(火) 20:03:32.56ID:cjaDRwUQ
いまVBAなんて勉強しようとしてる若者いたら間違いなく進化についていける可能性のない無能だしな
年収500万もいかないようは
AIへの指示力と説明力より本質的に足りてない
695デフォルトの名無しさん
垢版 |
2026/03/03(火) 22:02:36.08ID:p/Bz/Y5D
俺みたいになるぞって意味かな
696デフォルトの名無しさん
垢版 |
2026/03/03(火) 23:11:38.68ID:Hay2O4tT
>>694
こういう馬鹿ってAIが絶対に間違わないとでも思ってるのかね
2026/03/03(火) 23:40:28.62ID:CXSzgZ/d
少なくともブビ専よりは間違わないよ
698デフォルトの名無しさん
垢版 |
2026/03/04(水) 01:00:32.82ID:X/vcL+vM
AIでエラーチェックしない前提なのが本当に笑える
無能な奴がたまにVBAできますって言っても使い物にならん典型やんか
2026/03/04(水) 01:11:16.41ID:GyCryA3w
別にプログラミングに限らず面接で「できます」って嘘ついて採用された人は古今東西無数にいるんで
700デフォルトの名無しさん
垢版 |
2026/03/04(水) 07:35:59.52ID:cQMaFa+/
出来る/出来ない は個人の能力差なだけ
よその職場や他人の能力なんか気にしても意味がないよ
2026/03/04(水) 08:36:17.30ID:wSO8MmKt
AIでVBA作った!(?)と嬉々として報告してきた先輩(VBAできない)
数分後、元ブックのバックアップも取らずに使ってしまいボロボロになって俺に助けを求めてきた
本来はSheet1.Range("A1").Value = Sheet2.Range("A2").Valueみたいな処理をシートを指定せずRange("A1") = Range("A2")と書いてあったため体裁も崩れボロッボロに。
しかも処理後に自動で保存してファイルを閉じたい!と指定していたため律儀にThisWorkbook.Close SaveChanges:=Trueも記述されており無事死亡。
比較的簡単な資料だったからまだ良かったが俺が復旧して書き直しまでしてやるハメに…

AIは便利だが知識がないと普通に騙されるからな
2026/03/04(水) 09:18:39.63ID:FSKTvLR4
「動く」と「結果が正しい」は違うんだな…
2026/03/04(水) 09:41:58.71ID:VvaLtT7a
「動いて&結果が正しく」ても
"正しいプログラム"とは限らないんだが
VBAerは正しくないプログラムを量産しがち
704デフォルトの名無しさん
垢版 |
2026/03/04(水) 10:19:35.96ID:8qstImHC
問題が起きても黙って直して、「直りました」って対応するから同じ失敗を繰り返すよね
一旦上にこういう理由で問題が起きましたがこれから直します、終わったら報告しますって言っとけ
黙って対応すると脱税とか、横領のごまかししてるとか冤罪受けてもしらんよ
705デフォルトの名無しさん
垢版 |
2026/03/04(水) 10:35:56.23ID:zMvrUrB1
検証できない奴はVBAもAIも使えないしそういうポンコツは無視っしょ
2026/03/04(水) 11:19:56.45ID:k04Hy5dQ
>>703
会社業務は結果がすべて
アルゴリズムとかコーディングルールとかは評価にまったく関係ない

「長い目で見て能率が」とか「保守性が」とか寝言を言ってる暇があったらさっさと目の前の仕事を片付けろ
707デフォルトの名無しさん
垢版 |
2026/03/04(水) 12:15:56.73ID:zMvrUrB1
まぁ若えりゃVBAを触って感覚覚えるのもありかもね
あと良い歳して年収500万もいかないような底辺職場ならAIは信用できない!って言うのもまぁ納得だし
2026/03/04(水) 14:17:53.37ID:H4xywiJ6
AIはプロト作成とマニュアル自然文検索に使うと便利
プロトから完成品にするところは自分でテストしながら作った方が早い
2026/03/05(木) 17:10:33.44ID:j3ZTlEZD
AIはゼロから書き出す前の取っ掛かりとして便利だよね
もちろん裏取りは必要だけど、未知の関数や構文を知る機会にもなる
学習目的なら「別のパターンを提示して」とか繰り返すと視野が広がったり広がらなかったりする
710デフォルトの名無しさん
垢版 |
2026/03/05(木) 17:44:38.40ID:5GACNzkg
AIのおかげでgithubにあげる英文ドキュメントを作るのが本当にラクになった
711デフォルトの名無しさん
垢版 |
2026/03/05(木) 18:44:57.78ID:nldsw3XZ
もう定年だからAIに引き継ぎさせようってことか
712デフォルトの名無しさん
垢版 |
2026/03/05(木) 20:08:27.15ID:45/K7WOd
え?まさかAI使わない人がいるの?
お勉強で覚えたコードを手打ちしたり自分の手持ちからコピペ?
と思ったけど派遣ならそんくらいか
713デフォルトの名無しさん
垢版 |
2026/03/05(木) 22:11:39.96ID:KbunMTYj
官庁に勤めてるけど、オフィスしか入ってなくて社内ネットワークだから手打ちしてる
発狂しそう
2026/03/05(木) 23:55:01.88ID:MA5Yu7eu
>>713
スマホで作って自分にメール
715デフォルトの名無しさん
垢版 |
2026/03/07(土) 12:18:19.77ID:hnsqTIeR
会社のメールは当然監視されている
ご丁寧にキーロガーまで仕込まれてるからコピペしたこともバレる
716デフォルトの名無しさん
垢版 |
2026/03/07(土) 12:32:42.95ID:7TftiHfP
そもそもメールも外部と遮断されてるから悩んでいるです
だから手打ちしていた業務をマクロ組んであげると有難られるのよ
2026/03/07(土) 12:38:20.30ID:Ao1U3tM1
官庁ならフローピーディスクがあるはず
718デフォルトの名無しさん
垢版 |
2026/03/07(土) 13:49:12.95ID:RbjPNYBN
For i = 1 To 3
Cells(i, 1).Value = i

これの = なんだけど
右側の = i の i をCellsカッコ内のiに代入すると言う意味だと思ってたんだけど違うの?
719デフォルトの名無しさん
垢版 |
2026/03/07(土) 14:55:29.78ID:XL/IjScV
>>718
普通に違うだろ
2026/03/07(土) 19:28:41.62ID:vL6rM5nS
>>718
全てに代入する と考えると分かりやすいかもしれんな
その例だと i を1 ~ 3 の間で動かしながら実行という意味なので、

Cells(1, 1).Value = 1

Cells(2, 1).Value = 2

Cells(3, 1).Value = 3
2026/03/07(土) 20:48:07.39ID:rnZti4eF
718みたいに思う人もいるのか
なかなかおもしろい
2026/03/07(土) 21:50:05.45ID:7nZCwRTu
>>716
外部の業者に委託せよん
723デフォルトの名無しさん
垢版 |
2026/03/08(日) 10:42:44.12ID:XGwsy7j/
vba関数の辞書、逆引きが出来るサイトなんて沢山ありそうだけどな
724デフォルトの名無しさん
垢版 |
2026/03/08(日) 13:55:06.52ID://obQfKp
答えだけを求めて内容を理解しないのが初心者
2026/03/08(日) 16:32:11.92ID:7Qa7JmEz
そしてAIに丸投げして、答えが合ってるかどうかすらわからなくなる
726デフォルトの名無しさん
垢版 |
2026/03/09(月) 00:31:33.97ID:U9R6EYNT
AI使うと理解できなくなるねぇ…
仕事できなさそうだけどまぁ派遣社員ならいいと思う
727デフォルトの名無しさん
垢版 |
2026/03/09(月) 01:01:40.74ID:8YS37H9V
変換にたより過ぎて漢字が書けなくなるように
AIを頼りすぎて自力で作れなくなるんだろうな
2026/03/09(月) 07:14:11.61ID:MMjkTJ/a
自分だけが使うツールならAIに投げてもいいんだろうけど…
729デフォルトの名無しさん
垢版 |
2026/03/09(月) 12:11:23.21ID:0GhE1LJf
AI を 頼りすぎて
AI に 頼りすぎて

文章はAIを頼った方がいいかもしれんな
2026/03/09(月) 12:16:44.81ID:vciJ43zb
どっちでも通るやん
国語力低すぎんか
2026/03/09(月) 13:19:05.85ID:uAx9enpM
人間もAIも間違えることはあるよ、それでもAIを頼った方がいいという考えは
既にAIに頼りきった人間の考えである
732デフォルトの名無しさん
垢版 |
2026/03/09(月) 13:19:34.78ID:jnSWjyWV
逆に何で通らないと思ったのかね
こういうVBAにすがる発達障害みたいなのは駆逐されるけどね
2026/03/09(月) 13:30:56.34ID:1MdDcAmO
誰かに質問したい時、人間だって間違える時があるのは当然としてし、忙しい、機嫌が悪い、深夜だと聞きづらい
AIだといつでも聞けるし、同じことを何度聞いても不機嫌になったりしない、これかなり重要

実は人って、正解よりやさしさを求めてることのが多いんだよね
だからAIとの会話ごっこが大流行してるんだよ
734デフォルトの名無しさん
垢版 |
2026/03/09(月) 17:40:49.50ID:BgVj71Wh
>>733
馬鹿の理屈か
2026/03/09(月) 18:10:07.93ID:Rs9NFl7a
そもそも誰もAI自体は否定してないんだよな
AI信者やAIに頼りきりな人達が問題なのであって
736デフォルトの名無しさん
垢版 |
2026/03/09(月) 18:21:26.93ID:tIyN8FC8
何がどう問題なのか全然わからんw
737デフォルトの名無しさん
垢版 |
2026/03/09(月) 18:53:58.24ID:NsgpOyE4
「AI を 頼り過ぎて」は文法的に見て、あ、この人AI を 頼り過ぎてるなと思っちゃうね。
738デフォルトの名無しさん
垢版 |
2026/03/09(月) 18:58:57.51ID:dPucmfgj
現在では頼るは他動詞的にも使われる
人に頼る(自動詞)
人を頼る(他動詞)
2026/03/10(火) 09:39:34.55ID:e5EmWKMm
>>733
>正解よりやさしさを求めてる
恋愛相談か
740デフォルトの名無しさん
垢版 |
2026/03/10(火) 10:11:43.38ID:jav0sxYS
AIは道具の1つとして利用するのが良いだろう
2026/03/10(火) 11:00:40.54ID:6Xl+UbrG
>>734 年中そんな事ばかり書き続けて、自責の念に駆られることは無いのか? 反省したり悔んだり?
若い頃のじぶんが今のあんたを見たとしたら「おれ、こんな大人に成ってしまったのか?」とか情けなく思うだろ?
何年か後には、黒歴史として深く刻み込まれてるだろ? そんな黒歴史抱えて生きてくのも辛かろうに
いいおとながしゃらみっともない
742デフォルトの名無しさん
垢版 |
2026/03/10(火) 20:06:33.05ID:BaWkDjDu
ここのニキ達はvba以外に何の言語使っていて、職業は何?
私は単なる事務員だからvbaしか使えない
743デフォルトの名無しさん
垢版 |
2026/03/10(火) 21:58:38.11ID:EZx4o85i
業務の自動化でしか使わないからvbaとpowershellくらい
インストールする権限がないから他に使えるものがない
744デフォルトの名無しさん
垢版 |
2026/03/10(火) 23:13:29.25ID:aKVh1b5V
powershellとVBAどっちか難しい?
745デフォルトの名無しさん
垢版 |
2026/03/11(水) 09:18:53.12ID:D86H0mVK
それぞれ主たる目的が違いすぎる
746デフォルトの名無しさん
垢版 |
2026/03/11(水) 10:06:26.30ID:6Jv20AZj
やらない言い訳を探しても何も進まない
747デフォルトの名無しさん
垢版 |
2026/03/11(水) 11:00:55.39ID:cHdg2JCf
>>744
どっちも簡単
VBAの方が面倒臭いからVBAは使わないし他人にも薦めない
2026/03/11(水) 12:57:57.28ID:A8fiFjxj
psでExcel操作するぐらいならJScriptつかうは
749デフォルトの名無しさん
垢版 |
2026/03/11(水) 14:10:58.84ID:TrNG3Ziv
ゲームボーイをPCでやろうと思うのだけど
Visual Boy Advanceはおすすめですか?
2026/03/11(水) 19:13:11.56ID:i7XcvW4a
>>749
Visual Boy Advance(VBA)だから面白いと思っての書き込みか?
それともリアルでボケたのか?
エミュレータの話題ならスレチなわけだが
751749
垢版 |
2026/03/11(水) 23:35:27.44ID:yrtGATKo
>>750
コラ知らないなら黙ってろ
2026/03/12(木) 10:15:14.22ID:P5Z8c0wc
WorksheetFunction.Sortby の基準配列にDate型の配列を渡した時、日付が文字列として処理されてしまう問題を解決したいです。
"2026/8/10" → "2026/1/15"
"2026/12/9" → "2026/12/9"
"2026/1/15" → "2026/8/10" となってしまいます。
基準配列をループで数値型に変換することで処理は可能ですが、もう少し計算数を抑えた方法はありますか?
753デフォルトの名無しさん
垢版 |
2026/03/12(木) 10:28:15.77ID:TljpFMIG
>>751
その1件しかレスがついてないよ
みんな知らないから黙っているということでいいのかな
754デフォルトの名無しさん
垢版 |
2026/03/12(木) 11:13:33.99ID:MTlm8CFB
意図から逸れるけどyyyymmddで二桁を強制したらあかんのか
2026/03/12(木) 11:45:52.26ID:NUPST3JL
VBAはDate型の扱いがヘタクソだからなぁ
DateValue関数を通すか、それこそフォーマットを揃えて文字列として扱うのがいいんじゃないかね
2026/03/12(木) 11:47:07.46ID:P5Z8c0wc
>>754
そもそも基準配列をString型で処理するということでしょうか?
この場合、DateAddやWeekdayが使用できる事が確認できましたが、Date1 - Date2 - 1 で間日数を計算できなくなってしまいました。
この計算の頻度はあまり高くないのでCDateで代用して、ソートを優先したいと思います。提案ありがとうございました。
ちなみに今回のテストコードは以下です。aryDateをDate型にするとソート結果の2,3が入れ替わってしまいます。

Sub test()
Dim aryDate, aryRes
ReDim aryDate(1 To 3) As String
aryDate(1) = "2026/08/10"
aryDate(2) = "2026/12/01"
aryDate(3) = "2026/01/15"

Debug.Print aryDate(1) < aryDate(2); aryDate(2) < aryDate(1)
Debug.Print DateAdd("d", 1, aryDate(1)); Weekday(aryDate(2))
Debug.Print CDate(aryDate(3)) - CDate(aryDate(1))

aryRes = WorksheetFunction.SortBy(aryDate, aryDate, 1)
Stop
End Sub
757デフォルトの名無しさん
垢版 |
2026/03/12(木) 12:25:26.43ID:pdYDw9uG
>>756
2026/8/10 とかを計算したんじゃね
2026/03/12(木) 14:48:32.79ID:P5Z8c0wc
>>757
そうですね。
Date型で宣言した配列の値をローカルウィンドウで確認すると"2026/08/10"と表示されているのに、
WorksheetFunctionに引数として渡した時なのか計算時なのか分かりませんが、どこかで文字列"2026/8/10"に変換されてしまう様です。
ワークシートに日付を入力したときにオートコレクトで変換される表示形式と関係があるのかなと思います。
SortByやFilterを使ったり大小比較するのに極めて不便なので解決策を講じたかったのですが、難しそうだったので諦めようと思います。
759デフォルトの名無しさん
垢版 |
2026/03/12(木) 19:27:53.37ID:6EwD2FOl
WorksheetFunction.SortBy
でDate型の配列が文字列として扱われるのは、VBAからExcel関数へ配列を渡す際の型変換の仕様によるものです。
ループを使わずに計算負荷を抑えて解決するには、Evaluate メソッドを使用して配列全体を一括でシリアル値(数値)に変換する手法が最も効率的です。
推奨される解決策:Evaluate による一括変換
VBAの Evaluate を使うと、配列内の各要素に対してExcelの演算(例えば「+0」や「*1」)を適用でき、ループなしで高速にシリアル値へ変換できます。
vba

Dim dateArray As Variant
Dim numericArray As Variant
Dim sortedArray As Variant

' 1. Date型の配列(または日付文字列の配列)を準備
dateArray = Array("2026/8/10", "2026/12/9", "2026/1/15")

' 2. Evaluateで一括して数値(シリアル値)に変換
' 変数内の配列を強制的に数値計算させることで、Excelに日付として再認識させます
numericArray = [(index(dateArray, 1, 0)) + 0]

' 3. SortByを実行(基準配列に数値化した配列を指定)
' ここでは例として自分自身を並び替えています
sortedArray = WorksheetFunction.SortBy(dateArray, numericArray, 1)

コードは注意してご使用ください。
この方法が優れている理由

計算の効率化: VBA側で For Each や For ループを回す必要がなく、Excelの内部エンジンで一括処理されるため、データ量が多いほど高速です。
型の強制確定: Excelの日付は内部的にシリアル値(数値)であるため、数値として渡せば辞書順(文字列順)ではなく、必ず時系列順でソートされます。
760デフォルトの名無しさん
垢版 |
2026/03/12(木) 19:28:04.54ID:6EwD2FOl
注意点

配列の形式: Evaluate を使った一括変換は、1次元配列の場合に Index 関数と組み合わせるなどの工夫が必要になることがあります。上記コードは標準的な1次元配列を想定した記述です。
地域設定: 日付形式がOSの地域設定(Jpnなど)と一致しているか確認してください。一致していない場合、Microsoft サポートが推奨するように DateValue 関数を適用する処理が必要になる場合があります。

ソート対象となる元のデータの構造(1次元配列か、セル範囲か)を教えていただければ、より最適なコード案を提示できます。
2026/03/12(木) 20:15:58.20ID:QwubW6SB
横着せず自分でクリックソートを実装しなさい!
2026/03/12(木) 22:52:35.64ID:1M6BM4d1
>>758
SortByの戻りで文字列になってるな。
日付形式って、VBAもEXCELも内部的にはDoubleなんだが、渡された時の解釈がちがうんだな。
VBAでもDoubleで扱えばちゃんと動く

Dim aryRes()
Dim aryDate(1 To 3) As Double
aryDate(1) = CDate("2026/08/10")
aryDate(2) = CDate("2026/12/01")
aryDate(3) = CDate("2026/01/15")

aryRes = WorksheetFunction.SortBy(aryDate, aryDate, 1)

For i = 1 To 3: Debug.Print CDate(aryRes(i)): Next

形式そろえた文字列にするかDoubleでやるかはまあケースバイケースか
2026/03/13(金) 08:34:16.70ID:FnrcqgsF
752です。皆さんの意見を参考に、以下の3パターンで行こうと思います。
・データ処理中に発生する日付データ → CDbl等で常にDouble型で配列に代入する(文字列型はワークシートに戻すの時不安定)
・ワークシートから取得される日付データ → Range.ValueではなくRange.Formulaで取り出すとシリアル値になる様なのでそれで対応
・それ以外 → ForループでGorilla的対応
ワークシートへ貼り付ける際の表示形式等は別途考えようと思います。ありがとうございます。
2026/03/13(金) 10:50:17.77ID:a5g2qNhk
>>763
根本的に間違ってる
日付けはすべてDate型で処理しろ
Doubleに変換するな

Sub test()
  Dim aryDate() As Variant
  Dim aryRes() As Variant

  ReDim aryDate(2)
  aryDate(0) = CDate("2026/08/10")
  aryDate(1) = CDate("2026/12/01")
  aryDate(2) = CDate("2026/01/15")

  Debug.Print aryDate(0) < aryDate(1); aryDate(1) < aryDate(0)
  Debug.Print DateAdd("d", 1, aryDate(0)); Weekday(aryDate(1))
  Debug.Print CDate(aryDate(2)) - CDate(aryDate(0))

  ReDim aryRes(2)
  aryRes = WorksheetFunction.Sort(aryDate, 1, 1, True)

  Stop
End Sub
2026/03/13(金) 10:59:02.16ID:a5g2qNhk
そもそもDate型になってないじゃん
aryDate(1) = "2026/08/10" ← これ文字列型だぞ
2026/03/13(金) 12:56:47.28ID:FnrcqgsF
>>764
ご提案はありがたいですが、そのコードだとaryRes(1)="2026/12/1"、aryRes(2)="2026/8/10"となってしまい、期待する並び替え結果になりません。
あと、SortByの基準配列として日付を渡したいです。
>>765
Dim rayDate() as Date で宣言しているので、記載の代入方法でaryDate内の値はDate型で保持されます。
#8/10/2026#で正確に日付型を入力できることは承知していますが、可読性の為にVBAの自動変換に頼っています。
2026/03/13(金) 13:18:13.41ID:FnrcqgsF
>>766
訂正:Dim aryDate() → Redim aryDate(1 to 3) as Date
連投すみません
2026/03/13(金) 14:21:00.62ID:MLolZf2i
>>766
「可読性の為にVBAの自動変換に頼っています。」
これが間違い

自動変換のルールはマニュアルに明記されているが、うろ覚えで頼るとトラブルの元
きちんと理解できてない初心者は余計なことを考えずに教科書通りにプログラムを書け
途中で変換なんかせず、すべてDate型にしておけばちゃんと日数計算もソートもできる
2026/03/13(金) 14:49:30.33ID:FnrcqgsF
>>768
誤解を招く文章だった様ですみません。
Date型の配列をWorksheetFunctionに渡した時に自動的に文字列型に変換して処理されてしまうという問題が自分の質問の主題です。
配列の宣言時にDate型を宣言しても、#8/10/2026#やCDate("2026/08/10")の様な形で値を代入しても、
WorksheetFunctionの引数として渡した時点で値が文字列型に変換されて、"2026/12/1"<"2026/8/10"となってしまいます。
>>764 で提案してもらったコードでも同様の結果となってしまいます。
2026/03/13(金) 15:13:05.82ID:d5Q7N3W7
ExcelにDate型なんてねーんだな
2026/03/13(金) 16:32:34.79ID:uJKTIgPk
VBAにDate型なんてものはないと思ってる
PC本体の設定によっても挙動が変わるから無駄に気を遣わないといけないし
そもそもyyyy/mm/ddじゃないと気持ち悪い勢だから普通に書式揃ってるし、文字列扱いで処理しとるわ
2026/03/13(金) 19:33:03.50ID:M9yyxGhV
モジモジすんな
773デフォルトの名無しさん
垢版 |
2026/03/13(金) 22:10:44.13ID:PFJaM0oD
と言うことで、問題を解消するための最小単位の処理を関数化して利用しようという、プログラミングの基本に立ち返るわけですね。可読性もよし。
774デフォルトの名無しさん
垢版 |
2026/03/13(金) 22:12:00.23ID:PFJaM0oD
プログラム初学者は unix 系の設計や思想を学ぶことから始めるのも not やぶさか
2026/03/13(金) 22:28:51.54ID:ILOyu7Qq
VBAには(すくなくとも今は)Date型はある
問題はEXCLEに日付型というものはなく、数値の書式で日付に見えてるか、文字列かってとこ
WorksheetFunctionはもともとEXCEL用の関数なので、VBAの日付型の取り扱いに問題があるって話
776デフォルトの名無しさん
垢版 |
2026/03/14(土) 07:32:38.62ID:teWZNibS
馬鹿とハサミは使いようって言うだろ
間違った使い方をすれば包丁1本でも人がタヒぬからな
2026/03/14(土) 08:13:24.72ID:h36YE+06
逆を言えば「Dateを文字列や数値で扱う」というのも一見ナンセンスだがしっかり理解した上でやる分にはまさに馬鹿と鋏はなんとやら
この場合の馬鹿はVBAのDate型やな

てかこの話題を見てて思ったけど自家製Dateクラスでも作ってみようかな
2026/03/14(土) 08:52:11.37ID:HgiOQeyV
Dateの代わりにDoubleを使うのはそんなに困らない
デメリットは「d = "2026/3/14"」を「d = CDate("2026/3/14")」にしないといけないとこぐらい
表示するときはどっちみちFormat使うことになるし
2026/03/14(土) 09:13:23.35ID:GLsLoJAH
Excelのバグっぽいの見付けた、と得意気にしてたけど
結局は単なる仕様だった てだけ?
2026/03/14(土) 09:28:59.58ID:h36YE+06
違うよ?
781デフォルトの名無しさん
垢版 |
2026/03/14(土) 09:45:59.22ID:SpGrKcpv
VBAで日付データを扱うときの型をどうするかについて安定的なプラクティスがあるのであれば知りたいという話なのでは。
VBAには一応Date型があるということであれば、VBAとしては日付データについてはDate型を使って欲しいというのが本来の想定だろうけど、ワークシート関数の仕様がそれに対応してないって話よね。
2026/03/14(土) 10:19:41.53ID:HyqqckmF
そもそもワークシートに入ってるデータは全部Vari ant型だから、ワークシート関数も基本的にはVa riant前提になってる
VBA初心者が最初につまづくのが型の中途半端な厳密さだと思う

守らなくてもなんとなく動いちゃうけど、思い通りに動いてくれなかった時に原因がわかりにくい
だから型はちゃんとした方がいいんよ
783デフォルトの名無しさん
垢版 |
2026/03/14(土) 12:30:08.67ID:giADiduO
たぶん、ワークシート上の値をVBAの変数で受け取るときには、VBAの型システムに基づく型付けされた変数で受け取り、VBAで何らかの処理をした後、その処理した値をワークシートに出力する際に、Excelの型システムに適合させるーーというのが1つのモデルなんだろうね。型システムが異なるExcelとVBAの間で値のやりとりをするときは、その境界で変換・適合処理を行うという。
ワークシート関数もそういう異なる型システム間の境界だから、引数・戻り値について本来は変換・適合が必要になる。が、それが煩雑で堪えられないとすれば、ワークシート関数を使うVBAコードについては、はじめからExcel側で認識できる型だけを使うことにすればいいんじゃないかという考え方もありうるということなんだと思う。
2026/03/14(土) 14:53:12.65ID:GLsLoJAH
>>759 のAIの回答の通り
>Excelの日付は内部的にシリアル値(数値)であるため をキチンと踏まえとけば悩まなくともいいような
2026/03/14(土) 18:35:00.86ID:vzmrQ1eb
全てのデータは内部的に 0か1 の集まりということを踏まえておけば悩まないよ、しらんけど
786デフォルトの名無しさん
垢版 |
2026/03/14(土) 19:46:58.94ID:SpGrKcpv
ソートとか日単位の日数計算だけでいい場合なら、シリアル値が簡単というのはその通りだと思う。来月の末日とかそういうのが必要になってくると、そういう操作用のメソッドが備わったデータ型が欲しくなるけど。

>>752の問題については、①日付データをDate型で扱い、VBA関数でソートする、②日付データをDate型で扱うが、ソート用のワークシート関数に渡す前にシリアル値またはYYYYMMDD形式の文字列に変換する。戻り値を使う場合はDate型に再変換する、③日付データをシリアル値として扱い、ワークシート関数でソートする、④日付データをYYYYMMDD形式の文字列として扱い、ワークシート関数でソートするーーのいずれかになるのかなぁ。ワークシート関数がDate型を直接受け取らない以上、両方を使いたいなら変換の手間が必要になるのは仕方ないのでは。
787デフォルトの名無しさん
垢版 |
2026/03/14(土) 22:32:52.06ID:JoxqU8A7
For i = 1 To 7
If Left(Cells(i, 1), 1) = "A" Tnen
これだとA1セルの1文字目がAであるなら、だと思うけど、

If Left(UCase(Cells(i, 1)), 1) = "A" Tnen
これだと、どう言う意味になるの?

A1セルの1文字目を大文字に変更したものがAであるならばだと意味おかしいよね?
2026/03/14(土) 22:45:12.43ID:9gA+Be7t
>>787
「1文字目がaまたはAであるなら」
2026/03/14(土) 23:09:09.28ID:h36YE+06
>>787
なぜそんな比較が必要なのか?
一番分かりやすいのは拡張子とかね
例えば.xlsxと.Xlsxと.XLSXが混在してるフォルダでファイルをいじるとき、全てを大文字に変更すれば同一視することができる

日本語で例えるなら「田中さん」「タナカさん」「Tanakaさん」が同じ人を示しているのかが分からないから一旦平仮名に直してから比較するようなこと
790デフォルトの名無しさん
垢版 |
2026/03/14(土) 23:29:17.40ID:oK6OIGzz
関係ないけどforの最後には必ずstepを書くわ
2026/03/14(土) 23:48:37.81ID:vzmrQ1eb
Tnen を指摘しない優しいスレ
2026/03/15(日) 03:24:24.28ID:kI2UXln+
どういう場合にhとnをタイポするのかは気になる
手書き入力?
793デフォルトの名無しさん
垢版 |
2026/03/15(日) 07:16:23.59ID:BZuyoe/j
キーの位置が近いからミスタッチは普通にあるだろう。でも、791を見ても792を見るまで気づかなかったなぁ。
2026/03/15(日) 07:46:57.20ID:bCUkFD5p
分かるしね…
795デフォルトの名無しさん
垢版 |
2026/03/15(日) 13:10:31.15ID:qaLJXPfy
firefoxが突然バグって日本語キーボードを英語キーボードと勘違いしてるんだが(他に開いてる別アプリのウィンドウは正常)なんでやねん。どうやったら戻るん。
2026/03/15(日) 13:15:09.09ID:KO/YWry2
スレチだしマルチすんな
797デフォルトの名無しさん
垢版 |
2026/03/15(日) 13:22:08.58ID:qaLJXPfy
治ったわ
798デフォルトの名無しさん
垢版 |
2026/03/15(日) 13:26:53.22ID:qaLJXPfy
設定->
時刻と言語->
入力-キーボードの詳細設定->
入力方式の切り替え->
「アプリウィンドウごとに異なる入力方式を設定する」->
ONになってたものを一度OFFにしてまたONで終了
799デフォルトの名無しさん
垢版 |
2026/03/15(日) 13:27:50.57ID:qaLJXPfy
スレ汚しスマソ
設定->
時刻と言語->
入力->
キーボードの詳細設定->
入力方式の切り替え->
「アプリウィンドウごとに異なる入力方式を設定する」->
ONになってたものを一度OFFにしてまたONで終了
800デフォルトの名無しさん
垢版 |
2026/03/15(日) 13:28:08.07ID:qaLJXPfy
uso800
801デフォルトの名無しさん
垢版 |
2026/03/15(日) 23:10:08.79ID:ndDcTSsO
セルから値を読み込んで利用しようと思います
この時、セルから値を取得するのに、
シートの名前の定義を利用するのがいいのか、
constでセルアドレスを書いて利用するのがいいのか、
Property Getでセルごとに書いて値を読み込むのがいいのか
どれが一番いいでしょうか?
2026/03/15(日) 23:32:04.98ID:QoPr7/hS
VBAパラメーター用シートを作ってそこに数式でセルの値を持って来ておくというやり方もあるよ
レイアウト変更があってもパラメーターシートで吸収できるし、事前のデータ整形もできる
803デフォルトの名無しさん
垢版 |
2026/03/16(月) 12:22:52.94ID:rahmlZ/q
値を名前定義に置くのは狂気じゃね
テーブル名の利用ぐらいか
804デフォルトの名無しさん
垢版 |
2026/03/16(月) 12:32:54.00ID:egz59838
>>802
パラメーターシートから持ってくるスマートなVBAコードは?
2026/03/16(月) 13:09:18.73ID:jzqe13Iv
スマートかは置いておいて俺のやり方

パラメータシートをつくったらコードネームを適当な短い英字の名前に変える(パラメータのPとか)
そのモジュールに
Public Property Get a名前() As String: a名前 = Range("A1").Value: End Property
のように参照するセルを指定する
プロパティ名はaで始めておくと幸せになれる
: を使った一行書きにしてさらにスペースなどでセルアドレスの部分が1列に並ぶよう体裁調整しておくと変更すべき箇所が一目瞭然なのでそうしてる

呼び出す時はP.でインテリセンスが働くし、a~にしておけば上の方に並ぶので探す手間も減る
2026/03/16(月) 13:15:30.23ID:jzqe13Iv
で す が

パラメータシートを使うとシート一覧に紛れて邪魔だし、シートオブジェクトである以上は余計なインテリセンス候補が並ぶことには変わりない
結局シートからの参照は記述しなければいけないわけだから、俺はそうするくらいなら「標準モジュールを1枚増やしてそこに参照だけを集めて、シートの体裁が変わったときはそのモジュールも変更するように徹底する」という形を取るかな
短いモジュール名、セルアドレスを1列に並べるというのは同じ
2026/03/16(月) 14:40:40.18ID:AVSXAK87
パラメータシートのセルに名前付けて
Range("設定シート!開始行")
みたいな漢字
2026/03/16(月) 18:42:01.35ID:ViJeo84W
A列=変数名 B列=値 にしてDictionaryに全部ぶっこむ
809デフォルトの名無しさん
垢版 |
2026/03/16(月) 19:05:53.46ID:bl6sRzo6
veryHiddenで隠しとけば?
810デフォルトの名無しさん
垢版 |
2026/03/17(火) 04:09:10.77ID:0A+v4S8n
自分もパラメーター用シートは邪魔だから極力作らない
基本はシート上のセルの値を直接読む形にするけど、セルアドレスはタイトルや項目名から動的に取得するようにして、シートを誰かがいじっても問題ないようにしている
表形式にまとめておけば、後から見てもわかりやすいし変更もしやすい
811デフォルトの名無しさん
垢版 |
2026/03/17(火) 16:45:37.49ID:Yykm/3AO
無駄にユーザーフォームでも作ったらええ
812デフォルトの名無しさん
垢版 |
2026/03/17(火) 22:02:50.82ID:3iUct5HM
勝手にいじったら問題だろ
2026/03/18(水) 11:37:54.90ID:DAQPaBCc
でもいじるのを阻止するのは不可能だから
814デフォルトの名無しさん
垢版 |
2026/03/18(水) 12:19:33.30ID:WaMmGwzD
俺んとこは変更後は修正連絡表(変更内容をわかるように)かいて関係者に通達って決まりがあるよ
815デフォルトの名無しさん
垢版 |
2026/03/18(水) 12:50:15.42ID:Lu6NqoX3
excel用のdiffツールってどんなのがあったっけ
816デフォルトの名無しさん
垢版 |
2026/03/18(水) 13:06:50.87ID:cAhzJBL5
Excelでデータ修正しないってむしろ有り得無くないか
2026/03/18(水) 14:06:08.35ID:m8eYMvFN
>>814
「何もしてないのに壊れた」
2026/03/18(水) 14:41:01.42ID:csiB55/U
>>816
データをいじるって話じゃなくて表の体裁とか関数とかそういうのをいじってマクロを壊すことの話やぞ
819デフォルトの名無しさん
垢版 |
2026/03/18(水) 19:50:08.27ID:mx/RFF2S
話の前提が各々で違ってそうで流れが見えない
お前ら何を語ってるんだ
820デフォルトの名無しさん
垢版 |
2026/03/19(木) 18:26:26.45ID:vYtO9TSF
誰も触ってないファイルのデータが勝手に書き変わる現象について
2026/03/19(木) 19:39:08.35ID:ClH7Wl93
「誰も触ってないのに書き変わったんですよ」って言われて素直に信じる方がバカ
誰かが嘘をついてるか調査がザルか記録の残らない方法があるか機器の故障か
822デフォルトの名無しさん
垢版 |
2026/03/19(木) 19:56:35.97ID:UxhYK4Ls
馬鹿に限って俺は何もしていないと言い張るからな
823デフォルトの名無しさん
垢版 |
2026/03/19(木) 21:07:18.55ID:VJmZQ91S
(オレガ分かることは)何もしていない
824デフォルトの名無しさん
垢版 |
2026/03/19(木) 22:54:26.71ID:Mm9p/KKf
まっ!?
2026/03/20(金) 10:16:00.91ID:15Irets6
Bのファイルを開くとAのファイルのデータが書き換えられる仕組み
826デフォルトの名無しさん
垢版 |
2026/03/20(金) 12:29:26.36ID:YaK9PcVz
ネットワーク上の誰かがリモートでいじったんじゃね
それかurlやショートカットが変わってるとか
2026/03/20(金) 13:01:38.35ID:15Irets6
Aのファイル編集後に上書き保存して、その直後のスクショを撮っておかないと
責任を押し付けられる世界線
いや、ダメだなw 「スクショ後になんかしたろ?」って問い詰められたら逃げ場が無いw
タイムスタンプ見せて「これが証拠だ!」も逃げ道には成り得ないな どうする?
フロッピーに保存してPC本体やサーバーから退避させとくっきゃ無いな
828デフォルトの名無しさん
垢版 |
2026/03/20(金) 18:36:12.18ID:d4WlWsLX
年度末だから予算の使い込みかくしたい管理職が犯人じゃね
管理者権限使えば簡単だし
829デフォルトの名無しさん
垢版 |
2026/03/20(金) 21:07:02.89ID:rhOri6y1
Cells(Rows.Count, 1)
これがA列の最終行と言うのはわかるのだけど

Cells(Rows.Count, - 1)
こうなるとどこのこと言ってるの?
830デフォルトの名無しさん
垢版 |
2026/03/20(金) 21:30:03.90ID:rhOri6y1
間違った
すまん、なんでもない
831デフォルトの名無しさん
垢版 |
2026/03/21(土) 20:53:21.61ID:MtepJvC0
VBEのウインドウ内でVBAを学ぶ方法ある?
例えば、関数の引数の説明が表示されたり
簡単なサンプルのコードが書いてあったりとかの機能あるのかな

職場のセキュリティの問題で本とかスマホは持ち込めないしネットもつながっていない状態
エクセルVBEウインドウは開けるので何かしらやりたい

入力候補で単語のつづりがわかる程度しかないかな
2026/03/21(土) 22:04:57.75ID:XzY90MHI
>>831
マクロの記録を使う
手動で何かExcelの操作をしてみて、それがVBAではどうなるのか、ひたすら色々試してみる
833デフォルトの名無しさん
垢版 |
2026/03/21(土) 22:07:55.25ID:6mkUoqr6
表示>オブジェクトブラウザーで一覧は出る
説明やサンプルコードはない
2026/03/21(土) 22:43:52.64ID:4QmMewna
>>831
そんな環境で上司は何をやらせたいんだ?
独学で適当にやってても時間の無駄にしかならんよ
2026/03/21(土) 22:50:57.38ID:4QmMewna
あれか、窓際族ってやつ
2026/03/22(日) 08:55:05.34ID:3gL1Nbch
職場は仕事で成果を出す場 おべんきょうならセルフで自宅とか通勤途中とかに
なんで勤務時間(報酬・賃金対象)使って個人の自主学習に宛てていいと思えるのか
能力無いなら「その能力持ち合わせていません」と上司上長にキチンとお伝えして
何らかの対策してもらうか、業務から外してもらうか

経理業務に就いてるのに経理の事まったくわかりません、が通用するのか
ま、個人経営とかなら有り得るかも知らんが、そこまでセキュアに厳しい業務形態でそれは無いでしょ
837デフォルトの名無しさん
垢版 |
2026/03/22(日) 09:55:55.84ID:EAppD4V2
申し訳ない
IT系の職場じゃないのよ
PC前で待機して通知がきたら即個人情報を入力プリントアウトする職場
待機時間が多いからその間に学習しようと思ったわけ
まあありがと
838デフォルトの名無しさん
垢版 |
2026/03/22(日) 10:12:00.55ID:R/3FX3k0
それは全く正論なんだが、自宅で自主勉強するならVBAよりはるかに有意義なものがいくらでもあるからなぁ……。プログラミング言語を習得すること自体の価値が微妙になってきている時代だし、仮に1つのプログラミング言語をきちんと学ぶことに意味があるとしても、VBAは選ばれる対象ではないだろう。そういう前提のもとで、業務上Excelの使用が強制されている状況なら、その中でVBAについてちょっと調べてみたいくらいのことはある程度多めに見てもいいと思うけど。というか、VBAを学ぶということが合理的な選択肢になるシチュエーションが今やあまりないのよね。あとは、既存のコードベースがVBAで、その運用担当という貧乏くじを引かされた場合とか。
2026/03/22(日) 10:32:51.25ID:v6bFc5hu
自宅学習の話じゃなくて、拘束された状況でできることを聞いてるのに……
2026/03/22(日) 10:45:42.77ID:3gL1Nbch
それはw 合理化・効率化を求められてない業務ではないのか?
「あなたの仕事は、こういうのが届いたらこうしてああしてこれをアウトプットしてくれ」だけなら
更なる効率化を模索するのはじぶんが楽しようというだけに過ぎないような
「効率化してみ?」と成ってはじめて学習しても間に合う つか、作業量が増えてきたら上の方が
検討しなきゃ成らない案件 むしろ勝手に効率化図るとどこかに支障が発生するかも知らん
当面は、おりこうさんでPC前でおちゃんこして来た仕事賄ってればいい
2026/03/22(日) 11:10:06.42ID:cM/XfdAY
いや、拘束された状況でやれることがないから少しでも有意義になるようにってことでしょ
より効率化したいとかそういう話じゃなくてさ
2026/03/22(日) 11:13:16.20ID:wwQXuJ+c
単純にそれくらいしかできることがないって話じゃないん?
更なる効率化とか楽しようとかそんな話してなくない?
843デフォルトの名無しさん
垢版 |
2026/03/22(日) 11:29:35.05ID:4kBD+P+7
職場のPCに指示されていないマクロを勝手に組み込もうってのは
やってはいけない行為だな
知識があって責任とれるならまだいいが
初心者がいじって壊したらどうすんのさ
844デフォルトの名無しさん
垢版 |
2026/03/22(日) 11:39:02.93ID:f46LpgPF
自作のVBAコードを会社の業務に使ってよいかというのは会社の方針によることだし、セキュリティに厳しい会社なら許可しない方針のことが多いと思うけど、>>831としては直ちに業務プロセスに組み込もうということまでは考えておらず、単に学んでみようというくらいのつもりだったんじゃないかと思うが。
845デフォルトの名無しさん
垢版 |
2026/03/22(日) 11:45:17.78ID:EAppD4V2
待機することが仕事で1日のうち6時間くらいはPC前に座ってるだけ
PC使って時間つぶしは自由のだけど
入力練習とかペイントで絵を書くとかも飽きたし
業務でVBAを使うことはないのだけど
VBAでも勉強してみようかなって思ったのだよね
でも確かにPC内の何かを壊したらまずいね
2026/03/22(日) 12:00:05.68ID:fpz9aklH
あんまり勉強にはならんと思うけど、Excelでお絵かきしてみたら?
マクロの記録しながら列幅や行高をいじったりセルの色を変えたりしてさ
2026/03/22(日) 12:12:49.89ID:RqkvSZXJ
それええやん
俺もやったことあるけどセルでお絵かきすんの意外と楽しいぞ
ドット幅可変のドット絵みたいな
848デフォルトの名無しさん
垢版 |
2026/03/22(日) 12:32:57.84ID:EAppD4V2
エクセルで絵を書くのは思い浮かばなかった
それと上のほうでも書いてくれたマクロ記録、オブジェクトブラウザもやってみる
親切なスレだな
2026/03/22(日) 13:14:11.41ID:3gL1Nbch
中小企業の事務職か? え?個人情報? ネットも繋がって無いようだし、官公庁の出先機関とかか?
とか妄想しながら応じてたけど、様々な職種や業務業態を見て来た経験からも推し量れない業務だな
六時間も拘束(こう書いてる人居たけど、それは言い過ぎだろ せいぜい制限だろ と思ったけど、実際に拘束状態w)
されて、そのうち作業時間どのくらいなんだ? タイプの練習とかお絵かきには制限が無いとも成ると全く思い付かない

本業に力を入れてソッチの知識や実務を向上しようとかには成らないやら、やれないやら、単に電話番兼
入出力担当任させられてる家族やら←九時出社午後三or四時退勤の主婦なら有り得る
マクロはVBAの簡単な奴だから、やっぱりソッチを覚えたいと思うなら、ちゃんと社長に「お勉強したい」と伝えるべき
にしても、いったいどんんあ職種・業務なんだか、さっぱりわやや
2026/03/22(日) 13:43:11.70ID:RqkvSZXJ
いや的外れを指摘されたからってムキになんなよw
2026/03/22(日) 17:06:41.79ID:FAxWGU7N
このスレが上に来ていて意外なんだが、仕事でExcel VBAを使う機会って、もう殆ど無いんじゃね?
ドキュメントはクラウドで管理する時代だし、解析はPythonだし、ローカルドライブのExcel帳票を使っている現場なんてまだあるのか?!
2026/03/22(日) 17:11:32.33ID:FAxWGU7N
ゆうて俺も、人生のかなりの時間をVBA道につぎ込んだ口なんだが
個人的に使うツール開発ならまだありかもしれないが、大規模データへの対応がどうしても弱い
また、何よりもコード資源の再利用に手間がかかるのが一番の問題。VB.NETでDLL化も試したが使いにくいったらありゃしない
853デフォルトの名無しさん
垢版 |
2026/03/22(日) 17:26:05.49ID:f46LpgPF
新規で使う機会はかなり減っただろうけど、既存のVBAを運用し続けるという状況はかなりあるのでは。世間的にはドキュメントはクラウド管理が大勢なん? 正直、そこはスタンスが分かれるところではないかと思うけど。
2026/03/22(日) 17:45:18.70ID:Jw+gPesE
スプレッドシート自体、仕事で使うのはGoogleやアジュールをブラウザで開いて使うやつに移行してるじゃん
IT系だけなのか?!若い奴らはマークダウンばっかで、MS-Officeのローカルドライブに保存するファイル遣ってるのを見たことが無い
855デフォルトの名無しさん
垢版 |
2026/03/22(日) 18:17:34.59ID:A5deLwGz
Web系コーダーレベルの人の話し
856デフォルトの名無しさん
垢版 |
2026/03/22(日) 18:21:02.47ID:DX5A/pmc
仕事でも見積書なんかはまだExcelが多いのでは?
BOXに入れてWeb版ExcelでみるからVBAは使わないけどね
VBAを使うのはcsv取込とかxml出力とか
スピルやLETが追加されてから計算でVBAが必要な場面はまずない
857デフォルトの名無しさん
垢版 |
2026/03/22(日) 18:31:18.75ID:m0awDcFx
>>854
極狭い世界、多分派遣、の目で見たことで全体を語る
2026/03/22(日) 18:43:20.65ID:J+9v3usG
>>831
異常にセキュリティが厳しい職場だから
エクセルVBEウインドウを開いてプログラミングしていいか怪しい
規定外で勝手にすることは全部上司に許可を取るべき
(待機することが仕事で1日のうち6時間くらいはPC前に座ってるだけだからスキルアップのために待機中に何かしたいと上司に相談すべき)
2026/03/22(日) 19:05:55.34ID:Jw+gPesE
>>856
見積書なんて中小でもブラウザで利用可能なツールで一元管理されてるのが普通じゃね?

>>857
まじかよw
レガシーで使いにくいツールに固執して、なんか時代に取り残されてるんじゃないの、テム・レイさん?w
860デフォルトの名無しさん
垢版 |
2026/03/22(日) 19:14:38.35ID:m0awDcFx
そんなに派遣が図星で悔しかったのかよ
861デフォルトの名無しさん
垢版 |
2026/03/22(日) 19:28:09.70ID:zoOswb21
WindowsにMS OfficeがインストールされてるだけのPC使わされてるよ今でも…
しかもそれすら使いこなせてる人はいなくて
高卒おじはExcel開いてデータ入ってるシートを印刷して電卓で計算してるわ…
2026/03/22(日) 19:35:50.00ID:lz/Qfpt5
平和な会社ですね
863851
垢版 |
2026/03/22(日) 19:45:11.29ID:Jw+gPesE
>>860
思い込みと現実逃避に必死っていうw淘汰され過ぎてココしか居場所がなくなったかwww

って、俺のIDがコロコロは面目ないが、喧嘩しに来たわけじゃなく、過去にVBA道に費やしてきた時間のむなしさを共有したかっただけなんだがな
2026/03/22(日) 19:51:31.99ID:Jw+gPesE
てか、IT系エンジニアの派遣ってまだ需要あるのか
外部に任せるケースとなると大体、スキル持ちを狙った業務委託になるんじゃね?
865デフォルトの名無しさん
垢版 |
2026/03/22(日) 19:55:04.62ID:qW9+AeYs
元派遣の無職か
866デフォルトの名無しさん
垢版 |
2026/03/22(日) 21:54:47.17ID:oXQzpru3
どうでもいいけどなんでそんな必死なん
867デフォルトの名無しさん
垢版 |
2026/03/23(月) 08:36:39.79ID:S7Q9MZCH
みんな必死に生きてんだよ!
2026/03/23(月) 08:47:46.88ID:EDAN4ekD
この国の中小(零細)企業のすそ野の広さを知らん発言
件数で言えば圧倒的に100人以下どころか30人以下で一所懸命に稼働している会社数のが圧倒的に多い
100人以上の企業数の百倍以上存在してる そういった会社にとってはまだまだ頼れる存在
そのうちVBAまで必要に成る割合まではちょっとわからんが、仕事量が増えれば頼りたくなる面はまだまだある
869デフォルトの名無しさん
垢版 |
2026/03/23(月) 09:38:18.61ID:47mtQrp4
既存のVBAコードを当面運用し続けるのは仕方ないとして、新規にVBAコードを増やすのは避けたいところだと思うんだが、どうなんだろうね。
2026/03/23(月) 09:44:41.25ID:0oKU2QJS
大企業から零細企業でも、初心者でもベテランでも幅広く使うことができる
それぞれの環境を説明したのなら理解できるだろうが、何の説明もなければ想像で判断するしかない
担当業務で困っているのか、趣味の暇つぶしなのか説明しないで理解しろというのは無理じゃね
2026/03/23(月) 11:39:07.09ID:bPz3rulc
>>869
これからのコードは増える一方だろう
VBAコードを増やさないというのなら代わりを用意して何のコードを増やすか方針を示すべき
必要だからコードを増やしているのだろう
872デフォルトの名無しさん
垢版 |
2026/03/23(月) 11:56:41.07ID:YMfFwdfO
個人的にはPythonとかTypeScriptとかの方がいいな。プログラミング言語としてのVBAの価値というのはExcelにビルトインされているという点にしかなくて、しかし、その点が決定的に重要(他に選択肢がない)という状況が少なからずあるというのも承知しているけどね。
873デフォルトの名無しさん
垢版 |
2026/03/23(月) 12:50:16.97ID:uVMZhQCS
あと数年でcodexのようなものに置き換えられていくのかな
全てはプロンプトで作成
2026/03/23(月) 13:55:33.41ID:0oKU2QJS
一部の企業では最先端の技術を取り入れて他を寄せ付けないような企業がある一方で
新しい技術を採用する予算や人員を確保できずに従来の延長をつづけるほうが大半だろう
その一方で自分の環境がどちらに属するかも部署や担当、個人の環境で異なるだろう
それらを踏まえて、全て変わる/変わらないと一方に決めつけるのは正しくないと思う
875デフォルトの名無しさん
垢版 |
2026/03/23(月) 21:40:47.77ID:X7Pneyau
テストレポート含めて今回組んだシステムは人生で一番の力作ではあるけど全国5拠点で共用はどうなんだと
VBAのやることじゃねーだろ
2026/03/24(火) 12:34:19.68ID:QAHniATF
おつかれ それでも全国5地点で採用するに足る制作物だと認められたんだし
胸を張っていい 決めたのは上の方なんだろうし
それを賄うのはVBAぢゃねえ、と思ってるなら、次のステップに向けて更なる実力向上に励めば
五年後には役員入りできる(かも知れないし違うかもしれない)
877デフォルトの名無しさん
垢版 |
2026/03/24(火) 14:13:18.25ID:bgoqrhCB
VBAのことがわかると役員になれる?
幼稚な頭だな
2026/03/24(火) 17:07:18.56ID:QAHniATF
なんで? 業務で成果を上げ続けてればそれなり持て囃されるだろ?
大量解雇を強行したおかげで赤字解消しておやぶんに成ったケースだってあるだろ?
それでいつまでその席に座り続けられるかは別物として
因みに、VBAのことが判る= とは書いて無いからな
どこをどう誤読誤認してるか知らんが 幼稚なのは

話は変わるが、Spreadsheet Compare アプリは活用されてらっしゃいますか?
https://atmarkit.itmedia.co.jp/ait/articles/2109/02/news015.html
ふたつのブックを比較して差分をハイライトしてくれるらしいんですけど
最新のVerでもExcelに同梱されてるんでしょうか? もっと早く教えて欲しかった
879デフォルトの名無しさん
垢版 |
2026/03/24(火) 18:48:57.07ID:sRZUntBa
あんまり話題にならんけどWindowsでデフォルトで入ってる言語ならPowerShellも悪くない、.NETも使えるから初期状態で標準ライブラリだけのPythonと同じくらいのことはできる
880デフォルトの名無しさん
垢版 |
2026/03/24(火) 19:34:07.07ID:VLbRf8+F
PowerShellはちょっと興味あったんだけど、バージョンが分裂しているというのと、MS社の中で主流から外れてしまったのではないかという評価を見かけてやる気がなくなったんだが、実はそうでもないん?
2026/03/24(火) 19:36:54.87ID:G/dWoIuU
そうでもあるよ
正しい現状評価
882デフォルトの名無しさん
垢版 |
2026/03/24(火) 20:31:23.16ID:8UgpxCQB
将来が不安な状況であろうと標準ツールなので選択してしまうという点でpoweshellとVBAは似てる
883デフォルトの名無しさん
垢版 |
2026/03/24(火) 21:07:21.48ID:sRZUntBa
>>880
PowerShellはWindows専用言語としての側面が強い5.1と普通のクロスプラットフォームなオープンソース言語としての7.1に分化した、両者は同じ環境に共存可能
基本的に高い互換性があるが標準で入ってるのは5.1だしもちろんOS内部で大量に使われてるスクリプトは5.1だから5.1を使っておけば間違いない
884デフォルトの名無しさん
垢版 |
2026/03/24(火) 21:26:01.22ID:5cUBzpR4
5系の方は、今後アップデートされないんでしょ。まぁ必要な機能はすでに揃っているということなんだろうけど。
WindowsでツールをインストールするときにPowerShellでこういうコマンド(?)を入れて下さいって指示されることはたまにあるよね。uvをインストールしたときにたしかそんなだった気が。
885デフォルトの名無しさん
垢版 |
2026/03/25(水) 14:22:05.11ID:8oEj9uno
Windowsデフォルトで使える言語ってことならこっちも
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe
886デフォルトの名無しさん
垢版 |
2026/03/25(水) 15:56:25.62ID:WEjpS5pt
>>885
powershellで複雑な処理書くならもうC#でいいだろって事になるかもね
でも管理タスク用ツールはコンパイルされたexeよりもスクリプトの方が現場の抵抗が少ないかも
887デフォルトの名無しさん
垢版 |
2026/03/25(水) 21:41:10.04ID:MOVEHA62
自作exeは会社によっては情シス飛んでくる案件だからなぁ…
PowerShellはスクリプトだからセーフ
PowerShellにC#のコードを埋め込んで実行した場合はどういう判定になるのかわからんけど
888デフォルトの名無しさん
垢版 |
2026/03/26(木) 00:11:57.25ID:sr45Qtwc
>>880
VBScriptが廃止予告されてるけど未だにWindows OS自身が内部で大量のVBScriptを使っている
MSがそれを段階的にPowerShellに置き換えていってるからWindows操作用の言語としては現役なんじゃないかね
889デフォルトの名無しさん
垢版 |
2026/03/26(木) 00:17:22.60ID:vPsiPMAl
Typeの名前とDimのTypeの名前はどう使い分けていますか?
クラスの場合も教えてください
890デフォルトの名無しさん
垢版 |
2026/03/26(木) 01:04:17.96ID:IgRwZPG+
コーディングルール、とか、命名規則、とかでググって慣習を知るのが早いよ
2026/03/28(土) 15:49:51.92ID:LFITp8ke
2026/3/25 10:46 9回答 至急です!
中学校の先生をしている私の友人と食事に行った時に、友人が「業務が多くて大変…何か便利なパソコンのソフトというか、
痒いところに手が届くようなシステムを誰か作ってくれないかなぁ…」とボソッと呟いていました。
私はどんなシステムだといいの?と聞いたのですが、具体的には今思いつかないとのことでした。
私はExcelなどでシステム(?)を作ったりするのが好きなので、その友人の力になればと思いました。
そこで質問なのですが、先生方の日々の業務の中で、「こんなシステム、アプリがあればいい!」
「こんなシステムがあって便利だった!」というのがあれば教えていただきたいです。
※個人で作れる範囲でお願いします…
あくまで先生方の業務を助けるものなので、授業 を勝手にやってくれるアプリなどは違います。
892デフォルトの名無しさん
垢版 |
2026/03/28(土) 15:52:13.83ID:8wZ7XIxY
要件も定義できない馬鹿は手を出すなよ
2026/03/28(土) 16:07:11.34ID:iV30HrUO
点数管理とか?
取り敢えず「どんなシステムが欲しい?」じゃなくて「なんかExcel使ってる業務ある?」って訊け
VBAはあくまでもExcelで出来ることの拡張でしかないんだから

ただ、そういう企業(学校なども含む)のシステムを頼まれてもいない部外者が、しかも素人が作るのは感心しないな
仮になんらかの問題があって深刻な情報漏洩に繋がったりしたらお主は責任取れるのか?
894デフォルトの名無しさん
垢版 |
2026/03/28(土) 17:18:13.42ID:1wJBRTOC
どこからの転載だよ
2026/03/28(土) 18:52:29.03ID:KS4f2PWp
>>891
そういうのって同じ学校の教員間で相談するものではないだろうか
市販で役に立つものを見つけて正しく申請して買ってもらうのが常識かと思う
それを超える機能を個人で作れる自信があるなら好きに作ればいい
896デフォルトの名無しさん
垢版 |
2026/03/28(土) 19:13:46.93ID:bx2kCimX
嫁さんが似たようなこと言ってるから、作ってあげようかと。
897デフォルトの名無しさん
垢版 |
2026/03/28(土) 19:54:33.33ID:jrkbFxmT
点数管理とか提出物管理とかはさほど苦労せずに作れるだろうけど、そういう生徒名が入るやつは情報漏洩事故が起こったときにトラブルに巻き込まれそうよね。逆に妙に評判が良くて機能追加できないのとか聞かれることになっても面倒だし。
親切心はいいことだと思うけど、首を突っ込まない方がいいんじゃないかなぁ。
2026/03/28(土) 21:39:38.03ID:iV30HrUO
まあそこら辺の分別を持って「責任の取れないことや情報漏洩になりかねないことはしない」というルールを守る(気持ち的にはもちろん技術的にも)ことができるのならいいと思う
友人思いなのは間違いないだろうしね
899デフォルトの名無しさん
垢版 |
2026/03/29(日) 01:20:26.88ID:j5EwGukg
生徒がタブレット使わされてるのに教師が紙に手書きしてんの?嘘でしょ
行政レベルでシステム使ってるでしょさすがに
要件が見えない
2026/03/29(日) 09:14:31.59ID:WM1+84P1
現場猫
2026/03/30(月) 16:17:07.49ID:3uBzi+S+
質問があまりに来ないもんだから知恵袋からスレチ質問を取り寄せる
見積り依頼が全然来ない半下請け製造業みたい
2026/03/31(火) 11:46:09.67ID:9sTeuD0W
事務所はもちろん屋根裏
903デフォルトの名無しさん
垢版 |
2026/03/31(火) 12:15:01.97ID:YbNVl3YM
しかし皮肉なことにAIの台頭でハードルが各段に下がってVBAが息を吹き返してるという
良い効果の方が大きいわ
2026/03/31(火) 17:32:58.04ID:GkhJ5iIh
AIの台頭とハードルが下がるのは関係ない気がする
905デフォルトの名無しさん
垢版 |
2026/03/31(火) 19:37:54.87ID:PrVMtzKF
>>904
むしろこれでもかってくらい下がっとるやんけ直撃レベルで
このご時世に関係ないって社会に出てるのを疑うぞ
2026/03/31(火) 19:43:21.15ID:a3VLPgwi
今まで定型作業を自動化したくても自作もできず外注の予算もなくてできてなかった極小法人が次々と導入してる
907デフォルトの名無しさん
垢版 |
2026/03/31(火) 19:46:44.18ID:eknkEGWp
フォーム作成が簡単で自由だから作り方さえクリアできたら扱いやすくていいよねえ
2026/03/31(火) 20:09:41.85ID:YD11+eDo
ただ「複数人が同時に作業できない」という欠点があるからそれを回避するために他の言語を学習中だわ。
2026/03/31(火) 23:03:16.77ID:GkhJ5iIh
ハードルが下がって新人が簡単に使えるようになったせいで
仕事とられて必死に勉強しているってわかった
2026/04/01(水) 14:50:37.50ID:6OAaZq7/
ユーザーフォーム作成時の操作感は嫌いじゃない
連打に対するレスポンスが悪い所と何故かボタンのプロパティにTextAlignがない所は気に入らない
911デフォルトの名無しさん
垢版 |
2026/04/02(木) 17:04:20.63ID:AuiTRIHT
AIに振れば済むタスクをわざわざ新人に割り当てる会社があるんかな
2026/04/02(木) 17:52:26.36ID:EqeaSXAW
そりゃあ、いくらAIと言えども社内の各端末に実装して操作手順をレクチャーするまでには
至って無いからな
何より、万が一の時に責任を負わせる要員は必要 上の方がハゲ頭下げずに済むように
2026/04/02(木) 19:22:41.21ID:OBoANz3d
部下がAIだけだったら会社では一番下だろ
914デフォルトの名無しさん
垢版 |
2026/04/02(木) 20:55:25.48ID:4b6R8LzT
AIはあるけどAIとかなり相性が悪い言語だからなあVBAって、どうしても他の言語と比べたら恩恵は少なく感じる
恐らくネット上の学習データが少ないからだろうけど、ハルシネーションも多いし今のところは高級Googleって感じだな
他のメジャー言語がClaude Codeで超効率で書けてもVBAは手作業が多め
2026/04/02(木) 21:21:07.73ID:Jlb3LeSD
どの言語でも最初はそれなりに失敗はするが、違いはAIがそれを自分で修正できるかどうか
まともな言語ならAIエージェントがコンパイルエラーや実行時エラーや自動テスト結果などを見て自律的に問題を修正するんだけど、
VBAだとそもそもUI触らなきゃ試すのが難しいしセルを編集しちゃうと戻すのも一苦労だからAIエージェントと相性最悪なのよ
とはいえVBAプログラマのレベルの低さを考えるとチャットの回答をコピペする原始的なスタイルでも人間より遥かにマシだけどね
916デフォルトの名無しさん
垢版 |
2026/04/03(金) 07:55:57.09ID:KzzHOgf1
AIじゃ無理だと自分に言い聞かせて納得させたくてもVBAだけが取り得みたいなのはもはやただのポンコツ
2026/04/03(金) 09:17:09.18ID:GW5/y2TM
いいんだよ あらゆる言語に精通してますったって、どんな業務でもこなせますったって
望む職場に出会える奴なんか千人にふたりぐらい ちがうか?
雇われた先の要望こなしてチマチマお賃金もらえてりゃあそれでいいんだ
起業して顧問先ごまんと確保して、どんな職種のどんな業務業態のシステム化も「お任せください」で
先頭切って走り続けてる会社なんか無いだろ? 専門業種の専門業務に特化したシステムを作り続けるだの
どこぞの下請け孫請けでやりたくもない仕事を押し付けられてヒイコラ人生を浪費してるだの、だらけが実態
地アタマいいから色んな言語操って稼ぎまくってます!なんてぇ奴を見たことあるか?
そんな奴はそもそもこんな場末の掲示板になんか来ない わざわざ訪問して自慢するのが趣味みたいな奴はコッチ側と大して違いは無い
918デフォルトの名無しさん
垢版 |
2026/04/03(金) 10:43:36.58ID:4yM5U809
2/1000
2026/04/03(金) 21:33:58.60ID:qS7/vct8
0か100かの極端でしか語れないようでは視野が狭すぎるよね
出来ない < あんまりできない < 普通 < ちょっとはできる方 < 完璧
みたいに色んな人や職場があってもいいじゃないかAIじゃない人間だもの
920デフォルトの名無しさん
垢版 |
2026/04/03(金) 22:02:45.85ID:y47k7MSd
勤め人でも年収500万とかじゃ嫌だよ
俺は若い頃にVBAも武器の一つにして今の880万ある職層になったし
最近はお手軽に作れすぎてもはや
VBAチート時代
921デフォルトの名無しさん
垢版 |
2026/04/04(土) 09:12:03.28ID:BH8B6QB0
コーダーが昔の計算手と同じ運命をたどるのは歴史の必然だから仕方ない

「昔は全部人間が手で書いてたんだよ
それで彼らがAIの基礎を作ってくれたおかげで今の便利な生活があるんだよ」
「へ~昔の人は凄かったんだね」

といつか英雄視される日が来るから
それで溜飲を下げてくれ
2026/04/04(土) 09:41:08.91ID:k57kk9PC
そしてAIが人類を滅ぼす日が来るというのか
2026/04/06(月) 16:15:05.41ID:oPeIhkUA
計算手に例えられる様な、VBAのコーディングを専門にして飯食ってる人なんているのか?
マクロで効率化された実務作業の方が本来の成果物なんだから、AIでコーディングがカンタンになるならVBAユーザーにとってはプラスしか無いんじゃないの
2026/04/06(月) 18:24:37.27ID:PmuJc3xb
>>923
派遣なら掃いて捨てるほどいるよ
925デフォルトの名無しさん
垢版 |
2026/04/07(火) 07:55:13.10ID:cBdWtSpd
>>924
ほんまや
調べたらVBA開発業務とか結構あるのね
他人のためのマクロ組む仕事とか精神病みそうだなぁ
2026/04/07(火) 10:18:08.53ID:6stsjjtM
様々な業種・業態・業務を渡り歩いてきたようなツワモノなら、むしろ要望以上を満たす場合も
キャリアが短いと「言われた事だけやりましたけど、なにか?」もあるし
依頼する方は、腕の立つ大工かどうかを見極めるような審美眼も必要
まぁ、過去の実績を見れるならともかく、守秘義務のガードがあると実物を目にすることもできないし
ちょこっとサンプル作りを無料でやらせるわけにも行かないし IT渡り鳥も千差万別
派遣じゃなくて業務丸ごと委託請け負いします、な業者ならマシだが料金はべらぼう
927デフォルトの名無しさん
垢版 |
2026/04/07(火) 15:54:57.71ID:qirbMzY3
ChatGPT に英文テキストから単語活用と頻度を抽出する聞いたら、「クラスモジュール」を利用した、私一人では思い付けないプログラムが出来ました。
連想配列の Value にインスタンスを登録することで、入れ子になったデータ構造を実現しています。
https://makoto-watanabe.main.jp/vba_dictionary.html#WordEntry
928デフォルトの名無しさん
垢版 |
2026/04/07(火) 17:00:41.03ID:+FcKn+cU
vba以外の最近の言語経験があれば普通の発想
2026/04/07(火) 17:24:44.91ID:e4Wa3H7U
AIに頼るにしてもPythonだったら10行くらいでできるな

import spacy
from collections import Counter
import time

# 準備:言語モデルの読み込み
nlp = spacy.load("en_core_web_sm")
start_time = time.time()

# 1-2. ファイル読み込み(ダイアログなしなら1行)
text = open("sample.txt", "r", encoding="utf-8").read()

# 3-5. 単語抽出・原形変換・条件絞り込み・頻度集計
doc = nlp(text)
words = [f"{token.lemma_} ({token.text})" if token.lemma_ != token.text else token.lemma_
for token in doc if len(token.text) >= 4 and token.is_alpha]
counts = Counter(words)

# 7. 完了報告
print(f"処理完了: {time.time() - start_time:.2f}秒")
print(counts.most_common())
2026/04/07(火) 22:35:30.76ID:PiBYvTQT
>>928
最近の言語は標準ライブラリにdictionaryくらいあるからな
931デフォルトの名無しさん
垢版 |
2026/04/08(水) 10:43:10.89ID:ydGAkrsp
ExcelにVBA禁止でPythonのみ許可する設定はありますか?
932デフォルトの名無しさん
垢版 |
2026/04/08(水) 17:51:20.52ID:qjxw6shb
スレとは全然関係ない話でゴメンなんだけどさ、歯磨き粉の最後のひと絞りってどれだけ力で絞り出しても構造的に僅かに残るじゃん。けどその最後の最後の微量は、口で吸い出したらいいじゃんって事に気付いたわ。
933デフォルトの名無しさん
垢版 |
2026/04/08(水) 18:12:04.61ID:sq8zYDZf
>>932
それ誤飲いるリスクがあるから危険ですよ
934デフォルトの名無しさん
垢版 |
2026/04/08(水) 18:19:20.32ID:xbpO7kjf
綿棒か爪楊枝じゃね
2026/04/08(水) 20:02:48.12ID:gQBSKEUo
もう最後ならハサミで本体を切って裏から取り出す
マヨネーズも
936デフォルトの名無しさん
垢版 |
2026/04/08(水) 21:21:06.84ID:kr0Pa8XB
缶ビールもグラス(コップ)で飲む場合、
5回くらい注ぐ作業をしないと完全には空にできないぞ。
2026/04/10(金) 07:20:14.76ID:6Q8XKpNv
VBAや他の言語には雄弁でも、実生活はみみっちいな
新しい意欲に燃えてる人たちが読んだら切なく成るようなウラ側は書かんでくれたまえ
938デフォルトの名無しさん
垢版 |
2026/04/10(金) 07:33:38.87ID:quY1WHEZ
燃えるゴミの袋はたとえ少量でも生ゴミがあったら毎回捨ててるからな
2026/04/11(土) 08:48:12.55ID:tPgwBfNa
いやいやいやいや 黙っちゃうなよw 認めることに成っちゃうだろw
実際、ホンモノの資産家はけち臭い人多いんだから
いろんな企業の役員の自宅とか数十件にも及んだ経験招き入れられた実体験から確信してる
裏白の新聞チラシを刻んでメモにしてるとかは普通で、100均商品当たり前、総菜とかも安いスーパー巡り
そのくせ大豪邸に住んでる 車はごくありふれた安っぽいセダン とかとか
ま、出されたお茶菓子だの茶器だの、座らせられたソファー・テーブルだのは一級品だから、コッチが気圧されるが
あれもこれも奮発して高級高額を纏ってるようなのは、たまたまの成り金に過ぎなくて呆気無く落ちぶれてったり破産したり
ウソでもいいから「ホンモノ」感を出し続けててくれたまえ 読んでる分には知り得ないんだからw
余談だが、子の代に成るとわりかし贅沢してる 分かっててやってるならいいけど、調子に乗ってるようだと次第に業績下降
2026/04/12(日) 15:50:44.55ID:fk5jbUPN
>>313
ん?プロシージャを細かく分けるから変数の数が減るのでは?
2026/04/13(月) 12:11:33.03ID:KGa1EggJ
分けただけでは減らんだろ
2026/04/13(月) 14:35:40.58ID:Ok4Neo48
四半期ぶりの返事
営業なら即クビですな
2026/04/15(水) 02:54:08.79ID:rXNq3kpx
AIにVBA作ってと言ったらほぼ完璧に作る
聞いたら割と答えて長年の謎が解けてVBA増えてこまる
なんなんだこれ
944デフォルトの名無しさん
垢版 |
2026/04/15(水) 06:22:01.11ID:E4EuXy+x
謎が解けたわけで問題解決に至った
何も問題ない
945デフォルトの名無しさん
垢版 |
2026/04/15(水) 12:15:17.34ID:rrprbhWq
>>943
>>903じゃないけどまぁ使用頻度増えてるわ
946デフォルトの名無しさん
垢版 |
2026/04/15(水) 12:18:45.74ID:wOgqdN5M
AI 支援プログラミングが飛躍的に向上して、実用段階になりました。

これは、趣味でプログラミングしている人には、とても良い時代になったです。
趣味でプログラミングしている人は、プログラム作成の目的が明確なので、AI と協業することで、期待したプログラムを素早く完成させて楽しめます。
しかし、コーディングを仕事にしている人には、うっかりしていたら失職しかねない状況なのでしょう。
また、プログラミングを学習中の学生にとっては、言語学習に疑問を感じて、修学モチベーションは消失してしまうかもしれないですね。

プログラミングの目的を明示化して、仕様をまとめて、テスト計画を作るという基本的な能力とセンスが、より重要になったのですね。
2026/04/15(水) 14:50:37.54ID:JU5kssta
そうなったですか
趣味に限らず、通常業務の効率化の為にVBAやPowerShellを使用していた内勤事務マンにとってもAIはとても助かるですよ
2026/04/18(土) 14:19:39.68ID:u41qamtB
https://i.imgur.com/HH2OND2.jpeg
警視庁捜査1課は、「Linuxジャパン」の社長である水口克也容疑者(49)を死体遺棄容疑で逮捕しました。
949デフォルトの名無しさん
垢版 |
2026/04/18(土) 17:29:16.50ID:epVFhxom
AI でソフト会社は人員半減。だからと言って殺さなくてもよいのにね。
2026/04/19(日) 07:10:56.02ID:eiybQtJs
ソフト会社なのか?
https://bijo-linux.com/ Linux とは特に関係無く、派遣メインとか出て来るけど
https://x.com/shujisado/status/2045263993200386333
951デフォルトの名無しさん
垢版 |
2026/04/19(日) 07:59:57.94ID:IsMUxfwi
ファイルパスやフォルダの場所、シート名などをコードに直接書き込んでしまうと(ハードコーディング)、プログラミングがわからない他の人が修正や変更をできなくなってしまいます。
かといって、設定値をセルに記入してもらう方法だと、管理が不透明になりがちですし、コード側でも Range("...").Value と書く手間が増えてしまいます。
最近、「名前の定義」を定数として利用できると知ったのですが、その方法で進めても大丈夫でしょうか?それとも、もっと他に良い方法があるのでしょうか?
952デフォルトの名無しさん
垢版 |
2026/04/19(日) 11:31:58.53ID:z+WUsBEd
ハードコーディングはアレだけど、
VBAはもともと広く頒布して長く運用し続けるような用途に向いてない

運用、業務設計を必要とするなら関係者と落とし所すり合わせたら?
2026/04/19(日) 15:00:18.96ID:QIwWxI9M
読むまで思いつかなかったが設定値をセルに記入してもらう方法が良さそうな気がするな
他に思いついたのはレジストリ、環境変数、ファイルを読む方法だが良いかどうかの評価は避けたい
2026/04/19(日) 16:41:53.14ID:bcK1NyYC
素人に使わせるんならフォームから入力が確実
955デフォルトの名無しさん
垢版 |
2026/04/20(月) 00:15:33.43ID:Y0JqRTcf
パスやシート名という程度なら、そもそもプログラムで自動(可変)で取得するようにしたらええやん。例えばYYYYMMDD。
で、プログラム内ではなく、ファイルパスやシート名自体を名前ルール決めて運用するのが良いんでは。
自動化をするのが目的なら可能な限り自動にしてしまって、別途運用ルールを定めるのが楽ちんだし安全。
2026/04/20(月) 00:42:07.26ID:P/PJiaXJ
他人の作ったルールは覚えるのも守るのも面倒、てか絶対に守らないやつが出てくるから、ルールとかマニュアルで運用なんてのはできるだけ考えない方がいい
正確で親切で完璧なマニュアルを作ったら解決とか思ってるやつは現場を知らなさすぎる
957デフォルトの名無しさん
垢版 |
2026/04/20(月) 06:13:05.30ID:ezlyYmKB
どうしてそう上から強く来るのかなあ
具体的な環境も見えてないのに否定できてしまうのはどうなの
あくまで相談に対して提案の範疇で各々が出し合えばいいじゃない
上でも「関係者と落とし所を模索どうぞ」と言ってる段階だし

当該現場を知らないのに現場を知らなすぎるとはこれ如何に
第三者である回答者への攻撃って要らないよ
958デフォルトの名無しさん
垢版 |
2026/04/20(月) 09:08:06.33ID:GTuouI6/
それが5chクオリティ
2026/04/20(月) 09:53:15.32ID:fUixW+Bs
名前の定義で設定値を変更するってのはさすがに本末転倒な気がする
ユーザーフォームとかFileDialogで設定変更させるボタンを置いて、シートはHiddenかVeryHiddenにして、設定値の確認もフォーム上でするようにするのがいいと思う
2026/04/20(月) 10:29:43.40ID:WyAff6YS
自称「PC苦手だからExcelよく分からん」という上司のために色々なマクロ作ってきたけど、大体そういう輩は「どうせ分からんから」と決め付けてるから説明を読まない
どんなに丁寧なフォームを作ったって理解する気のない輩には伝わらない
そのくせ無駄に変なところを弄って「何もしてないのに壊れた」してきやがる
なので良くないってことは理解した上で、エラー時は【動かなくなったら○○(俺)に連絡してください】って表示することにしてハードコーティングしてる
2026/04/20(月) 10:38:35.80ID:fxWlur9I
分かる~!!
うちの上司も【身長、体重、年齢…を入力してください】みたいなフォームすら「分からん」と言いやがるので、1つずつに分割して【身長を入力してください】→【体重を入力してください】→…としても「分からん」と言いやがるので、【身長をテンキーで入力して、OKボタンを押してください】…と書いても「分からん」と言いやがるので…(以下略

書類とかはちゃんと読めるんだから結局苦手意識だけの問題なんよな
どちらも同じ日本語なのになんでフォームの説明になると読めなくなるんですか?
しかも長くても2~30字程度だから読む気さえあれば理解できない訳がないよなぁ??
2026/04/20(月) 10:57:17.65ID:fUixW+Bs
質問者はそんなレベルの動物に使わせるような話はしてないと思うよ
2026/04/20(月) 11:05:26.26ID:ZdsClova
実際にやってみればわかる
隣に座ってたやつが実は動物レベルだったことに気付く時がくるのさ
964デフォルトの名無しさん
垢版 |
2026/04/20(月) 11:17:24.38ID:jus0l7N6
もうVBA関係なく、「動物にPCを使わせるには?」じゃん。
2026/04/20(月) 11:44:45.87ID:fUixW+Bs
質問に回答するという本分を忘れて自語りや説教を始めるなと言いたいんだけどなぁ
質問者の周囲のレベルは当人が試してみて初めて分かる事
極端な例を持ち出して「できない・やらない方が良い」は全く価値が無い
「こういう場合もあるから期待通りにはならないかも」だったら分かるけど
2026/04/20(月) 11:52:55.48ID:xzhSdvXO
いやいやいやいや いやいやいやいやw
そんな能力の無い上司に仕事振られて喜々として仕事してるのか?
もっと上に掛け合って、そんな上司は追放しなきゃ会社のために成らないし
何ならその席をじぶんで奪っておちんぎんあげようとか思わんのか
2026/04/20(月) 12:17:37.17ID:Buu+7zsj
んなこと言い出したらキリがない
そもそもIT音痴を相手にする必要がないんならPythonでもAIエージェントでも何でも使えばよくて、VBAなんてお呼びでないんだから
2026/04/20(月) 12:47:18.22ID:pRaY8BFS
話が伝わらない場合って色々あって、その個人がわかってないけど
他の人には普通にわかってもらえるならそれでいいと思う
身長の入力がわからない場合でも、最近計ってないのか、メートルやセンチの単位の説明がないとか
周囲の雑音で聞き取れなかったのかもしれないから丁寧に説明したらわかるんじゃね
969デフォルトの名無しさん
垢版 |
2026/04/20(月) 13:05:05.33ID:6allhkGd
>>953
現場変数
2026/04/20(月) 13:51:24.66ID:Vla5K0jV
>>967
これは正論
今更VBA使うのはIT音痴に使わせるためでしかないからな
2026/04/20(月) 13:52:43.87ID:P8fBcWb7
それでも余計なことをしてくれるから、もうPython tkinterとsqlite3でやろうと思ってる。
2026/04/20(月) 14:43:35.81ID:z+fXdi5e
>>960-961
>>963
まさにそれ
https://www.youtube.com/watch?v=IimtJDUx2MY
2026/04/20(月) 14:43:42.48ID:RLizP20X
質問への回答からの流れで『いくら丁寧なフォームを作ったりしたところで分からんと言い張る輩には通用しないこともある』という話なんじゃないか?
確かに自分語り成分が多めではあるが流れ無視の語りではないと思うぞ

そしてその上司が無能なのかは分からんぞ
他の仕事はバリバリ出来るのにPC、スマホ、デジタルってだけで理解を放棄してしまう人は老若男女問わず意外といる
もちろんそれを是とするかはまた別の話だけどな
974デフォルトの名無しさん
垢版 |
2026/04/20(月) 14:51:50.50ID:DkOVvNoc
ファイルパス、フォルダパス、シート名
こんなもん、どの程度プログラムに任せるのか、どの程度人間の運用に任せるのかだけでしょ
作る人に選択肢を教えて、試しに作って、運用を想像して、選択するだけのこと
完璧に理想的なものなんて作りようがないんだから
975デフォルトの名無しさん
垢版 |
2026/04/20(月) 15:30:51.35ID:x5/5IaNC
文字が小さいと老眼で読めない
2026/04/21(火) 01:46:30.52ID:i/ow1GaW
カタカナが12文字以上続くと目が滑る
977デフォルトの名無しさん
垢版 |
2026/04/21(火) 21:41:34.20ID:jdlnrmsH
いよいよこのスレもジェミニに奪われるのか…
2026/04/22(水) 18:50:46.81ID:ykrxfy9W
ジェミニには無料と有料があるよ
979デフォルトの名無しさん
垢版 |
2026/04/22(水) 23:35:13.45ID:P33/Sns6
今の所 ジェミニ無料版で十分楽しめます。
一日数回は pro も使えます。
2026/04/23(木) 18:47:28.38ID:Wxh1jUh3
ださっ、ってか仕事で使うならふつう有料だよね
981デフォルトの名無しさん
垢版 |
2026/04/23(木) 19:20:39.82ID:hGmX+Qq1
>>951
セルに書くと読み取る側でコードを書く必要がある、値が1個で固定位置ならまだマシだけどリストとかだとforループを書く必要が生じてスパゲティ化の原因になる
それを引き継いでメンテする側の立場になるとかなり読みづらく感じるし、ワークシート指定せずCells(1, 1)なんて書き方しようもんならシートの切り替え処理まで追う羽目になってとても手間
折衷案としてJSONを使うという方法がある、これは外部から変更できるしプログラミングの配列の記述そのものでメンテする側にとっても楽
ライブラリが必要だがVBA-JSONで検索して標準モジュールに取り込めば使える
まあ設定変更する側が文字列と数値の違い(ダブルクォーテーションで囲む)やカンマ区切りの規則をマニュアル読んでも理解できないような人だとこれもダメだけど
982デフォルトの名無しさん
垢版 |
2026/04/23(木) 20:26:51.83ID:iySMANWw
設定用のシートをiniファイルを読み書きするみたいに使えるライブラリでもあげたらいいじゃん
2026/04/23(木) 21:00:45.66ID:ukpwSrOA
設定をワークシートに入れて手作業で書き換える運用にすると絶対に素人が破壊する
984デフォルトの名無しさん
垢版 |
2026/04/23(木) 21:59:08.60ID:CEzlrQ2w
直せばいいじゃん
バックアップとかで
2026/04/23(木) 22:45:15.84ID:/WbbULRZ
設定が壊れたままデータ処理して上書き保存
被害が広がってきたとこでやっと誰かが気づく
さて、いつから壊れてた?
986デフォルトの名無しさん
垢版 |
2026/04/24(金) 00:04:27.66ID:tbXoi0VA
瑕疵じゃん。使用考慮不備。くだらねえ
987デフォルトの名無しさん
垢版 |
2026/04/24(金) 00:04:43.54ID:tbXoi0VA
仕様
2026/04/24(金) 18:05:15.50ID:HSFRi4Ix
普通はその手のやり方の場合、設定用のUIを用意して、シートに直接記述することの無いように非表示にするもんだと思うんだが。
2026/04/24(金) 18:06:38.10ID:HSFRi4Ix
というか、やり方なんていくらでもあるし、一長一短だからその時その時で協議して決めるもんじゃね?
2026/04/24(金) 18:12:44.38ID:HSFRi4Ix
>>981
普通はいきなりCells(1,1)なんて書くことは無いと思うんだよな。
自分は必ずWithを使ってBookから書くか、シートオブジェクトを変数に入れて、
sht.Cells(1,1)と書く。
991デフォルトの名無しさん
垢版 |
2026/04/24(金) 18:53:34.07ID:gre/G+4d
設定項目は可能な限り少なくする
出力先はワークシートと同じフォルダー固定で事足りる
2026/04/24(金) 20:38:15.45ID:+Xmv3Vrk
どうせ自分しか使わないんだから好きに作ればいい
993デフォルトの名無しさん
垢版 |
2026/04/24(金) 22:12:03.28ID:Yo/pC6tM
994デフォルトの名無しさん
垢版 |
2026/04/24(金) 22:12:16.16ID:Yo/pC6tM
995デフォルトの名無しさん
垢版 |
2026/04/24(金) 22:12:28.52ID:Yo/pC6tM
996デフォルトの名無しさん
垢版 |
2026/04/24(金) 22:12:39.74ID:Yo/pC6tM
997デフォルトの名無しさん
垢版 |
2026/04/24(金) 22:12:54.32ID:Yo/pC6tM
連続制限
998デフォルトの名無しさん
垢版 |
2026/04/24(金) 22:13:09.30ID:Yo/pC6tM
上書き規制
999デフォルトの名無しさん
垢版 |
2026/04/24(金) 22:13:23.76ID:Yo/pC6tM
バイバイおさるさん
1000デフォルトの名無しさん
垢版 |
2026/04/24(金) 22:13:36.36ID:Yo/pC6tM
糸冬
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 205日 7時間 36分 55秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

▼ UPLIFTログインはこちら ▼
https://uplift.5ch.io/login
レス数が1000を超えています。これ以上書き込みはできません。

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