![見出し画像](https://assets.st-note.com/production/uploads/images/73828865/rectangle_large_type_2_c4d84c69643c14d785137f2fcd2b1d66.jpeg?width=1200)
【Excel VBA】PDFをExcelに変換した後の問題
YouTubeでも紹介しています。是非、ご覧ください。
PDFを、Excelに変換するということはよくあると思います。
私は、実務ではそんなに使いません。
しかし、最近、必要に迫られて、既存の知識を利用して、整形してみました。
PDFをExcelに変換した後の問題
こんにちは。伊川(@naonaoke)です。
今回は、PDFをExcelに変換したのちの、問題です。
さすがに、VBAで、PDFをExcelに取り込むということはしません。
それは、PDFのページ数が多いからです。
書籍なので、VBAで実行しても、途中で、停止すると思います。
しかも、VBAで、PDFをExcelに取り込めるか、どうかもわかりません。
Pythonを利用すればできそうな気もします。
PDFを、Excelに変換するソフトは、結構ありますよね。
何を利用するかという問題はありますが、私は、Wondershare PDFelementを利用しています。
無料でも利用できますが、スタンプが入ります。
永久ライセンスを購入しましたが、使い方に関しては、難しくありません。
しかし、Excelに取り込んだけど、その後は、どのように整形するのかという問題です。
このブログはこんな人にお勧め
PDFのデータを、Excelに取り込みしたい人
PDFのデータを、Excel等で、有効活用したい人
VBAを勉強している人
このブログを、読み終わるころには・・・・
世の中は、ペーパーレス化の時代です。
紙を利用する前に、データを有効活用しましよう。
結局、しおりを利用するより、ハイパーリンクを利用する方がはるかに便利だということがわかります。
VBAで、整形する
VBAや、プログラム全般に言えることですが、便利だと実感がわかないと、勉強しません。
なんでもそうですが、面白いという気持ちが大切です。
今回の題材は、司法書士試験の過去問です。
予備校から、配布されるPDFのテキストを、もらってもどうしようもありません。
なので、これを、使いやすいように、アレンジします。
特に難しいVBAは利用しません。
今まで、動画、ブログで紹介した内容で、アレンジします。
VBAで整形する 作業手順 その1 PDFをExcel化した状態
![](https://assets.st-note.com/img/1646733890245-8nlWm8T2Ka.png?width=1200)
こんな状態になっています。
セルの中に、丸ごと、問題が記載されています。
また、答えは、次の、シートに記載されています。
![](https://assets.st-note.com/img/1646733903328-qCoHfCnkoS.png?width=1200)
こんな感じです。
いつも、思うのですが、問題を左、解答を、右にすれば、効率よい勉強ができると思うのは、私だけでしょうか?
過去問は、解くものではなく、読むものだと思います。
![](https://assets.st-note.com/img/1646733943849-B6Dew8dE3B.png)
しかも、シート数は696です。
人海戦術では、やってられません。
VBAで整形する 作業手順 その2 問題文の横に回答を転記する
![](https://assets.st-note.com/img/1646733961853-VQWOczaBjD.png?width=1200)
とりあえず、こんな形にしたいと思いました。
問題は、Table 7にあります。
解答は、Table 8のRange(“A2”)にあります。
解答を、Table 7のRange(“H5”)に転記をしたいと思いました。
このような場合には、ループを利用します。
For~Next構文です。
![](https://assets.st-note.com/img/1646733972149-ET7l3GxUpK.png?width=1200)
上記のコードで、アッという間ではありませんが、1分ほどで転記が完了しました。
特に、難しくはないと思います。
3年前くらいに、数値型の変数には、数字を足すことができるんだと、感動したことが、記憶に新しいです。
VBAで整形する 作業手順 その3 問題文と、解答を整形する
![](https://assets.st-note.com/img/1646733983191-FuObNsAlyr.png?width=1200)
1つのセルに、問題文も、解答があってもどうしようもできません。
このまま利用するには、拷問に等しいです。
だから、問題と解答を、セルに転記します。
1問ずつ、コピーして、貼るなんてことはません。
![](https://assets.st-note.com/img/1646734001483-81iCTRIr3L.png?width=1200)
Split関数を利用します。
つまり、vbLfで、区切られています。
特定の文字で区切られているなら、Split関数の出番です。
![](https://assets.st-note.com/img/1646734011144-DeJxf1ylZr.png?width=1200)
このように、問題文と、解答が、セル毎に格納できました。
読みやすいですよね。
VBAで整形 作業手順 その4 なぜ整形したのか?
それは、もちろん、ACCESSに取り込むためです。
1問ずつ、ACCESSに入力することで、その問題をデータベース化できるからです。
一旦、ACCESSに格納してしまえば、後は、いかようにも、自由自在に、データを扱えるからです。
ここがポイント
会社で、利用するVBAは、もっと適当に書いています。
会社で利用するコードは、使い捨てが多いです。
とりあえず、やりたいことが実現できれば問題ないからです。
このように、サクサクっと、カンタンなコードが記載できるようになると、あなたのVBAのスキルは、中級なのかなと思います。
まとめ
今回は、競馬以外で、どのように利用するのかを紹介しました。
最近は、競馬も、データが築盛してきたので、データを利用して、予想するのが楽しいですね。
試験問題も、データ化することで、分析が可能になり、弱点を知ることができます。
今回も最後まで読んでいただきありがとうございました。
サンプルファイル
私のホームページでも販売しています。このようなファイルは、全部で、300ファイル前後ありますが、総ダウンロード数は、10,000件を、超えました。10,000件超えてから、面倒なので、カウントしていないです。
勉強したい方、会社の実務で利用したい方にお勧めです。
はっきり言いますが、ネットで調べる時間を考えたら、購入したほうが、時間の節約になります。
まして、ネットのコードは、作動するとは限りません。
料金は、200円です。
よろしくお願いします。
ここから先は
¥ 200
よろしければサポートをお願いします。いただいたお金に関しては、書籍の購入に充て、より良い情報を皆様に提供します。