Excel VBA 質問スレ Part83

■ このスレッドは過去ログ倉庫に格納されています
2025/06/08(日) 11:06:42.20ID:j4jIPbHU
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK

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

※前スレ
Excel VBA 質問スレ Part82
https://mevius.5ch.net/test/read.cgi/tech/1737657075/1
556デフォルトの名無しさん
垢版 |
2025/08/02(土) 16:58:35.92ID:pROVV37J
>>552
Power Automate Desktopでなんとかできるかもしれない
取得したい表をブラウザで開いた状態にする
ブラウザ操作ですでに開いているブラウザにインスタンスする
webデータ抽出 > webページからデータを抽出する
ブラウザに画面を戻すと右クリックで設定できる様になる
成功したらあとはエクセルに貼り付けるのを考えてください
2025/08/02(土) 17:12:25.56ID:XyRtrdUE
>>553
いや、自動でやりたいって話。
たくさんあるので。
2025/08/02(土) 17:13:49.69ID:XyRtrdUE
>>556
そのMicrosoft Powerなんちゃらってやつ、気になってるわ
でも、Excelに手で貼るんじゃなく、VBAでプログラム的に計算処理して、
セルに表示する感じ。
2025/08/02(土) 17:15:25.84ID:tx0odXgn
表をテキストやHTMLだかで取得できるならpowershellでやったっていい
560デフォルトの名無しさん
垢版 |
2025/08/02(土) 18:07:55.80ID:EhvNl/Bg
取得したいウエブページがたくさんあるのなら、スクレイピングを使って完全自動化するけど
数が少ないのならウエブのテキストコピーだけは手動でもありなんじゃね
561デフォルトの名無しさん
垢版 |
2025/08/02(土) 18:12:45.94ID:pROVV37J
>>558
私も狙い通りや完璧にほど遠いので教えられる事は非常に少ないですが
iframeがある場合は必ず指定して
bodyやhtmlも特定できる様に指定しておいた方がいいかもしれないです
全く同じ要素の物が複数ある場合はordinalで0から始まるインデックスで指定
特にテーブルや表ならこれかもしれない
テーブルのタグはtdやtrとか
2025/08/02(土) 18:22:15.39ID:XyRtrdUE
>>561
実は、
今までは、iMacrosってやつと、JavaScriptとかを使ってやってたけど、
iMacrosが開発終了で動かなくなった

あんまり無名のソフトは使わないほうがいいですね…
2025/08/02(土) 18:33:30.70ID:AVMu827h
>>552
Webスクレイピングはこの辺を使ってやってる
CreateObject("MSXML2.ServerXMLHTTP")
CreateObject("WinHttp.WinHttpRequest.5.1")
2025/08/02(土) 18:34:59.68ID:HpTF1ew1
>>557
もちろん自動でできるよ
565デフォルトの名無しさん
垢版 |
2025/08/02(土) 18:36:59.11ID:moyeEsyU
>>543-548
ありがとう、PC会社で土日弄れないから週明けシート名変更から順に試してみます
2025/08/02(土) 18:37:41.95ID:tx0odXgn
Manifest V3問題かな
昔のブラウザを使えばいい
567デフォルトの名無しさん
垢版 |
2025/08/02(土) 18:45:33.16ID:lDYz6lmB
>>565
二度と来るな
2025/08/02(土) 18:46:38.24ID:XyRtrdUE
>>563
ほう

それ使って、なんとかできそうだね
569デフォルトの名無しさん
垢版 |
2025/08/02(土) 18:50:26.55ID:VT4vRkUR
powerqueryもwebページからでーた取得できるよ
2025/08/02(土) 19:11:58.74ID:XyRtrdUE
>>569
そう、それ
Microsoft Powe Queryってやつ
それでできそうだね
2025/08/02(土) 19:12:47.04ID:XyRtrdUE
>>570
あとはSeleniumBasicだか?
Copilotが教えてくれたわ
2025/08/02(土) 20:04:32.06ID:CP7PbFCC
>>551
コードは人が検証できるんだから盲信もクソもないだろ
あってるかどうか追ってから使うだけ
2025/08/02(土) 20:33:46.91ID:UAE3kLxf
>>571
SeleniumBasicは業務での使用だと導入のハードルが高いから、まず最初は使わない方向で検討した方がいい
JavascriptとかCSSとか使って動的に生成されたページだとWinHttpやXMLHttpじゃ取得できないから、その時になってから考えればいい
2025/08/02(土) 23:03:47.38ID:TpfKdlSr
VBA関係ないんだけど便乗質問
テキストじゃなくて画像になってる表を取り込む方法ない?
フリーのOCRサービスをいくつか試してみたけど、認識率が低すぎてまったく使い物にならなかった

たとえば、こんなやつ
https://i.imgur.com/6Y1wHtu.png
575デフォルトの名無しさん
垢版 |
2025/08/02(土) 23:20:31.57ID:6k2UexVh
>>574
死ね
2025/08/02(土) 23:21:26.24ID:AVMu827h
>>574
ChatGPTはパーフェクトに認識してくれた
2025/08/03(日) 00:20:48.61ID:voGz0LGc
画像のテキスト化はChatGPTにその画像を貼って「csvに変換」て命令するだけ
578デフォルトの名無しさん
垢版 |
2025/08/03(日) 01:46:04.43ID:tG7R5evI
>>572
日本語読めないバカなやつw
579デフォルトの名無しさん
垢版 |
2025/08/03(日) 07:22:39.43ID:u21A2qJf
将棋の9x9の盤面を
Excelの9x9のセルに取り込む方法はありませんか?
4-5年前の段階ではそういうフリーのOCRアプリを試してみたけど、認識率が低すぎてまったく使い物にならなかった。

たとえば、こんなやつ
https://kifulog.shogi.or.jp/.service/smartphone/thumb/photos/uncategorized/2025/07/30/250730_082.gif
580デフォルトの名無しさん
垢版 |
2025/08/03(日) 08:12:05.36ID:jStM3M9q
>>579
スレタイ読んで出直せ
>>574みたいなクズに答えると次から次へとこういうクズが出てくる
2025/08/03(日) 08:19:57.47ID:SguiDfgn
>>579
そんなことをする必要がない
棋譜DBで探せ
582デフォルトの名無しさん
垢版 |
2025/08/03(日) 10:08:34.77ID:VGZenSDR
>>580
アホ
人生においてどんなことでもなんらかのことは関係している
本件ならなおさら
583デフォルトの名無しさん
垢版 |
2025/08/03(日) 10:09:27.93ID:VGZenSDR
>>581
ハゲ
わたしのしたいのは詰将棋本からデータを取りだし自分だけのアプリを作りそれで利用することだ
584デフォルトの名無しさん
垢版 |
2025/08/03(日) 10:48:12.93ID:tQ6H2O71
ム板は変なのがいついたな
585デフォルトの名無しさん
垢版 |
2025/08/03(日) 10:49:30.72ID:46rmLnF/
4〜5年も出来ない出来ないって愚痴ってる時間で手動で取り込んだら終わってたのにな
2025/08/03(日) 13:02:27.38ID:f/3y9QG3
>>582
ならもっも関係の深いスレ探してそっちで書け
2025/08/03(日) 13:12:07.92ID:q1hsOkHS
>>573
なんとか、
VBAからSeleniumで、chromeでページを開くまでできたわ
組み込みに苦戦した

あとは、表のデータを取得できるか…?
2025/08/03(日) 13:31:22.64ID:yGXudbOO
>>587
ページのソースが取得出来たら、そのままワークシートにコピペするだけで自動的にhtmlタグを解釈して各セルにデータを入れてくれる
589デフォルトの名無しさん
垢版 |
2025/08/03(日) 14:35:22.29ID:BVoc9QF/
>>586
ここのスレが関係あるじゃないか
Excelはセルだし将棋盤の升目もセルだ
2025/08/03(日) 15:10:58.77ID:LgAcf5U1
>>589
関係の有無じゃなく関連の強さの話をしている
591デフォルトの名無しさん
垢版 |
2025/08/03(日) 15:30:28.08ID:hueQzkGD
>>590
ここのスレが関連あるじゃないか糞
Excelはセルだし将棋盤の升目もセルだ
2025/08/03(日) 15:56:24.14ID:LgAcf5U1
>>591
なら将棋スレで訊け
2025/08/03(日) 16:49:55.24ID:ggxTCWx/
将棋は文系なんだろうか
sfenとか局面の棋譜データはあるのに盤面とのやり取りは>>>579みたいな画像をいまだに使ってるっぽい
その辺ごにょごにょすれば莫大なお金になりそうだがはて
594デフォルトの名無しさん
垢版 |
2025/08/03(日) 17:18:18.76ID:YZtGqrQ/
>>592
だが断ります
>>593
そりゃ99.99%の一般人は579みたいな画像しか理解できないからでしょ
ところでごにょごにょとはなんですか?
595デフォルトの名無しさん
垢版 |
2025/08/03(日) 17:20:11.60ID:YZtGqrQ/
わたしがたくらんでる莫大なお金は
詰め将棋をAI的に生成させて
「詰将棋・問題数無限問!アプリ」を適正価格で大量に売り出すことだ
2025/08/03(日) 17:40:57.05ID:2B5I/jfB
詰将棋を自動生成するだけのプログラムならたしかもうあるんじゃなかったっけ。
手順の芸術性、棋力向上への有用性、解き味の良さなど、何らかの特徴でフィルタリングできる技術があるなら売れるかもしれないが、そうでないとあまりニーズがないんじゃない?
597デフォルトの名無しさん
垢版 |
2025/08/03(日) 19:55:58.55ID:V/GjesGC
.AutoFilterで指定の日付に一致で挑戦していますがdate型で一致を試みても一致しないのですね
DateSerial(指定の日付)ではダメで、
Format(DateSerial(指定の日付), "セル.Text") でないとダメなんですね
こうなるとセルの表示形式をvbaで指定して表示形式を完全一致させるしかなさそうですね。
2025/08/03(日) 20:05:09.92ID:uky3ZHQc
やっと会社のOfficeが365版になったけどすごいね、追加された関数
配列系の関数がかなり強化されたから普通にワークシート関数でpandasっぽい操作が色々できて快適
599デフォルトの名無しさん
垢版 |
2025/08/03(日) 20:10:32.84ID:V/GjesGC
>>598
パンダ🐼ズってなんですか?🤔
Power Queryでよくないでしょうか?
2025/08/03(日) 20:25:55.74ID:N8dBwnie
>>597
できた
Range("A1:A32").AutoFilter field:=1, Criteria1:=">=" & DateSerial(2025, 8, 3), Criteria2:="<=" & DateSerial(2025, 8, 3)
※A2〜A32:2025/8/1〜2025/8/31
2025/08/03(日) 20:34:53.53ID:q1hsOkHS
>>598
てか、
普通にVBAでPython使えればいいのに…
602デフォルトの名無しさん
垢版 |
2025/08/03(日) 20:46:44.86ID:V/GjesGC
>>600
そうなんです
指定日に一致は.Text(画面上の表示)に合わせないといけないのに、
以上以下、
より大きいより小さいはできるんです
だからどうしてもdate型でやろうと思うなら、
DateSerial(2025, 8, 3) "=<" “>=”DateSerial(2025, 8, 3)
みたいにCriteria1とCriteria2を駆使しなければならない
だったらセルの表示形式も一時的でいいから一意に固定してそれでformat(date型,”指定した書式”)でCriteria1だけにフィルターした方が確実だと思うのです
603デフォルトの名無しさん
垢版 |
2025/08/03(日) 21:11:15.05ID:tG7R5evI
>>598
ACCESS使えるならお勧め
まあ何をDBでやると都合いいのか、からだが
604デフォルトの名無しさん
垢版 |
2025/08/03(日) 22:36:46.93ID:V/GjesGC
フィルターをするのもわソートをする事も一苦労な上に不正確というのがVBAの致命的な欠陥であり、ExcelがExcelたる由縁ではないでしょうか
605デフォルトの名無しさん
垢版 |
2025/08/03(日) 22:59:57.32ID:FAt4VsX5
>>604
Execlは表計算ソフトだからソートという機能は重要ではなかった

フィルタも仕様を大きく変えたので、VBAがついてこれないだけ。
606デフォルトの名無しさん
垢版 |
2025/08/03(日) 23:00:50.98ID:FAt4VsX5
>>604
Excelシートをテーブルに見立ててSQLで操作できるんだよ?
607デフォルトの名無しさん
垢版 |
2025/08/03(日) 23:30:27.42ID:V/GjesGC
VPageBreaks(1).Dragoff xlToRight,1
608デフォルトの名無しさん
垢版 |
2025/08/04(月) 06:52:45.16ID:se5vJG1P
テーブルのAutoFilterの絞り込みを解除するにはws.ShowAllDataではなくてtbl.AutoFilter.ShowAllDataだったのね
2025/08/04(月) 07:58:56.26ID:s0XyzxW3
>>603
Accessは次の2027でディスコン、後継はExcelのモダン機能使えって話だからな
今からAccess使い始めるメリットは僅少
610デフォルトの名無しさん
垢版 |
2025/08/04(月) 12:16:02.82ID:ID6mjO5y
>>609
情弱w
2025/08/04(月) 13:02:17.40ID:s0XyzxW3
>>610
612デフォルトの名無しさん
垢版 |
2025/08/06(水) 12:21:48.06ID:ALrU+FVg
そして時は動き出す
2025/08/06(水) 19:01:16.26ID:x4zMZ0Dh
と思ったがやっぱり止める
614デフォルトの名無しさん
垢版 |
2025/08/06(水) 19:03:13.54ID:Cijl6HjH
普通にExcelを使用するならまず使わないAddress関数も、VBAならセルの指定やセルの範囲指定に使えるとやっと気づいて感動を覚えた。
615デフォルトの名無しさん
垢版 |
2025/08/06(水) 19:28:37.58ID:YepNzGI4
馬鹿自慢ですか?
2025/08/06(水) 19:51:44.79ID:mVrVWGPw
>>587
なんとか、Seleniumでテーブルのデータ取れた
うれしい
617デフォルトの名無しさん
垢版 |
2025/08/06(水) 19:57:00.96ID:Cijl6HjH
>>616
Power Automate Desctop使おう泣
618デフォルトの名無しさん
垢版 |
2025/08/06(水) 20:54:00.65ID:Cijl6HjH
VBAのRangeと関数のINDIRECTはほぼ似た様なものだったんだ
2025/08/06(水) 20:55:15.43ID:tEmBbRM5
>>614
ADDRESS関数はワークシートで使うならINDIRECT関数と組み合わせると便利だよ
620デフォルトの名無しさん
垢版 |
2025/08/06(水) 21:22:56.67ID:Cijl6HjH
ワークシートのセルに=D1:F10を入力します。
=を消します
あ〜ら不思議
Range()に使える文字列になります震え声
知らなかった
2025/08/06(水) 22:10:53.86ID:gxWTXL5D
>>619
以前は揮発性関数を使っていると、クローズする時
変更してなくても「変更を保存しますか?」と聞かれてウザかったけど、最近はそうならなくなったね
622デフォルトの名無しさん
垢版 |
2025/08/06(水) 23:12:12.97ID:ykWow3x9
>>621
あれ糞うざいよな
もう地球に隕石落ちて滅びれば?って思うほどイラつくよ
623デフォルトの名無しさん
垢版 |
2025/08/06(水) 23:32:51.54ID:GR+FQsr7
>>621
よくそんなことに気づきましたね…
そんなことばかりで、最近はもう、ちょっとした違和感は無視する習慣がついてしまって
いけないことですが
624デフォルトの名無しさん
垢版 |
2025/08/06(水) 23:45:43.54ID:Cijl6HjH
Range(“A1”,”B10”).Selectでも良かったんや
知らなかった
Range(Cells,Cells)で指定すると言えばそうだけど
625デフォルトの名無しさん
垢版 |
2025/08/07(木) 07:28:20.30ID:NU4k5NRA
>>624
馬鹿であることを告白して楽しいの?
2025/08/07(木) 10:21:30.31ID:70AFeDyz
馬鹿なことすら書けない人が、誰よりもいちばんみじめ
みじめに目鼻口を描いたら>>625の似顔絵のできあがり
2025/08/07(木) 10:48:34.98ID:F33eI4p6
>>626
んなこたーない
馬鹿なことでも有意義な発言はあるけど、
ID:Cijl6HjHは馬鹿な上に日記でしかなくここに書くべき内容ではない
スレタイすら読めない馬鹿は惨めというよりもはや可哀想
628デフォルトの名無しさん
垢版 |
2025/08/07(木) 10:51:06.38ID:O9lf3thN
でも年収400万とかなんだろ?
誰々が馬鹿とか以前に底辺はね…
2025/08/07(木) 12:50:03.07ID:T5vmth6D
年収1億だろうが1,000億だろうが、バカはバカ
アカンよ?
二宮尊徳の通俗道徳洗脳にまんまと嵌まって、「金持ち=エラい」とか思い込むのは
2025/08/07(木) 14:41:21.36ID:70AFeDyz
じぶんのカキコは書き込むべき内容なん?
べき内容ってどんな基準なん? だれが決めてるん? 勝手な思い込みだろ?
みじめな上に憐れで恥ずべき人間なのはどっち
2025/08/07(木) 16:05:30.00ID:F33eI4p6
>>630
スレタイもテンプレも読めない人間ですって自己紹介する人間は当然ローカルルールも読めないもんな
日本語を意味でなく文字で理解するとこういうバカになるんだな
632デフォルトの名無しさん
垢版 |
2025/08/07(木) 17:41:57.70ID:3W14qCxv
>>630
馬鹿は消えろ
2025/08/08(金) 16:23:54.91ID:Uv90EY2Z
でも、先輩のクレバーな回答とか作品とか、このスレで一度もお目に掛かったこと無いですよね?
それはどうしてなんですか?
634デフォルトの名無しさん
垢版 |
2025/08/08(金) 18:29:28.89ID:2mOO3f8y
そりゃセンスも無い年収も低い参考書で覚えただけの奴がドヤってたからだよ
635デフォルトの名無しさん
垢版 |
2025/08/08(金) 18:40:58.74ID:adZh48Rg
>>633
お前の馬鹿な日記よりましだろ
636デフォルトの名無しさん
垢版 |
2025/08/08(金) 19:39:10.06ID:WJNqBNDH
目くそ鼻くそ
2025/08/08(金) 20:25:56.31ID:LzRW7Y1G
アホな質問にこたえるとなるとどうしてもアホな回答になるから仕方ない
638デフォルトの名無しさん
垢版 |
2025/08/08(金) 20:54:05.55ID:xPBNC7DI
アホな質問はアホが質問するだけに内容も浅く簡単な内容 だから似たような有象無象のアホがこれなら俺も答えられるとアホな回答が続く
悪貨は良貨を駆逐する
2025/08/08(金) 21:55:45.55ID:dCfaDUr7
せめて年収制限しようぜ
600万以下は質が下がるから質問に答えないで
640デフォルトの名無しさん
垢版 |
2025/08/09(土) 00:11:04.59ID:gjs9J3GA
600万以上のスペシャル回答見せてみろ
641デフォルトの名無しさん
垢版 |
2025/08/09(土) 07:45:35.58ID:jRFVkFyh
760万の俺に任せろ
2025/08/09(土) 16:29:44.93ID:B3Fv7AUR
なら、質問回答形式じゃ無くていいから、じぶんの作品のうちベスト5から
どれか見繕ってサンプル見せてくださいよ 一部でいいから
最近半年間とかでじぶんでも上出来!と絶賛した処理でもいいっスよ
記憶も薄れたけど、あの時あんな処理して難を逃れたとかいう経験談でもいいし
 どれひとつ書けない人達が他人を冒とくしてるだけでしょ?
2025/08/09(土) 16:40:10.00ID:B3Fv7AUR
クマを殺処分した自治体とか、学歴偽装で市長当選させた役所とかに
まったく自分には何の関係も無いのに迷惑イタ電しまくる層とおんなしレベルでしょう?
IQが低いのか産まれ持ったDNAが似通ってるのか育った環境が劣悪なのか
今現在の生活レベルがどん底なのか知りませんけど、いったい何に突き動かされてそんな事ばかりするやら
もはや迷惑行為する事こそが生きる術みたいに成り果ててますけど、いいんですか?
まぁ、いいんでしょうね 本人にとっては そうでなきゃ、こんな迷惑行為し続けるのにも飽きるはずですし
2025/08/09(土) 16:53:28.10ID:FYBArRLP
常に直近50件の最新データをX-MRグラフに出力させて異常判定があったら任意の信号を出すシステム

三次元測定機で全項目をフォーマットに反映させて寸法の合否判定を自動で出すシステム

毎日配信される受注データから指示書に自動振り分けさせて情報をマスターと比較して客先を変換
数量は同一のものはまとめるシステム

ここらは賞取ったから記憶にあるし最近まで追加依頼がきてたものもある
出世する前から構文がどうだとか気にしたことはないかな
645デフォルトの名無しさん
垢版 |
2025/08/09(土) 17:19:54.04ID:CQopIGSQ
いつもの人だぞ
2025/08/10(日) 16:16:25.84ID:5N8MTK4H
ここで長文書く人はだいたいあたおかさん
647デフォルトの名無しさん
垢版 |
2025/08/10(日) 16:25:32.82ID:ne+O2SWW
VBAも単発処理しか作ったことないもんなお前らって…
648デフォルトの名無しさん
垢版 |
2025/08/10(日) 17:04:13.27ID:swuUdv2c
>>647
「単発処理」って何?
649デフォルトの名無しさん
垢版 |
2025/08/10(日) 18:01:46.64ID:/nDvelQa
LET関数はPower Queryの無名関数の様なものだったのか
IFSで条件が沢山ある時に、LETでそれぞれの条件に名前をつけたら可読性、保守性が上がるかなと思ったけど、特にそんな事も無かったな。
LET関数の最後にIFSの関数が入って、それぞれの名前を入れて、TRUEの時の文字列を入力する
650デフォルトの名無しさん
垢版 |
2025/08/10(日) 18:30:04.41ID:3rv715uo
LET関数はPowerQueryのLET構文に相当する
PowerQueryの無名関数に相当するのはLAMBDA関数
2025/08/10(日) 18:37:10.76ID:46DfGBoc
質問だが、
2次元配列arr2dがあったとして、
それ1次元配列として新たにarr1dに取り出せる?

forループ使わない方法で
2025/08/10(日) 18:40:21.77ID:qdcwbCWk
>>651
Doループを使え
653デフォルトの名無しさん
垢版 |
2025/08/10(日) 18:48:13.44ID:swuUdv2c
Excel VBAで2次元配列かどうのとか、学校の宿題なのかな?
2025/08/10(日) 19:00:02.44ID:aYND9n09
実践で活かす力の無い人から見たら何見ても学校の宿題に見えるかもね
気にしなくていいよ
655デフォルトの名無しさん
垢版 |
2025/08/10(日) 19:00:37.04ID:/nDvelQa
>>651
index関数とか
Transposeとindex関数
2次配列を崩して全て一次配列に直結したいならループを使うしかないのでは
■ このスレッドは過去ログ倉庫に格納されています