1 名前:デフォルトの名無しさん mailto:sage [2025/06/08(日) 11:06:42.20 ID:j4jIPbHU.net] ExcelのVBAに関する質問スレ コード書き込みや作成依頼もOK 次スレは>>980 が立てること 無理なら細かく安価指定 ※前スレ Excel VBA 質問スレ Part82 https://mevius.5ch.net/test/read.cgi/tech/1737657075/1
285 名前:デフォルトの名無しさん [2025/06/27(金) 21:38:05.72 ID:1l5DAmC+.net] >>280 おい言ってみろよ それっぽいこと適当に言ってると低年収バレバレで失禁するぞ?
286 名前:デフォルトの名無しさん [2025/06/28(土) 10:20:06.70 ID:2ZQiHrFF.net] 逃げたな
287 名前:デフォルトの名無しさん mailto:sage [2025/06/28(土) 10:56:57.35 ID:3Um/1PXm.net] >>280 ほんそれ 回答の末尾にしらんけど付けてくれ 知らないなら答えないで下さいうざいだけです
288 名前:デフォルトの名無しさん mailto:sage [2025/06/28(土) 15:34:30.03 ID:OhpHj5Et.net] 会話の終わりに知らんがななんか付けたら関西人に成ってしまうだろ そう言えば、関西系のシステムって見たことも触ったことも無いけど やっぱあれかな? [はい][いいえ]ボタンなんか配置したら「何東京人ぶってんねん!」とか 罵られるから[そうでおま][ちゃいまんねん]とかなのかな? キャンセルは[やめときますb]とか いっぺん見てみたい
289 名前:デフォルトの名無しさん [2025/06/28(土) 16:39:30.47 ID:IggLVQ8p.net] VBAスレ史上でもワースト3に入るつまらなさ
290 名前:デフォルトの名無しさん [2025/06/28(土) 17:20:22.34 ID:uA5FL7Cc.net] >>286 昔々IT企業の同期のコンピューターに疎いやつ(文系)が言ってたことに似てる プログラムの命令って何でIFとかなん JKの日本語で「もし~"だったら~"xxする」("ら~"と伸ばすのまでが語w)とか書ければいいのにとw バカにしたけどまあ文系の素朴な疑問なんやろなとは思った 日本語BASICとかがこの命令体系だったら、一部のマニアに流行ったのかもしれんなと思ったり ちなみに大阪にある有名企業(の開発現場)で「もし」とかプログラム書いてたとこは存在した。そこで仕事したことある 今そう書いてるかは不明
291 名前:デフォルトの名無しさん mailto:sage [2025/06/28(土) 18:58:07.89 ID:vnGwMlU1.net] 日本語のようなハイコンテキスト言語はプログラミング言語に向かない
292 名前:デフォルトの名無しさん mailto:sage [2025/06/28(土) 19:31:48.97 ID:LhFbdsON.net] 形式言語としてのプログラミング言語の記号列に用いる記号をどのような記号集合から取ってくるかというだけの話で、ASCIIが便利だったってだけだと思うけど。 だから、自然言語としての日本語・英語の性質はあんまり関係ないと思う。構文論・意味論は個々のプログラミング言語で定義されるわけだし。仮に「もし〜だったら」みたいに書けたとしても、期待に反して大して書きやすくはならないはず。
293 名前:デフォルトの名無しさん mailto:sage [2025/06/28(土) 19:52:26.97 ID:2qq3obCO.net] なでしこ言語(泣)
294 名前:デフォルトの名無しさん [2025/06/28(土) 20:13:15.90 ID:Me3Cyfy2.net] もしも あしたが晴れならばの歌詞は色々と論理が破綻してる
295 名前:デフォルトの名無しさん mailto:sage [2025/06/28(土) 20:35:26.86 ID:uZ2SW2TW.net] 財源が無いはずなのに消費税で上振れしている税収の財源があるのも論理破綻している
296 名前:デフォルトの名無しさん [2025/06/28(土) 20:44:32.94 ID:uA5FL7Cc.net] >>290 その通り 普通にIF書いてたプログラマーからしたら全然書きやすくはない しかし当時プログラマーなんて少ない時代に、わかりやすく書ける、読めることはメリットあった 例えば東京特許許可局という変数があったとき、これを英字にしたら読みやすさが激減する 苦肉の策な時代でした (省略英字の日本語辞書を使って、ソースを読みやすくする現場もあった。SYH-ZEIを消費税とするような)
297 名前:デフォルトの名無しさん [2025/06/28(土) 20:45:50.18 ID:nr2U5Q2u.net] 俺は変数の宣言は日本語にしてる ひらがな、カタカナ、漢字 それでトラブったことがないの
298 名前:デフォルトの名無しさん mailto:sage [2025/06/28(土) 21:46:41.03 ID:IE4mXjww.net] だが日本語変換の切替えがだるい
299 名前:デフォルトの名無しさん [2025/06/28(土) 22:01:41.58 ID:uA5FL7Cc.net] >>296 変換をon、無変換をoffにしておくと楽
300 名前:デフォルトの名無しさん [2025/06/28(土) 22:05:51.33 ID:sSoEJ15o.net] 一応こんなのはある C++言語によるお嬢様コーディングがブームの兆し!? https://forest.watch.impress.co.jp/docs/serial/yajiuma/1419370.html
301 名前:デフォルトの名無しさん [2025/06/29(日) 02:34:13.89 ID:712DhJe3.net] こんなのも https://eetimes.itmedia.co.jp/ee/articles/2506/27/news072.html
302 名前:デフォルトの名無しさん [2025/06/29(日) 08:26:19.87 ID:MOD8edIy.net] 改ページの点線を手動で移動させて1ページに収まる様に指定するのと(実はこれが自動改ページ) 横1ページ指定するのと(全列を1ページに収まる様に指定) 印刷した時の文字の大きさに差はありますか?
303 名前:デフォルトの名無しさん mailto:sage [2025/06/29(日) 12:48:03.11 ID:9LXkiqZz.net] シート上で指定した改ページはデータをページで区切るための指定 プリンター設定で拡大縮小できるし、紙が数ミリずれることもあるのでギリギリを狙うと失敗する
304 名前:デフォルトの名無しさん [2025/06/29(日) 17:00:44.93 ID:MOD8edIy.net] >>301 プリンターの設定で必ずこの行から2ページ目にする という設定ができるのでしょうか? とりあえず今日調べてなんとなく挙動がわかった様な気がします 考えれば当たり前の話ですが、行を追加すると余分なページが挟まれる可能性があるのと、空白だけど(何かしら書式設定された痕跡があるからか)印刷対象になってしまっている行を削除しないといけない
305 名前:デフォルトの名無しさん [2025/06/29(日) 18:14:38.13 ID:jfS/ezr/.net] 印刷画面で1ページだけを5枚印刷とか 3,5~7ページだけを印刷とか指定できるので好きなページだけ印刷すればいいんじゃね
306 名前:デフォルトの名無しさん [2025/06/29(日) 18:29:48.73 ID:jfS/ezr/.net] 印刷すること自体をマクロでやったこと無いが プレビューを確認してよければ印刷するくらいにしないと インクや紙が無駄になるぞ 1万件のデータ印刷したら100ページとかw
307 名前:デフォルトの名無しさん [2025/06/29(日) 18:43:03.87 ID:MOD8edIy.net] マクロから直接印刷はさすがにしてないです pdf出力するのをしています ちなみにどうしても縮尺指定にこだわりたい人の為に、縮尺指定→印刷プレビュー→印刷プレビュー閉じる→左右のページ数確認→ループのコードを書きました。
308 名前:デフォルトの名無しさん [2025/06/30(月) 06:28:01.78 ID:m9Iz5ero.net] Excelの知識がなさすぎるひと向けに作るのはやめた方がいい
309 名前:デフォルトの名無しさん [2025/06/30(月) 11:45:51.43 ID:jH/JIj4s.
] [ここ壊れてます]
310 名前:net mailto: つかExcelVBAは使うのやめた方がいい トラブルの元 [] [ここ壊れてます]
311 名前:デフォルトの名無しさん mailto:sage [2025/06/30(月) 11:49:50.48 ID:JQmVBSaF.net] このスレで言うことか?
312 名前:デフォルトの名無しさん [2025/06/30(月) 18:11:33.26 ID:CUdrd9La.net] 印刷やろうとしてる人に向けてだろ… でも明らかにセンスも作り込みスキルもなさそうだから同意
313 名前:デフォルトの名無しさん [2025/06/30(月) 20:01:12.87 ID:9Mnf4Vk7.net] >>309 センスも作り込みスキルも無さそうでしょうか?
314 名前:デフォルトの名無しさん [2025/06/30(月) 20:48:43.72 ID:XO4EHMtF.net] >>310 ごめん、そんなことはないけど 印刷のVBA化に無理に固執するもんじゃない マジで 昔経験したからわかる
315 名前:デフォルトの名無しさん [2025/06/30(月) 20:54:02.73 ID:9Mnf4Vk7.net] >>311 ありがとうございます vbaで直接プリンターに飛ばすわけではありません とりあえず改ページの仕様はいくらか理解できたと思います
316 名前:デフォルトの名無しさん mailto:sage [2025/07/01(火) 00:25:06.97 ID:AnMu1HLz.net] Chatさんに聞いてみたけど面倒くさそう。 ' 例:20行目の上に改ページ(21行目から新しいページ) 余白2cm Sub 印刷設定サンプル() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") With ws .ResetAllPageBreaks .HPageBreaks.Add Before:=.Rows(21) With .PageSetup .PrintTitleRows = "$1:$3" .Zoom = False .FitToPagesWide = 1 .FitToPagesTall = False .Orientation = xlPortrait .PaperSize = xlPaperA4 .LeftMargin = Application.CentimetersToPoints(2) .RightMargin = Application.CentimetersToPoints(2) .TopMargin = Application.CentimetersToPoints(2) .BottomMargin = Application.CentimetersToPoints(2) .CenterHorizontally = True End With End With MsgBox "印刷設定を適用しました。" End Sub
317 名前:デフォルトの名無しさん mailto:sage [2025/07/01(火) 00:32:33.67 ID:AnMu1HLz.net] 続き。こういうのも多分いるよね。 指定した行数がA4印刷1ページに収まるかを調べ収まらない場合は改ページを設定する 各行の高さを合計して、ページ内に収まるかを判定。A4の印刷可能範囲の高さ(ポイント単位)と比較。オーバーするならその直前に 改ページを入れる。 A4用紙の印刷可能な高さ(おおよそ) A4縦の高さ:29.7 cm = 約842 pt 上下余白(例):2cm + 2cm ≒ 113 pt(計) ⇒ 実質印刷可能範囲:約729 pt ※余白・ヘッダー・フッターにより変動 コード例 Sub 自動改ページ_行数と印刷高さを基準に() Dim ws As Worksheet Dim i As Long Dim rowHeightSum As Double Dim printHeightLimit As Double Dim lastRow As Long Set ws = ThisWorkbook.Sheets("Sheet1") ws.ResetAllPageBreaks ' 印刷可能な高さを計算(A4縦:842pt - 上下余白 約113pt) printHeightLimit = 842 - 113 rowHeightSum = 0 lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row For i = 1 To lastRow rowHeightSum = rowHeightSum + ws.Rows(i).RowHeight If rowHeightSum > printHeightLimit Then ' この行の直前で改ページを入れる ws.HPageBreaks.Add Before:=ws.Rows(i) rowHeightSum =ws.Rows(i).RowHeight ' 次ページの高さリセット End If Next i MsgBox "改ページを設定しました。" End Sub
318 名前:デフォルトの名無しさん [2025/07/01(火) 07:51:53.41 ID:hLMayhbM.net] >>313 このコードは何をしているかというと、 21行目の上 つまり20行目と21行目に改ページを設定して 上にヘッダー?を設定して 縮尺解除 全列を1ページに収める 行のページ数は自動 用紙サイズはA4 という設定をしています しかし、改ページの設定は 改ページビューの青い点線(実はこれが自動改ページ)ではないから 1ページと2ページに余分な空白のページが挟まる
319 名前:デフォルトの名無しさん mailto:sage [2025/07/01(火) 12:47:55.21 ID:cyOlFSbV.net] インスパイアされて作ってみた 関西のコミュニケーションの多様性にはリスペクトしか無い https://89.gigafile.nu/0706-cf0368763b1caf00c266d1efc563aea36 ネィティブでは無いので誤りが有ったら指摘もらえば改良もやぶさかではない Captionだけじゃ物足りないので喋らせてみたが、これが結構ドツボ ExcelでのSpeakは、まだまだ途上らしい
320 名前:デフォルトの名無しさん [2025/07/01(火) 21:04:55.51 ID:hLMayhbM.net] >>316 何をお作りになられたのでしょうか?
321 名前:デフォルトの名無しさん [2025/07/01(火) 23:30:56.43 ID:uDpPxP0Z.net] 俺氏、VBAで去年社内最優秀賞30万 今年はちょびちょび改善で出して1万6500円 抜群のセンスだわさ
322 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 00:01:46.59 ID:0vwAlXoU.net] そう思うならさっさと転職して本職のITエンジニアになった方が稼げるよ
323 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 02:51:17.71 ID:g2KaZT8X.net] AI時代にここの質問スレは盛況なのは何故だ
324 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 03:40:33.29 ID:fiQBdOaz.net] AIがイマイチだから
325 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 07:59:03.99 ID:02hJ4H7c.net] AIに書かせることはできても、それの検証はどのみち必要だから
326 名前:デフォルトの名無しさん [2025/07/02(水) 08:13:15.57 ID:h5Fr+SaE.net] ガイジだけど質問ある? 死にたいガイジ…空気読めないガイジ…死にたいガイジ…
327 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 08:19:12.11 ID:q22wzhF/.net] AIはうそつきだし 適度に事実も混ぜてくるから一番やっかい
328 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 08:29:36.52 ID:8Lvzc6gd.net] やっかいだと思うなら使わなけりゃ良いだけなのに、 他人にもそうさせようとするのはなんで?
329 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 08:36:59.95 ID:QMHVqlVc.net] >>317 [はい][いいえ]を関西弁で、という話題にインスパイアされて ・一つのユーザーフォームを使い回しできる方法 ・セルの文字をボタンやラベルのキャプションにしてしまう方法 ・何ならしゃべらせる方法 関西弁に限らず、広島弁でも博多弁でもかごんま弁でもとーほぐ弁でもご随意に リンク先の[ダウンロード開始]ボタンで落とせる うかつに開くといきなりダイアログが出てきてしゃべりだすので音量注意 OSに入ってるナレーターは、Haruka、Ayumi、Sayaka、Ichiroと選べるはずが Wordと違ってExcelだとデフォルトのHaruka限定にされて変えられないとのことで そこがドツボだった まぁ幸い解決方法を指南してくれてるサイトに辿り着けた 喋ってる間は全リソース奪われて他の操作は一切出来なくなるのは、如何ともし難いのか
330 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 08:47:20.48 ID:q22wzhF/.net] 関西弁のyes/no それはええ/それはええ
331 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 08:49:18.32 ID:q22wzhF/.net] >>325 個人の中で完結ならいいけど、AIの嘘回答でドヤってくるのが迷惑
332 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 08:52:51.46 ID:8Lvzc6gd.net] >>328 嘘回答でドヤってきた奴に言えよ 十把一絡げに迷惑って言い散らかすのも充分迷惑だと気付かないのか?
333 名前:デフォルトの名無しさん [2025/07/02(水) 09:23:01.60 ID:IvKsZJU4.net] AIにも種類あるからなぁ 問い方にもよるし
334 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 09:28:17.31 ID:sOTx1Ysw.net] AIにテストとバグ取りまでやらせろ
335 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 11:09:29.63 ID:QMHVqlVc.net] >>327 ww
336 名前:デフォルトの名無しさん [2025/07/02(水) 12:42:29.90 ID:PqQB+KG0.net] AIに作らせて出来てなかったら投げかけるだけだろ こんなIT音痴な奴がVBA触ってる事にビビる大木
337 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 19:40:08.71 ID:WTqAcEsV.net] AI使って嘘の回答だったら質問変えたりコード直せばいいだけでしょ。 実際自分で調べるよりもめちゃくちゃ早いし便利に使えてるよ。 人間は平気で嘘つくのにAIに嘘つくなって求めるのはおかしいでしょ。
338 名前:デフォルトの名無しさん mailto:sage [2025/07/02(水) 20:01:38.68 ID:0vwAlXoU.net] VBAの場合は他のメジャーなプログラミング言語と比べて平均的な人間とAIの差が大きすぎるから、いきなりゼロショットで指示すると期待通りの結果が得られにくい もちろんAIの方が上だ AIに対して予め既存のコードをサンプルとして与えてあげてレベル感を知ってもらうと、いい感じに合わせてくれるよ
339 名前: mailto:sage [2025/07/03(木) 10:04:12.85 ID:q23h/8z8.net] 「嘘の回答だったら」 そもそも嘘かどうか知ってるなら聴く必要が無い 結局嘘じゃないことを調べるのにそれ以上に時間がかかる
340 名前:デフォルトの名無しさん mailto:sage [2025/07/03(木) 10:05:56.29 ID:q23h/8z8.net] 「人間は平気で嘘つくのに嘘つくなって求めるのはおかしい」 判らんのに平気で嘘回答するネラーも多い罠
341 名前:デフォルトの名無しさん [2025/07/03(木) 10:16:58.13 ID:gVoGF6e7.net] 政治家の財源がないは嘘
342 名前:デフォルトの名無しさん [2025/07/03(木) 10:28:29.92 ID:q23h/8z8.net] 學歴も嘘
343 名前:デフォルトの名無しさん mailto:sage [2025/07/03(木) 10:37:23.12 ID:cEJAYS/6.net] >>337 だから話半分に聞くだろ? AIの回答もそういう姿勢で、参考にはするけど盲信しないことが大事 全部鵜呑みにするならそいつももはやAIと変わらん
344 名前:デフォルトの名無しさん mailto:sage [2025/07/03(木) 10:44:24.00 ID:q23h/8z8.net] 340 どうみてもAI以下です
345 名前:デフォルトの名無しさん [2025/07/03(木) 20:41:52.66 ID:1CjDULGZ.net] こんなAIの本質をわかってないような奴らが作るVBAなんてたまらんよ
346 名前:デフォルトの名無しさん mailto:sage [2025/07/03(木) 20:45:28.43 ID:NNwfFfCt.net] >>342 AIのプロフェッショナル様だ! 我らに叡智を与えたまえ!
347 名前:デフォルトの名無しさん mailto:sage [2025/07/03(木) 21:14:39.37 ID:zL884xZP.net] どこの誰がなにをどう作ろうとも、その成果物に実際に触る訳でも無いし それに依って迷惑を被る訳でも無いだろ? ナニを上から目線で大口叩いてんだか 偶々そのソースを目にすることがあろうとも、評価してくれと頼まれた訳でも無いし VBA評議会の高位評議員という立場でも無いだろ 何がしたいん?
348 名前:デフォルトの名無しさん mailto:sage [2025/07/03(木) 22:51:34.02 ID:IBfGzwrB.net] >>336 AIに質問すればコードの1行ずつ丁寧に解説してくれるけどそれでも正しいかどうか調べるのに時間がかかるの?
349 名前:デフォルトの名無しさん mailto:sage [2025/07/03(木) 22:55:11.76 ID:x0A3mg3D.net] それをAIに1行ずつ丁寧に解説させて、その内容をさらにAIに解説させて.....以下略
350 名前:デフォルトの名無しさん [2025/07/03(木) 23:14:39.22 ID:1CjDULGZ.net] どんだけAIに質問投げるの下手なんだよマジでよー
351 名前:デフォルトの名無しさん mailto:sage [2025/07/03(木) 23:19:49.48 ID:IBfGzwrB.net] 人間と同じで相性なんですかね。 合わないものは合わないのかなぁ。
352 名前:デフォルトの名無しさん mailto:sage [2025/07/04(金) 08:07:10.89 ID:3EnEQ/Df.net] >>345 AIだろうと人だろうと成果物のテストするだろ 何のためにテストすると思ってるの?
353 名前:デフォルトの名無しさん [2025/07/04(金) 09:00:20.43 ID:fF3rQ1JL.net] AIに投げる質問を造るのがうまいと言うことは既にAIに聴く必要が無いんだわ
354 名前:デフォルトの名無しさん mailto:sage [2025/07/04(金) 13:21:56.31 ID:3EnEQ/Df.net] それは違う プロンプトエンジニアリング能力と他の能力は別物
355 名前:デフォルトの名無しさん mailto:sage [2025/07/04(金) 15:02:13.77 ID:pEhONqjq.net] だったらAIにでも話してろよ
356 名前:デフォルトの名無しさん [2025/07/04(金) 18:27:01.53 ID:0E9WgSh7.net] 一生懸命コードの基礎学んだのにセンスが無い奴は必死になるよなそりゃ
357 名前:デフォルトの名無しさん mailto:sage [2025/07/04(金) 19:13:39.58 ID:3EnEQ/Df.net] >>353 ?
358 名前:デフォルトの名無しさん mailto:sage [2025/07/04(金) 21:05:20.15 ID:rizrt2ys.net] >>349 言いたいことがよくわからないです。 おっしゃってるようにAIでコードを書いても人で書いてもテストはします。 ただAIで書いたコードのテストは人のコードより時間がかかるというお話ですか? 丁寧にAIに教えてもらえても? AIは関係ないと思うけど違うのかな。
359 名前:デフォルトの名無しさん mailto:sage [2025/07/04(金) 21:22:07.36 ID:JLFKZ1OE.net] >>355 どこの何をテストする必要があるのかを判断できる能力がある、 もしくはどこの何をテストする必要があるかを導くプロンプトを書ける、 もしくは必要な箇所なテストまで終えるプロンプトをかけるなら問題ない
360 名前:デフォルトの名無しさん mailto:sage [2025/07/05(土) 06:16:26.93 ID:+cv+JpUz.net] >>356 例えばCSVファイルを開くときのテストケースを教えてってAI聞いてみたけど答えてくれたよ。 VBAでCSVファイルを開く処理に対して、以下のようなテストケースを行うと、動作の信頼性やエラー対策が強化できます。 主なテストケース一覧 ・CSVファイルが存在し開ける 正常にファイルを開けることを確認 ・ファイルが存在しない場合 指定されたCSVが見つからない場合の対処 ・既に開かれているブックかどうかを確認 ・読み取り専用のCSVを開けるかどうか のテスト ・空のCSVファイル 内容が空でもエラーにならないか確認 ・文字コードに関わるデータが正しく読めるかのテスト ・CSVの列数・行数が極端に多い たくさんのデータがあるときの パフォーマンスの確認 ・ダブルクォートやカンマを含むセル "東京,品川"のようなセルが正しく
361 名前:扱われるか セル確認 ・ファイルロックされている場合のエラー回避の確認 [] [ここ壊れてます]
362 名前:デフォルトの名無しさん mailto:sage [2025/07/05(土) 06:51:38.76 ID:pq8ewG8r.net] >>357 それだとハルシネーションが含まれていた場合のことを考慮できてない
363 名前:デフォルトの名無しさん mailto:sage [2025/07/05(土) 08:48:09.96 ID:rEK7AeQH.net] >>357 余計な型変換に関する確認が必要 0312345678 → 312345678 1-2 → 1月2日
364 名前:デフォルトの名無しさん mailto:sage [2025/07/05(土) 08:57:41.98 ID:rEK7AeQH.net] 古いExcelでは先頭がIDだとSYLK扱いされる問題もあるな
365 名前:デフォルトの名無しさん [2025/07/05(土) 09:10:19.51 ID:+boHNEOG.net] >>357 csvファイルへのショートカットだった場合のチェックがない 開くと読み込みを一緒にしているのが気になった その前にもともと自力でできる作業なら初めからAIは使わないだろうし AIが示さない項目を無視していいかの判断ができるのかな 主な項目だからそれ以外もあるよとか後になって言うのはどうかと思うし
366 名前:デフォルトの名無しさん [2025/07/05(土) 09:13:22.18 ID:gPk7JHhb.net] ショートカット?これは馬鹿のふりしてるの?
367 名前:デフォルトの名無しさん [2025/07/05(土) 09:31:15.35 ID:vyFcCxL+.net] ショートカットでもcsv開くことがあるがcsvでないことはしっている
368 名前:デフォルトの名無しさん mailto:sage [2025/07/05(土) 09:35:20.09 ID:eCCJvae8.net] 既にAIの知能が人間を遥かに超えており、ボトルネックがバカな人間であることがよくわかるスレ
369 名前:デフォルトの名無しさん [2025/07/05(土) 09:46:16.30 ID:vyFcCxL+.net] うちの環境が普通でないなら無視してくれて構わんよ
370 名前:デフォルトの名無しさん [2025/07/05(土) 09:55:15.54 ID:Pf7qA/Ja.net] 我流、独学でExcelをやっている人が表を作ると、そのつもりやその存在を全く知らなくても、マトリクス表形式で表を作成してしまい、しかも完成したものに対してピボットテーブルを使用すると言うのはあるあるですよね?
371 名前:デフォルトの名無しさん mailto:sage [2025/07/05(土) 10:34:06.26 ID:+cv+JpUz.net] >>358 それを自分で確認したらダメなんです? >>359 >>360 >361 指摘ありがとうございます。 主な一覧だったのでテスト例はさらに出てきたかもしれないです。 開くと読み込むは問い合わせ方が悪かったかもです。 AIで出てこなかった項目が無視できるかどうかの判断は難しいですね。 明らかにテストしなきゃいけない項目がAIで抜けててAI丸投げで作った製品を納品されると怖いものがありますね。 ただAI丸投げの流れは止められないでしょうね。
372 名前:デフォルトの名無しさん [2025/07/05(土) 11:46:24.77 ID:dpOItoML.net] >>357 CSVカラムの途中で改行が入る場合
373 名前:デフォルトの名無しさん [2025/07/05(土) 15:15:49.95 ID:y/LWjdC1.net] 「俺が流れを止めるからお前は先に行け!」みたいなこと言ってみたいね
374 名前:デフォルトの名無しさん mailto:sage [2025/07/05(土) 15:50:51.02 ID:8jsOt+Pc.net] 「その作業が本当に必要かどうか、もう一度考え直す」
375 名前:デフォルトの名無しさん mailto:sage [2025/07/05(土) 19:53:47.88 ID:AqSnrZiN.net] >>370 それはVBA職人的にはタブーでしょ 人力でやってた仕事というのは、自動でやるなら本質的にはそもそもやる必要のないものが多い VBAはワークフローの改善に踏み込むことなくただ人力作業を単純に自動化するのが王道で、 仕事の意味を問うてしまうとVBAの仕事が減ることに繋がる
376 名前:デフォルトの名無しさん mailto:sage [2025/07/05(土) 22:49:12.14 ID:+cv+JpUz.net] >>368 指摘ありがとうございます。 もう回答を全部出してみたよ。 これ以外でテストケースがあるなら負けです。。。 VBAでCSVファイルを開いて読み込む際には、さまざまなケースに対応する必要があります。考えうるテストケースをカテゴリ別に網羅的に洗い出します。 基本ケース 1 正常なCSVファイルを開いて正しく読み込めるか 2 ファイルが存在しない場合のエラー処理 3 空のCSVファイルを読み込んだときの動作 4 CSVファイルのパスに全角文字・日本語が含まれる場合 データ構造・形式のバリエーション 5 カンマを含むデータがダブルクォートで囲まれている "東京都,千代田区"など 6 改行が含まれるデータ 7 ダブルクォートを含むデータ 8 区切り文字がセミコロンやタブなどの場合 9 複数の空白を含む行 10 各行のカラム数が不揃い 11 数値が先頭に0を含むデータ 12 日付形式のデータ 13 UTF-8 BOM付きファイル 14 Shift-JIS形式のファイル
377 名前:デフォルトの名無しさん mailto:sage [2025/07/05(土) 23:41:01.05 ID:8jsOt+Pc.net] >>372 ・パスが長すぎる場合 ・処理系による改行コードの違い ・ファイル全体でダブルクォートが奇数個(閉じられていない) ・巨大すぎる(項目のサイズ、項目の数、行数) ・ファイルの破損(バイナリデータ混入など) ・ファイルシステムの破損、不良セクタなど
378 名前:デフォルトの名無しさん mailto:sage [2025/07/06(日) 02:30:01.30 ID:N2XXWgcj.net] >>372 Workbooks.OpenでCSVを読むならテスト項目ほとんど要らなくね? テキストファイルとして読んで、列と行の分割処理をするなら、 CSVのフォーマット定義を先にやらないとテスト項目作れなくね? 読み込みファイルの指定方法も先に決める必要がなくね?
379 名前:デフォルトの名無しさん mailto:sage [2025/07/06(日) 06:55:32.42 ID:hfT56Vvk.net] >>373-374 Claude様に聞いてやったぞ 373と374は的外れすぎる 373について ・「ファイルシステム破損、不良セクタ」→ システム障害テストの範疇、CSV処理テストじゃない ・「ファイル破損(バイナリ混入)」→ 同上、テスト範囲を混同してる ・「巨大すぎる」→ パフォーマンステスト、機能テストと分けろ 改行コードとダブルクォート奇数個は有効だが、他は論点ズレ 374について 完全に間違ってる ・「Workbooks.Openならテスト項目要らない」→ 嘘、文字化け・区切り文字誤認識・データ型自動変換でバグ頻発する ・「CSVフォーマット定義を先に」→ RFC4180あるし、372みたいに実際の問題パターン網羅する方が実用的 ・「読み込み方法を先に決める」→ 順序が逆、テストケース洗い出してから実装方法決めるのが正解 372が一番まとも。実際の開発で遭遇する問題を的確に押さえてる
380 名前:デフォルトの名無しさん mailto:sage [2025/07/06(日) 08:00:56.53 ID:N2XXWgcj.net] >>375 外部仕様を先に決めるべきという意味だったんだけど、それも間違ってんの? CSV=RFC4180というのは一般的じゃない気が・・・ Workbooks.Openを使うなら、「CSVフォーマットはExcelのAPIのそれ」で決定だからAPI動作の二重チェックは不要かな〜と。
381 名前:デフォルトの名無しさん mailto:sage [2025/07/06(日) 12:05:21.27 ID:Jlu3MuzZ.net] セマフォは? 別プロセスが同じファイルを開いてるから今は処理すべきでない、とか
382 名前:372 mailto:sage [2025/07/06(日) 21:01:04.07 ID:jU0PBm+8.net] すみません。 昨日テストケースをすべて載せるつもりだったのですが書き込み制限で書けず途中で諦めました。 テストケースは37項目まであります。
383 名前:デフォルトの名無しさん mailto:sage [2025/07/07(月) 09:23:50.46 ID:GhKlbyJu.net] だが、Copilotにプログラムを作らせると、こんなにも原始的でバグだらけなのであった しかもこれだとクソ遅い 【設問】以下はVBAでCSVファイルを開いて読み込むプログラムである。バグを指摘せよ。 FilePath = "C:\Users\YourName\Documents\sample.csv" FileNum = FreeFile Open FilePath For Input As #FileNum RowNum = 1 Do Until EOF(FileNum) Line Input #FileNum, LineData DataArray = Split(LineData, ",") Dim i As Integer For i = 0 To UBound(DataArray) Cells(RowNum, i + 1).Value = DataArray(i) Next i RowNum = RowNum + 1 Loop Close #FileNum
384 名前:デフォルトの名無しさん mailto:sage [2025/07/07(月) 10:00:11.48 ID:xGHCrZSN.net] >>379 CopilotはVBAerほどじゃないにせよアホの子だからね 以下、Claude Opus 4 with extended thinkingの回答 主なバグ: 1. カンマを含む値(“Tokyo, Japan”等)が分割される 2. エラー処理なし。ファイルなかったら死ぬ 3. 変数宣言してない(Option Explicit使ってたらエラー) 4. UTF-8読めない。日本語文字化け 5. セル1個ずつ書き込みでクソ遅い 6. 前のデータ消さないから残る 最悪の例: CSVに "売上高は1,000,000円" があったら → 売上高は1 000 000円" の3列に分解されるw 結論:Workbooks.OpenTextかQueryTables使え
385 名前:デフォルトの名無しさん mailto:sage [2025/07/07(月) 10:31:44.26 ID:GhKlbyJu.net] >>380 変数宣言は行数の都合でカットしたのでCopilot君は悪くない