Excel VBA 質問スレ Part83 (611レス)
上下前次1-新
1: 06/08(日)11:06 ID:j4jIPbHU(1)調 AAS
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
Excel VBA 質問スレ Part82
2chスレ:tech
512: 07/31(木)21:06 ID:2YdreDTb(1)調 AAS
>>509
_人人人人人人人人人_
> また髪の話してる <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
_
γ ⌒ ヽ 彡 ⌒ ミ . 彡 = ミ
(´・ω・`) (´・ω・`) (´・ω・`)
ツルピカ ウスゲ バーコート
513(1): 07/31(木)21:31 ID:Sbsp3WvH(1)調 AAS
仕事の能力は年収じゃないって否定しても実際は年収だけどな
VBAなんてどう処理させるかじゃなくどう運用するかなんだよ
514: 07/31(木)22:18 ID:Dd41SAEI(1)調 AAS
処理の結果がすべて
ソースコードがきれいかどうかで評価する会社なんかない
515: 08/01(金)06:26 ID:w1WlIxif(1/2)調 AAS
なんですぐに人に統合失調症だのバカだの言う人がいるのでしょうね。
516: 08/01(金)07:38 ID:N/mTRICo(1)調 AAS
>>513
年収で判断できるのは仕事の能力ではなく労働の能力
517(1): 08/01(金)07:41 ID:bbNzKVYn(1)調 AAS
そんな言葉遊びで誤魔化してるから給料が安いのです
構文よりイメージを養いなさい
518: 08/01(金)07:56 ID:eVYJhFpu(1)調 AAS
すぐ話脱線するし、ろくでもないスレになったな
519: 08/01(金)08:14 ID:tPn9WPv7(1)調 AAS
>>517
算数と数学くらい違うものを言葉遊びとか、
よほど学がないんだな
520(4): 08/01(金)10:40 ID:R6RHAbIb(1/4)調 AAS
昨日まで使ってたのが急にエラー出るようになったけど何が原因か分からなかったのでアドバイス下さい
使用マクロ
Sub 表作成()
Dim ws1 As Worksheet
Set ws1 = ThisWorkbook.Worksheets("記")
Dim cmax1 As Long
cmax1=ws1.Range("A1048576").End(xlUp).Row
With ws1.Sort
.SortFields.Clear
.SortFields.Add Key:=ws1.Range("A2"), SortOn:=xlSortOnValues,
Order:=xlAscending, DataOption:=xlSortNormal
.SetRange ws1.Range("A3:L" & cmax1)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Columns("E:E").ColumnWidth = 0
Columns("I:I").ColumnWidth = 0
Columns("K:K").ColumnWidth = 0
ActiveWorkbook.SaveAs
Filename:="C:\Users\User\Documents\ファイルパス\請求書" & " " & Format(Date,
"yyyymmdd") & ".xlsx", FileFormat:=xlOpenXMLWorkbook
End Sub
エラー内容
ファイル'C:\Users\User\Documents\ファイルパス\請求書\7E1A4F10'にアクセスできません
521(1): 08/01(金)12:40 ID:cEVejwoq(1/2)調 AAS
>>520
ファイル名で「請求書」の次は「年月日」が来るはずなのに、エラーメッセージの中で16進数になってるのがあきらかにおかしい
本当にそのマクロを動かして、そのエラーが出たの?ちょっとありえないんだけど
522: 08/01(金)12:42 ID:uTmd43g9(1)調 AAS
英字のファイルってなんか中間ファイルかなんかだっけ
523(2): 08/01(金)16:09 ID:R6RHAbIb(2/4)調 AAS
>>521
再度試しましたが発生しました
エラーメッセージは正確には
ファイル'C:\Users\User\Documents\ファイルパス\請求書\PDF/7E1A4F10'にアクセスできません(7E1A4F10は毎回別の文字列になります)です
昨日からの変更点はSSDが壊れたため、D:/をC:/に変更しました
524: 08/01(金)17:15 ID:hiUF93yw(1/3)調 AAS
ぼけっ!と叫びたくなるな
525: 08/01(金)17:36 ID:eMcgYSYd(1/2)調 AAS
D:/じゃなくてD:\にしなくちゃな
526: 08/01(金)17:47 ID:cEVejwoq(2/2)調 AAS
>>523
そこの文字列、PDFの次は本当にスラッシュなの?
だとしたら、スラッシュはファイル名に使えない文字だからエラーが出て当然なんだけど
ごまかさずにエラーの出たソースコードちゃんと貼って
527: 08/01(金)18:38 ID:R6RHAbIb(3/4)調 AAS
すいません、/は¥です
コピペしたら変わってた
528: 08/01(金)18:39 ID:eMcgYSYd(2/2)調 AAS
流石に変わらんだろw
529: 08/01(金)18:41 ID:AVNTPHz8(1)調 AAS
ファイルシステムが壊れたかハードウェア障害なんじゃね
フォーマットしてOSから再インストールだな
530: 08/01(金)18:50 ID:hiUF93yw(2/3)調 AAS
エラーメッセージの通りだろ
┐(´д`)┌ヤレヤレ
531: 08/01(金)19:10 ID:igw8+VNg(1)調 AAS
初心者だから見落としている事に気づいていない ってことなんだろうな
532: 08/01(金)20:49 ID:iGmjJYY4(1/2)調 AAS
あれ?また低年収がこんな内容でドヤ顔の上から目線じゃん
¥と/の関係性もわからない時点で使用者がトラブルの打ち上げしても僕の処理は綺麗ですと言い張ってそう
533: 08/01(金)20:52 ID:iGmjJYY4(2/2)調 AAS
初心者が~って年収500万もなさそうな底辺が嬉々としててもね…
作ったVBAを不慣れな人が使うことも想定できないまさに底辺
534(1): 08/01(金)21:13 ID:49ut/ffG(1)調 AAS
>>523
ActiveWorkbook.SaveAs
Filename:="C:\Users\User\Documents\ファイルパス\請求書" & " " & Format(Date,
"yyyymmdd") & ".xlsx", FileFormat:=xlOpenXMLWorkbook
請求書フォルダ配下のPDFフォルダを指定してないけどそんなエラーが出る?
保存先が変わってない?
535(1): 08/01(金)21:14 ID:w1WlIxif(2/2)調 AAS
>>520
シートはコードネームで指定した方がいいと思う
テーブルを使いましょう
536: 08/01(金)21:38 ID:ddFT1Hp8(1)調 AAS
"PDF" が消えている
537: 08/01(金)22:10 ID:X5JOiH9e(1)調 AAS
ユーザが違うオチとか
538(1): 08/01(金)22:28 ID:R6RHAbIb(4/4)調 AAS
>>534
D:→C:~Documents¥に変えたくらいしか心当たりないんです
>>535
ごめんなさい
539: 08/01(金)23:27 ID:hiUF93yw(3/3)調 AAS
>>538
だからエラーメッセージの通りだろ
540: 08/01(金)23:59 ID:i/B3OzBA(1)調 AAS
保存先のフォルダーがないんじゃないの?
541: 08/02(土)00:24 ID:yYRGbhMw(1)調 AAS
例によって馬鹿が質問し有象無象の馬鹿が湧き出る流れ
542: 08/02(土)00:56 ID:pROVV37J(1/4)調 AAS
>>520
そもそもなんでファイルフォーマットを指定しているのに
& “.xlsx”
を書いているのですか?
それとactiveworkbook.saveas じゃなくて
thisworkbook.saveasね
543(1): 08/02(土)07:48 ID:G/qnQzxD(1/2)調 AAS
SSDだったDドライブに\Users\User\Documents\が有ったとは思えないんだが
バックアップ先だったとかでフルアドレス入れてたかも知らん(無駄に)
で、それまではそれで動作してたけど、Dが壊れたとかで単純にDをCに変えただけだとしたら
アクセス権限が与えられていない可能性もある
普通にエクスプローラー開いて、それぞれのフォルダを段階追ってひとつずつ開いてみて
問題無ければ最後はそのExcelファイル開いてエラー発生しないかどうか(マクロ使わずに手動で開くという意味)
何か別にアドインとかが組み込まれててそれが原因だったってのもあるけど、それは次のステップでの検証
ブラウザ次第とかで入力時は¥にしてたのに書き込んだらスラッシュに変わってしまってるなんてのは
よくあること(↑の¥は敢えて全角で書いてみた)
544(1): 08/02(土)08:17 ID:CP7PbFCC(1/3)調 AAS
分かってないならスクショなりをそのまま貼れば良いのに
545(1): 08/02(土)09:12 ID:6UqvySRN(1)調 AAS
ファイル名に空白はいってるのか
ファイル名囲まんとだめなやつじゃね
546(2): 08/02(土)10:00 ID:5rJvWPSX(1)調 AAS
>>520
Windowsの更新などで、たまにVBAが影響を受けて、マクロが動かなくなるときがある。
特にワークシート名などのオブジェクトをスクリプト内で日本語(2バイト文字)で指定すると、
うまく行かなくなったりした。
まず気になるのは、シート名の"記"を"Notes"あたりにしてやってみるとか?
ファイル名での日本語混じりフルパス指定は、多分影響はないとは思うけど、
「アクセスできません」
の原因がそれだったら、そのパスをワークシートのどこかに名前定義で貼り付けて、
その名前をVBA内でRange()参照するとか
知らんけど。
547(1): 08/02(土)10:23 ID:pROVV37J(2/4)調 AAS
>>546
ThisWorkbookならコードネームの方が安定すると思います
あと個人でしか使用しないマクロ、ブックならいっそシートのインデックス番号で指定した方が安定するかもしれませんね
548(2): 08/02(土)10:51 ID:SCo3ZM4N(1)調 AAS
パスを公開用に書き換えるぐらいなら前半の関係ない所を消せよ
もし新規ブックで保存の1行だけにしてエラーが起きるならそれを貼れ
ちなみにマクロの記録で保存文の正解はExcelが書いてくれる
AIより確実だ
549(1): 08/02(土)10:55 ID:TvS+m01z(1)調 AAS
AIをほとんど使ったことないやつ
「AIより確実だ」ワロタ
底辺職で知らずに適当に言ってるのおもろすぎ
550: 08/02(土)12:50 ID:CP7PbFCC(2/3)調 AAS
>>548
マクロの記録はじゃ記録できない操作もあるけどね
551(1): 08/02(土)13:38 ID:JsttepqD(1)調 AAS
>>549
AI盲信するバカなやつw
552(4): 08/02(土)15:33 ID:XyRtrdUE(1/7)調 AAS
質問だが、
Excelでウェブページの表のデータ(テキスト)を取得したいが、
どうすればええの?
553(1): 08/02(土)16:04 ID:qxFnCwfY(1)調 AAS
>>552
今時はAIを使ったスクレイピングのSaaSが色々あるから、そういうのを使えば一瞬でできる
554: 08/02(土)16:22 ID:UAE3kLxf(1/2)調 AAS
>>552
ブラウザからExcelなら普通にコピペできるぞ
表を選択、コピーしてワークシートに貼り付けるだけ
色やフォントが邪魔ならセルを右クリして「貼り付けのオプション」から「貼り付け先の書式に合わせる」を選ぶだけ
555: 08/02(土)16:36 ID:G/qnQzxD(2/2)調 AAS
新しめのサイトだと、その表内選択すら拒絶してる(ドラッグしても選択状態に成らない)のも
稀によくある
「ケッ!おまえのデータなんか要らねえよっ!」と、捨て台詞吐いて渋々次のサイトを漁りに行く
556(1): 08/02(土)16:58 ID:pROVV37J(3/4)調 AAS
>>552
Power Automate Desktopでなんとかできるかもしれない
取得したい表をブラウザで開いた状態にする
ブラウザ操作ですでに開いているブラウザにインスタンスする
webデータ抽出 > webページからデータを抽出する
ブラウザに画面を戻すと右クリックで設定できる様になる
成功したらあとはエクセルに貼り付けるのを考えてください
557(1): 08/02(土)17:12 ID:XyRtrdUE(2/7)調 AAS
>>553
いや、自動でやりたいって話。
たくさんあるので。
558(1): 08/02(土)17:13 ID:XyRtrdUE(3/7)調 AAS
>>556
そのMicrosoft Powerなんちゃらってやつ、気になってるわ
でも、Excelに手で貼るんじゃなく、VBAでプログラム的に計算処理して、
セルに表示する感じ。
559: 08/02(土)17:15 ID:tx0odXgn(1/2)調 AAS
表をテキストやHTMLだかで取得できるならpowershellでやったっていい
560: 08/02(土)18:07 ID:EhvNl/Bg(1)調 AAS
取得したいウエブページがたくさんあるのなら、スクレイピングを使って完全自動化するけど
数が少ないのならウエブのテキストコピーだけは手動でもありなんじゃね
561(1): 08/02(土)18:12 ID:pROVV37J(4/4)調 AAS
>>558
私も狙い通りや完璧にほど遠いので教えられる事は非常に少ないですが
iframeがある場合は必ず指定して
bodyやhtmlも特定できる様に指定しておいた方がいいかもしれないです
全く同じ要素の物が複数ある場合はordinalで0から始まるインデックスで指定
特にテーブルや表ならこれかもしれない
テーブルのタグはtdやtrとか
562: 08/02(土)18:22 ID:XyRtrdUE(4/7)調 AAS
>>561
実は、
今までは、iMacrosってやつと、JavaScriptとかを使ってやってたけど、
iMacrosが開発終了で動かなくなった
あんまり無名のソフトは使わないほうがいいですね…
563(1): 08/02(土)18:33 ID:AVMu827h(1/2)調 AAS
>>552
Webスクレイピングはこの辺を使ってやってる
CreateObject("MSXML2.ServerXMLHTTP")
CreateObject("WinHttp.WinHttpRequest.5.1")
564: 08/02(土)18:34 ID:HpTF1ew1(1)調 AAS
>>557
もちろん自動でできるよ
565(1): 08/02(土)18:36 ID:moyeEsyU(1)調 AAS
>>543-548
ありがとう、PC会社で土日弄れないから週明けシート名変更から順に試してみます
566: 08/02(土)18:37 ID:tx0odXgn(2/2)調 AAS
Manifest V3問題かな
昔のブラウザを使えばいい
567: 08/02(土)18:45 ID:lDYz6lmB(1)調 AAS
>>565
二度と来るな
568: 08/02(土)18:46 ID:XyRtrdUE(5/7)調 AAS
>>563
ほう
それ使って、なんとかできそうだね
569(1): 08/02(土)18:50 ID:VT4vRkUR(1)調 AAS
powerqueryもwebページからでーた取得できるよ
570(1): 08/02(土)19:11 ID:XyRtrdUE(6/7)調 AAS
>>569
そう、それ
Microsoft Powe Queryってやつ
それでできそうだね
571(1): 08/02(土)19:12 ID:XyRtrdUE(7/7)調 AAS
>>570
あとはSeleniumBasicだか?
Copilotが教えてくれたわ
572(1): 08/02(土)20:04 ID:CP7PbFCC(3/3)調 AAS
>>551
コードは人が検証できるんだから盲信もクソもないだろ
あってるかどうか追ってから使うだけ
573(1): 08/02(土)20:33 ID:UAE3kLxf(2/2)調 AAS
>>571
SeleniumBasicは業務での使用だと導入のハードルが高いから、まず最初は使わない方向で検討した方がいい
JavascriptとかCSSとか使って動的に生成されたページだとWinHttpやXMLHttpじゃ取得できないから、その時になってから考えればいい
574(3): 08/02(土)23:03 ID:TpfKdlSr(1)調 AAS
VBA関係ないんだけど便乗質問
テキストじゃなくて画像になってる表を取り込む方法ない?
フリーのOCRサービスをいくつか試してみたけど、認識率が低すぎてまったく使い物にならなかった
たとえば、こんなやつ
https://i.imgur.com/6Y1wHtu.png
575: 08/02(土)23:20 ID:6k2UexVh(1)調 AAS
>>574
死ね
576: 08/02(土)23:21 ID:AVMu827h(2/2)調 AAS
>>574
ChatGPTはパーフェクトに認識してくれた
577: 08/03(日)00:20 ID:voGz0LGc(1)調 AAS
画像のテキスト化はChatGPTにその画像を貼って「csvに変換」て命令するだけ
578: 08/03(日)01:46 ID:tG7R5evI(1/2)調 AAS
>>572
日本語読めないバカなやつw
579(3): 08/03(日)07:22 ID:u21A2qJf(1)調 AAS
将棋の9x9の盤面を
Excelの9x9のセルに取り込む方法はありませんか?
4-5年前の段階ではそういうフリーのOCRアプリを試してみたけど、認識率が低すぎてまったく使い物にならなかった。
たとえば、こんなやつ
https://kifulog.shogi.or.jp/.service/smartphone/thumb/photos/uncategorized/2025/07/30/250730_082.gif
580(1): 08/03(日)08:12 ID:jStM3M9q(1)調 AAS
>>579
スレタイ読んで出直せ
>>574みたいなクズに答えると次から次へとこういうクズが出てくる
581(1): 08/03(日)08:19 ID:SguiDfgn(1)調 AAS
>>579
そんなことをする必要がない
棋譜DBで探せ
582(1): 08/03(日)10:08 ID:VGZenSDR(1/2)調 AAS
>>580
アホ
人生においてどんなことでもなんらかのことは関係している
本件ならなおさら
583: 08/03(日)10:09 ID:VGZenSDR(2/2)調 AAS
>>581
ハゲ
わたしのしたいのは詰将棋本からデータを取りだし自分だけのアプリを作りそれで利用することだ
584: 08/03(日)10:48 ID:tQ6H2O71(1)調 AAS
ム板は変なのがいついたな
585: 08/03(日)10:49 ID:46rmLnF/(1)調 AAS
4〜5年も出来ない出来ないって愚痴ってる時間で手動で取り込んだら終わってたのにな
586(1): 08/03(日)13:02 ID:f/3y9QG3(1)調 AAS
>>582
ならもっも関係の深いスレ探してそっちで書け
587(1): 08/03(日)13:12 ID:q1hsOkHS(1/2)調 AAS
>>573
なんとか、
VBAからSeleniumで、chromeでページを開くまでできたわ
組み込みに苦戦した
あとは、表のデータを取得できるか…?
588: 08/03(日)13:31 ID:yGXudbOO(1)調 AAS
>>587
ページのソースが取得出来たら、そのままワークシートにコピペするだけで自動的にhtmlタグを解釈して各セルにデータを入れてくれる
589(1): 08/03(日)14:35 ID:BVoc9QF/(1)調 AAS
>>586
ここのスレが関係あるじゃないか
Excelはセルだし将棋盤の升目もセルだ
590(1): 08/03(日)15:10 ID:LgAcf5U1(1/2)調 AAS
>>589
関係の有無じゃなく関連の強さの話をしている
591(1): 08/03(日)15:30 ID:hueQzkGD(1)調 AAS
>>590
ここのスレが関連あるじゃないか糞
Excelはセルだし将棋盤の升目もセルだ
592(1): 08/03(日)15:56 ID:LgAcf5U1(2/2)調 AAS
>>591
なら将棋スレで訊け
593(1): 08/03(日)16:49 ID:ggxTCWx/(1)調 AAS
将棋は文系なんだろうか
sfenとか局面の棋譜データはあるのに盤面とのやり取りは>>>579みたいな画像をいまだに使ってるっぽい
その辺ごにょごにょすれば莫大なお金になりそうだがはて
594: 08/03(日)17:18 ID:YZtGqrQ/(1/2)調 AAS
>>592
だが断ります
>>593
そりゃ99.99%の一般人は579みたいな画像しか理解できないからでしょ
ところでごにょごにょとはなんですか?
595: 08/03(日)17:20 ID:YZtGqrQ/(2/2)調 AAS
わたしがたくらんでる莫大なお金は
詰め将棋をAI的に生成させて
「詰将棋・問題数無限問!アプリ」を適正価格で大量に売り出すことだ
596: 08/03(日)17:40 ID:2B5I/jfB(1)調 AAS
詰将棋を自動生成するだけのプログラムならたしかもうあるんじゃなかったっけ。
手順の芸術性、棋力向上への有用性、解き味の良さなど、何らかの特徴でフィルタリングできる技術があるなら売れるかもしれないが、そうでないとあまりニーズがないんじゃない?
597(1): 08/03(日)19:55 ID:V/GjesGC(1/5)調 AAS
.AutoFilterで指定の日付に一致で挑戦していますがdate型で一致を試みても一致しないのですね
DateSerial(指定の日付)ではダメで、
Format(DateSerial(指定の日付), "セル.Text") でないとダメなんですね
こうなるとセルの表示形式をvbaで指定して表示形式を完全一致させるしかなさそうですね。
598(3): 08/03(日)20:05 ID:uky3ZHQc(1)調 AAS
やっと会社のOfficeが365版になったけどすごいね、追加された関数
配列系の関数がかなり強化されたから普通にワークシート関数でpandasっぽい操作が色々できて快適
599: 08/03(日)20:10 ID:V/GjesGC(2/5)調 AAS
>>598
パンダ🐼ズってなんですか?🤔
Power Queryでよくないでしょうか?
600(1): 08/03(日)20:25 ID:N8dBwnie(1)調 AAS
>>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
601: 08/03(日)20:34 ID:q1hsOkHS(2/2)調 AAS
>>598
てか、
普通にVBAでPython使えればいいのに…
602: 08/03(日)20:46 ID:V/GjesGC(3/5)調 AAS
>>600
そうなんです
指定日に一致は.Text(画面上の表示)に合わせないといけないのに、
以上以下、
より大きいより小さいはできるんです
だからどうしてもdate型でやろうと思うなら、
DateSerial(2025, 8, 3) "=<" “>=”DateSerial(2025, 8, 3)
みたいにCriteria1とCriteria2を駆使しなければならない
だったらセルの表示形式も一時的でいいから一意に固定してそれでformat(date型,”指定した書式”)でCriteria1だけにフィルターした方が確実だと思うのです
603(1): 08/03(日)21:11 ID:tG7R5evI(2/2)調 AAS
>>598
ACCESS使えるならお勧め
まあ何をDBでやると都合いいのか、からだが
604(2): 08/03(日)22:36 ID:V/GjesGC(4/5)調 AAS
フィルターをするのもわソートをする事も一苦労な上に不正確というのがVBAの致命的な欠陥であり、ExcelがExcelたる由縁ではないでしょうか
605: 08/03(日)22:59 ID:FAt4VsX5(1/2)調 AAS
>>604
Execlは表計算ソフトだからソートという機能は重要ではなかった
フィルタも仕様を大きく変えたので、VBAがついてこれないだけ。
606: 08/03(日)23:00 ID:FAt4VsX5(2/2)調 AAS
>>604
Excelシートをテーブルに見立ててSQLで操作できるんだよ?
607: 08/03(日)23:30 ID:V/GjesGC(5/5)調 AAS
VPageBreaks(1).Dragoff xlToRight,1
608: 08/04(月)06:52 ID:se5vJG1P(1)調 AAS
テーブルのAutoFilterの絞り込みを解除するにはws.ShowAllDataではなくてtbl.AutoFilter.ShowAllDataだったのね
609(1): 08/04(月)07:58 ID:s0XyzxW3(1/2)調 AAS
>>603
Accessは次の2027でディスコン、後継はExcelのモダン機能使えって話だからな
今からAccess使い始めるメリットは僅少
610(1): 08/04(月)12:16 ID:ID6mjO5y(1)調 AAS
>>609
情弱w
611: 08/04(月)13:02 ID:s0XyzxW3(2/2)調 AAS
>>610
?
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.035s