絞り込み条件を変更する
検索条件を絞り込む
有料ブログの投稿方法はこちら

すべてのカテゴリ

272 件中 1 - 60 件表示
カバー画像

【VBA/selenium】seleniumをchrome拡張機能付きで起動する

みなさんこんにちは。 今回は、seleniumをchrome拡張機能付きで起動する方法について 手順を解説していきたいと思います。この記事がおすすめの人この記事は以下の人に特におすすめです。 ・GoogleChromeの拡張機能について調べている人  ・seleniumでWebスクレイピングツールを開発している人  ・Webスクレイピング:中級者~上級者  ・VBAプログラミング:中級者~上級者はじめにChromeユーザーなら拡張機能の一つや二つご利用中かと思います。 ところがWebスクレイピングを実施する際、 seleniumでブラウザを起動すると拡張機能が無い状態で起動します。 GoogleChromeの設定が必要になりますが、 おおよそ10分程度で完了します。手順今回はGoogle翻訳の拡張機能を追加する方法を例として解説します。 まずは、Google翻訳の拡張機能をGoogleChromeに追加してください。 ※Google翻訳の拡張機能を追加する方法については割愛します。全体の大きな流れまずはじめに全体の大きな流れとしては以下のようになります。  1.GoogleChromeの拡張機能を開く  2.デベロッパーモードにする  3.IDを確認する  4.Google拡張機能のファイル場所を確認する  5.拡張機能をパッケージ化する  6.crxファイルが生成される  7.VBAのコードでcrxファイルを指定する 以下に手順の詳細について解説します。1.GoogleChromeの拡張機能を開く1.GoogleChromeを起動します。 2.右上の三点リーダー ⇒ 拡張機能
0
カバー画像

Excelマクロはフォルダを作成するができる

ExcelマクロはExcel操作だけでなく、ライブラリを利用して色々なことができます。 例えば、フォルダを新規作成するといったことも可能です。↓のプログラムをExcelのVBE(マクロを書くエディター)に書いて実行すると、フォルダを新規作成することができます。 (FileSystemObjectというライブラリを利用しています)Sub CreateNewFolder()     Dim fso As Object     Dim folderPath As String     Dim newFolderName As String     Dim newFolderPath As String     ' FileSystemObject を作成     Set fso = CreateObject("Scripting.FileSystemObject")     ' マクロブックのパスを取得     folderPath = ThisWorkbook.Path     ' 新しいフォルダ名を指定     newFolderName = "NewFolder"     ' 新しいフォルダのパスを作成     newFolderPath = folderPath & "\" & newFolderName     ' 新しいフォルダを作成     fso.CreateFolder newFolderPath     ' メッセージボックスで作成完了を表示     MsgBox "新しいフォルダを作成しました"     ' FileSystemObject を解
0
カバー画像

Excelアドイン登録方法

Excelアドインをご依頼いただくことがありますが、登録に苦戦する方が多いため、こちらで手順を記載します。1.ココナラのトークルームなどから○○○.xlamファイルをダウンロードします。2.○○○.xlamファイルを右クリックして、プロパティをクリックします。3.許可するをクリックして、OKをクリックします。4.[C:\Users\【ユーザー名】\AppData\Roaming\Microsoft\AddIns]に○○○.xlamファイルを配置します。5.Excelを起動し、開発タブ→Excelアドインをクリック6.○○○ファイルにチェックが入っていることを確認する。(入っていなければチェックをする。例では、Sortcuttoolsを選択しています。)これで、登録されると思います。
0
カバー画像

Accessの短所をすり抜ける方法

Accessで介護支援記録システムを作った理由-8前回のブログでは、養護老人ホームという環境下で、マイクロソフトAccessの特徴を生かし、介護支援記録の管理システム開発にとりかかるまでの経緯を書きました。 今回はそのAccessの特徴を語ることにします。 Accessはもともとスタンドアロ―ンのPCソフトとして開発され、個人の能力に合わせ自由に使われることを想定しています。 データベースを簡単かつ自動的に操作するアプリの作成機能は初心者にとってわかりやすく、プログラミング言語を学んだことがなくても、マクロ機能でそこそこのアプリを開発できてしまいます。 解説本も多く、またネットにも情報が溢れているので、勉強するのに苦労はしません。 私がAccessのVBA(Visual Basic for Applications)で介護支援記録用アプリを開発しようと思ったのも、趣味的にVB(Visual Basic)やJavaScript等でプログラミングした経験があることに加えて、VBAの情報を得やすいと考えたからでした。一方、Accessの問題点や短所としてよく挙げられるのは、まず、ネットワークへの対応力が弱く、データベースを複数人で同時操作する場合に制限があることです。大人数で同一のデータベースにアクセスするとファイルが破損しやすいと言われています。またファイルサイズも2GBまでのため、大量のデータを保管し管理することができない点もデメリットとして良く指摘されているようです。 何より、アプリを開発した職員が異動や退職でいなくなってしまうと、業務内容の変更等でアプリを改変するのが難しくな
0
カバー画像

エクセルのグラフを地図で表示するテクニック

Excelには、日本地図や東北地方、関東地方、関西地方などデータを地図で塗り分けする機能が標準搭載されているのをご存知でしょうか? しかし、東京23区のみなど、限られた地区を塗り分けする機能はありません。 そこで、この動画では、①簡単にできる日本地図のやり方と、②頑張ればできる東京23区の塗り分けを紹介しています動画を掲載しておきます。
0
カバー画像

WindowsとMacでのExcelの機能の違いについて(VBA編)

Excel2016からライセンス条項の変更により、Office365と同様に1ライセンスでWindowsとMac両方にインストールできるようになりました。表計算としての機能では両OSで高い互換性を持つExcelですが、一部操作が違ったりします。特にVBA関連では大きな違いがまだ存在しています。ココナラではExcel関連の出品や公開案件が多く見られる中で「Excel for Macは対応不可です。」という文面を見たこともある筈です。ここではその違いをVBAをメインに述べていきたいと思います。Excel for MacでのVBAの違いは昔から有名でしたが、ここ最近はかなり近い操作感になりつつあります。ただし、結構な違いは残ったままです。1. VBEで日本語を入力するとキャレットがずれる2. WindowsObject系は使用不可3. 代替のAppleScript・JXAが意図しない挙動をする4. ファイル操作は明示的な権限譲渡が必要5. 日本語のあるパスでは不具合が発生する6. SaveAsコードではUTF-8形式のCSVファイルは出力できない7. ユーザーフォームは作成・編集不可8. OS判定が複雑になってしまう9. 画像関連ではPNGファイルが使用可能1. VBEで日本語を入力するとキャレットがずれるVBAがはじめて実装されたExcel2011 for Macからある問題でした。日本語入力(正確にはマルチバイト文字)には癖がある中でキャレットがずれるというオマケが付いてきます。このオマケはVBEのフォント設定をMSGothicのような等幅フォントを設定することで解消できます。2
0
カバー画像

Accessでアプリを開発するって難しい?

Accessで介護支援記録システムを作った理由-5 自宅用のAccessまで手に入れたあと、その後は仕事でも使うことはなく、時は過ぎていきました。しかし、西暦2000年が明けた頃、思いがけず仕事で使う機会がやってきます。仕事上の成り行きで、あるNPO団体の手伝いをすることとなり、その収支関係をデータベースを使って管理するものを作る必要に迫られたのです。 実はこの時の経験が、20年後に介護支援記録管理システムを開発することに至る大きな動機付けとなります。 なお、これからは、データベースシステムを分けて、データベース本体(データ)とは別に、マクロやVBAなどプログラムコードを使い、操作を簡便化、自動化したインターフェイス部分をアプリと呼ぶことにします。 作るべきシステムの機能としては、単式簿記による入金と出金の管理、これに伴う確認や決裁書類の作成のみでした。但し、これを操作するのはパソコンを習いたての中年女性、まだExcelも使えない方でした。もちろんAccessを自力で操作するなんてとんでもありません。もしもExcelでこれを作った場合、不慣れな操作でデータを消してしまったり、最悪、ワークシート上のテーブルや関数を壊してしまい、使えなくしてしまう恐れは十分にありました。そこで、データの入力はキーボードから行い、アプリの操作はボタンをクリックするだけで簡単にできるものをAccessで開発することにしました。 その当時の私は、テーブルとそれらを組み合わせてクエリを作るくらいの知識しかなかったため、解説本でフォームの作り方やマクロを急いで猛勉強します。難しいVBAを使うのは完成まで時間
0
カバー画像

Excelの関数をデータベースで使う

Accessで介護支援記録管理システムを作った理由-2前回のブログでは、一つのExcelブックに対し、ブック共有機能を使って複数のPCから編集を行おうとすると、データベースに対しては不向きであるという話をしました。 ブック共有機能は、設定が面倒など他にもデメリットがあり、別の使い道に関してもあまり実用的ではないように思います。 しかし、敢えてブック共有などせずとも、読み取り専用モードで開けば閲覧はできるので、入力者が少ない施設なら、Excelで介護支援記録管理システムを作ってみるのも一考です。 以前のブログで、Excelのデータベース機能を使って、必要なデータを入力したテーブルの中から該当するデータを抜き出し、個別の書類を作成するシステムについて触れました。 具体的には、一つのワークシート上に入力用のテーブルを作って、VLOOKUPやINDEX、MATCHなどの関数を使い、別のワークシート上に抽出結果などを表示させるやり方です。 ちなみに、VBAを使って抽出を行う方法もありますが、その方法を使わなくても、私は関数計算で十分と考えています。 その理由は、将来、改良等の必要性が生じたとき、VBAを変えることは後任者にとってハードルが高くなると考えたからです。 また、マクロ記録を使ってVBAを生成させる方法もありますが、後で改良が必要となったとき、コードが複雑かつ属人的な操作の流れが分かりにくくなりやすいため、こちらは最初からからNGにしていました。 私がExcelで作成した簡単なデータベースの例ですが、勤務していた施設の入居者から預かった現金に関し、その管理を日々行っていくものがあ
0
カバー画像

【便利技】Excelから外部アプリケーションを呼び出す手法について

昨今はロジックを思いついたら簡単にプログラムが作れる時代になりました。かくいう私もExcelでできないことをPythonやJavaにお願いすることが増えています。ちょっと応用的なことや高速処理を求めるとVBAには限界があるように感じます。そこで今回はWindows限定Excelから外部のアプリケーションを呼び出す方法を紹介します。1.参照設定から「Windows Script Host Object Model」にチェックを入れる2.コードを作成する3.マクロを実行するWshShellオブジェクトのRun関数は結構便利で、アプリケーションが終了するまで処理を待機したり、戻り値でリターンコードを返してくれたりします。これでエクセル外のツールもエクセルから呼び出すことができますね。自動化が捗ります。もちろんRunメソッドに渡すパラメータコマンドにさらにパラメータを追加したり、「>」を使ってコマンドライン実行結果をファイルに落とし込んだりもできるので、そこからエクセルにデータを連携することも可能です。外部ツールとの連携を含めたデータのやりとりを含む自動化も、私なら表計算ソフトならではのデバッグのしやすさもあって安価にサービス提供できます。ご相談ください。今ならお安く提供できますよ。
0
カバー画像

ソースコードはかく語りき

最近の言い方で言うと、・君のソースコードがささやいている・ソースコードは君に語りかけるとかでしょうか。画像は、Image Creator 提供 DALL·E 3です。ExcelVBAやGAS(Google Apps Script)の作成支援、修正などを行っていますと、これまで使っていて、動かなくなったものや、今はもう使われなくなったコードを目にすることがよくあります。今でこそ機能していませんが、かつては動いていた。もしくは動かそうと努力した後が垣間見えます。・ああ、これは令和対応をしたんだな・祝日対応しようとして諦めたんだな・あと一歩なんだけどなかつてこのファイルに触れたことのある人が、努力し、研鑽し、切磋琢磨した後が痕跡として残っています。多分消しても動作に影響はないんだけど、いつか使うかもしれないから残しておくか。そういう気持ちで今に至るコードたちです。こういうところから新しいアイディアが生まれたり勉強になることも少なくないので、私も無駄だからとバッサリ切らずに残しておくことが多いです。そして、本当にまれにですが、なぜか変更すると思うとおりに動作しなくなる箇所があったりします。どう考えても使われていないように見えて、実際には使われているケース。神社やお寺、お地蔵さまや鳥居みたいですね。最近はAIもコードを作成しますので、それも残すともうごちゃごちゃして本当に読める人でないとメンテナンスもできない状態に。ソースコードをAIに渡してきれいにしてくれる時代も来ますかね。
0
カバー画像

Excelのプルダウンが非効率の要因になっていませんか?

見にくいプルダウンをやめると見やすくなり選択間違いも減ります! 一覧から選択入力する場合、安易に「プルダウン」を使っていませんか? また、プルダウンを作成したものの、こんな困ったに心当たりはありませんか?  (1)文字が小さくて見にくい  (2)幅の制約で全ての文字が見えない  (3)リスト数が多くプルダウンのスクロールバー操作が煩わしい  (4)リスト数が増える度に「データの入力規制」の範囲設定をやり直し  一見、効率的に見える「プルダウン」ですが、上記のとおり結局”見にくい”や”使いにくい”と言った不満に繋がる機能です。  これでは効率化にはなりません。  そこで、「プルダウン」をやめ、入力セルをクリックすると別シートにあるリストが表示され、その一覧からクリックするだけで入力セルに転記するロジックに修正して納品いたします。  これのメリットは、  (1)文字の大きさは利用者が拡大・縮小することで自由自在になる  (2)幅の制約が無く常に全ての文字が見える  (3)リスト数が多くてもマウスのホイールボタンでスクロールできる  (4)リスト数を増やしても設定するものがない  (5)文字や行の色、フォントを変えることで注目度を上げられる あなたのExcelを効率化しましょう! ご不明な点等ございましたらお気軽にお問い合わせください。
0
カバー画像

『Excel VBAで業務を効率化するとはどういうことか?』について解説します。

Excel VBAは、Excelのプログラミング言語であり、繰り返し行うべき業務を自動化するための便利なツールです。Excelを使用した業務において、大量のデータの処理や複雑な計算など、時間を要する作業が多い場合、Excel VBAを活用することで効率的に業務を遂行することができます。Excel VBAを使用することで、以下のような効果が期待できます。1. 時間の節約手動で行うべき操作や計算を自動化することで作業時間を大幅に短縮でき膨大なデータに対する処理や、複雑な計算を素早く行うことが可能です。2. 正確性の向上手作業ではミスの可能性がある処理や計算をExcel VBAによって確実に行うことができ人の手による作業ミスを最小限に抑えることができ、正確な結果を得ることができます。3. 作業の一貫性Excel VBAを使用することで一貫性のあるデータ処理や計算を実現でき、自動化された業務は、設定したルールに従って一貫して処理されるため、結果の品質が向上します。4.柔軟性の向上Excel VBAはマクロを作成でき、自分の業務に合わせた処理を実装することができます。特定の条件や要件に合わせたカスタマイズが可能であり、作業フローをより効果的に改善することができます。結論:VBAとはExcel VBAは、業務の効率化を図るために非常に有用なツールです。時間の節約や正確性の向上、一貫性の確保、柔軟性の拡大といった利点を享受しながら、効率的な業務遂行を目指しましょう。VBAや関数などExcelの機能を最大限に駆使した帳票や集計表など初心者の方でも見やすさと使いやすさ、操作し易さに重点を置いて作
0
カバー画像

VBAエキスパート資格を取得しました。

 こんにちは、Excel業務改善コンサルタントの和人です。  今日は、私が最近取得したExcel VBAの資格についてお話ししたいと思います。  Excel VBAとは、Excelの機能を拡張するためのプログラミング言語のことで、これを使えば繰り返しや複雑な処理を自動化したり、ユーザー定義の関数やマクロを作成したり、オリジナルのアプリケーションやツールを開発したりできます。 Excel業務改善コンサルタントとして、Excel VBAは必須のスキルだと考えています。  なぜなら、Excel VBAを使えば、クライアントの業務効率や品質を大幅に向上させることができるからです。 例えば、以下のようなケースでは、Excel VBAが役立ちます。 - 複数のシートやファイルからデータを集計・分析する場合 - フォーマットや条件に応じてデータを整形・加工する場合 - データの入力や出力を簡単にするためのフォームやボタンを作る場合 - データの検証やエラーチェックを行う場合 - データの可視化やレポーティングを行う場合  これらの作業は、手作業で行うと時間がかかったり、ミスが発生したりする可能性が高いです。  しかし、Excel VBAで自動化すれば、作業時間を短縮したり、精度を高めたりすることができます。  また、Excel VBAで作成したアプリケーションやツールは、クライアントに引き渡すことで、継続的に価値を提供することができます。 そこで、私はExcel VBAの初級資格である基本的なExcel VBAの知識や技能を問うベーシックを受験することにしました。 試験時間は90分で、出題範
0
カバー画像

(298日目)アップデイト。

助手「アナタ最近また新しいこと始めたんだって?」ワイ「はい。プログラミングです。」助手「それ前からやってなかったっけ?」ワイ「前はVBAと言うやつです。」助手「何それ?」ワイ「Excelで動かすプログラミング言語ですね。」助手「今回は何なの?」ワイ「VBです。」助手「ヴィクトリーバカ?」ワイ「ビジュアル・ベーシックと言う言語です。バカではないです。」助手「アナタの顔を見てたらつい。」ワイ「どう言う意味でしょうか。」助手「勝ち組のバカ。」ワイ「嬉しくない。」助手「で、VBAと何が違うのよ?」ワイ「分かりやすく言えば、Excelだけじゃなくパソコン全体で動かすプログラム言語ってところでしょうか。」助手「へぇ。なんで始めようと思ったの?」ワイ「なりゆきです。」助手「それってアナタの感想ですよね?」ワイ「それはひろゆき。」助手「本当になりゆきが理由なの?」ワイ「実際のところはExcelだけでは限界を感じたので。」助手「どう言うところが?」ワイ「作業の自動化とか便利ですけど他の人と共有できなかったり、同時に作業できないので。」助手「VBだとそれができるってことね。」ワイ「パソコン上で動作する業務アプリを作ることができますからね。」助手「便利そうじゃない。」ワイ「また私が楽になります。」助手「アナタ楽できると思うと一所懸命になるよね。」ワイ「楽するために努力という投資をしているのだから良いのではないでしょうか。」助手「確かに。」ワイ「仕事に文句言う前に自分をアップデートして環境を変化させる方が楽しいですし。」助手「アナタって思考変わんないよね。」ワイ「仕事の愚痴をこぼす人に会うといつも思い
0
カバー画像

インボイス制度対応

こんにちは。23年8月現在、毎日酷暑かつゲリラ豪雨に見舞われたりしていますが、皆さまご安全でしょうか?さて、ココナラがインボイス制度対応とのことで、BUTTONCARNIVALの対応についてアナウンスさせていただきます。BUTTONCARNIVALは、個人事業で活動しておりますが「適格請求書発行事業者」として登録しております。ココナラシステムがインボイス対応しましたら、順次手続きいたしますので、インボイス制度対応が不安な方は、ご安心の上、お気軽にお問い合わせください。サービス項目が無い場合でも、ご相談内容によっては、お引き受け可能な場合があります。ぜひお困りごとございましたら、お声がけいただければと思います。引き続きBUTTONCARNIVALを宜しくお願いします♪
0
カバー画像

【Access】Accessを推す理由

Microsoft Accessはデータベース管理システム。難しいことはひとつもありません。「顧客データ」「売上データ」などをどんどん取り込んでいく。必要に応じて抽出し、利用する。言ってしまえばこれだけです。お仕事上の重要なデータを管理するならAccessが一番です。いえ、Excelで間に合っています。わざわざそういうのを導入しなくても問題ありませんので。Excelのよさは、なんといってもメジャーなところ。お仕事などで大抵使う。使い慣れている。わたしもPowerPointを使わずわざわざExcelで資料を作ったりしていました笑。使いやすい、というよりも、いつも使っているから、ですね。在庫管理、発注管理なども同じことだと思われます。セルに貼りつけて、別シートに関数で集計。問題なし。Excelで間に合っています。けっこう大きな企業様でもExcelのみでデータを管理されている場合が多く、そしてけっこう目が眩むような使い方をされていたりします。これ2万行あるのですが、同じ発注データを貼りつけたりしませんか?複雑な数式が入っているのですが、データの追加や移動などでよく狂ったりしませんか?列の最後に「オプション1」「オプション2」とつづいていますけど、「オプション100」が必要になった場合はどうするのですか?でもなんとかやれていますから。Excelで間に合っています。たしかになんとかやれますし、ヒューマンエラーなどと言いますが慣れていらっしゃる方はそうそうミスしません。なのでわたしの指摘は言いがかりに聞こえていたかもしれません。ココナラさんでもExcelのマクロを発注・購入される方が多いよ
0
カバー画像

VBA×○○○の魅力

VBAは主にOffice系(ExcelやPowerPoint)を自動化する言語であり、Office以外の自動化となると極端にできることが少なくなります。しかしそんなVBAでも別の何らかと連携させることでできることの幅が大きく広がります。ここではそんなVBAと連携させることで機能が拡張できる"別の何らか"をいくつかご紹介します。Windows APIWindows APIとは簡単にいえばWindowsに用意されている機能がまとまっているセットのようなもので、VBAからそれらを呼び出すことでWindowsに用意されている様々な機能を使用することができます。これら機能はほとんどの場合、VBAだけでは実現できないものばかりですVBAではWindowAPIを呼び出すための定型文、いわゆる"おまじない"をコード上に記載するだけすぐに呼び出すことが可能です。ウィンドウを操作(サイズ変更、透明化など)したり、クリップボードを操作したり、マウスやキーボードの制御、画像や図形の描画などのようなVBAでは実現できない非常に多くの操作を可能にしてくれます。ポインタやメモリといったC++言語寄りの考えが出てきたり、外部アプリケーションに影響を与える関数なども存在するためある程度の知識を付けておく必要があります。自作DLL (Dynamic Linking Library)WindowsAPIはWindowsに標準装備されているDLLファイル内にある関数を呼び出しているだけなのですが、DLLファイルは自作することも可能です。たとえば自作DLL内で画像処理が得意なOpenCVを使った顔認識の関数を作成すれば
0
カバー画像

ミニマクロ(1000円)第3弾

ミニマクロのご紹介です。 マクロで自動化したいけど、どのサービスも高くて手が出しにくい、、、 少しの楽をしたいけど、どれも5000円~というサービスがほとんど。 そんなあなたに1000円ミニマクロをご紹介。たくさんの文字と文字の間に空白行を1行づつ追加するマクロと、空白行を全て削除するマクロです。当ブログにて、このようなミニマクロを紹介しています。よければお気に入り登録よろしくお願いします。 私のサービスも見て頂ければ幸いです。
0
カバー画像

ミニマクロ(1000円)第2弾

ミニマクロのご紹介です。 マクロで自動化したいけど、どのサービスも高くて手が出しにくい、、、 少しの楽をしたいけど、どれも5000円~というサービスがほとんど。 そんなあなたに1000円ミニマクロをご紹介。ボタンを押すと新しいシートが追加され、シート名を自動で現在の日付に変更されるというマクロです。もちろん、日付だけではなく好きな単語に設定可能です。当ブログにて、このようなミニマクロを紹介しています。よければお気に入り登録よろしくお願いします。私のサービスも見て頂ければ幸いです。
0
カバー画像

ミニマクロ(1000円)

ミニマクロのご紹介です。マクロで自動化したいけど、どのサービスも高くて手が出しにくい、、、少しの楽をしたいけど、どれも5000円~というサービスがほとんど。そんなあなたに1000円ミニマクロをご紹介。表を追加し、ボタンを押すと罫線を引いてくれるマクロです。これからブログにてこのようなミニマクロをご紹介していこうと思っています。よければお気に入りよろしくお願いします。私のサービスも見て頂ければ幸いです。
0
カバー画像

tkinterモジュールのmessagebox

pythonのコードを書いている際に、条件分岐やコードそのものが長くなった場合、デバック(動作確認)が曖昧になることがありました。特に、変数に何が格納されているのか、条件通りにコードが動いているのかを確認に手間を感じていました。例えば、変数(a)の確認であれば、print(a)でターミナル画面に反映することができますが、コードの文字も多いため、見えにくさを感じます。そこでお薦めしたいのが、tkinterモジュールのmessageboxです。利用方法は、from tkinter import messageboxmessagebox.showinfo(タイトル,表示メッセージ)になります。タイトル、メッセージとも文字列になりますが、変数を記載することで、その変数に格納した内容を表示することも可能です。VBAでいうと、MsgBox のように活用することができます。
0
カバー画像

エクセルでデータを入力する際の高速化についての考察③ <音声入力>

こんにちは 盤屋の試験員です。 今回は前回の続きで細かい制御をするつもりだったんですけど、思い付きで音声入力をやってみたいと思います。最近、業務効率化で音声入力に挑戦してるんですが、Windowsの音声入力って精度悪いですね・・・仕方ないんで、難しい文章は諦めて認識しやすい文言で入力システムを作ることを目指してみました。~~ キーワードでデータベースを呼び出す。 ~~ まずは、顧客情報の入ったデータベースとなるCSVファイルを用意します。 ↓こんな感じで 一番左の”呼称”を呼び出すためのキーワードにしています。フルネームで呼ぶのは長いですしね。ニックネームとか簡単な方が良い場合もあるので融通の利くようにしてます。2列目以降のデータ(氏名や住所)が詳細データになります。キーワードを音声で拾えるようにVB.netで””ExcelVoice.exe”というアプリを作ってバックグラウンドに待機させておきます。 音声認識は、System.Speech.Recognition クラスを使えば実装できます。必要なくなったら終了できるように、システムトレイに常駐させて、右クリック→終了で終われるようにしておきます。 エクセルへの出力は"Microsoft Excel Object Library"で操作してもいいんですが色々と面倒くさいのでここでは単純にSendkeyステートメントを使います。マクロや"Object Library"を使ってしまうと"戻る”が効かないのですが、この方法なら"戻る"が使えるんですよね。あと、Webの入力フォームにも対応できるのも大きいです。ぶっちゃけキーボード入力
0
カバー画像

非表示モジュール内でコンパイルエラーが発生しました。

問題なく納品したお客様から「エラー」の連絡を頂きました。新しいPCで試したところファイルを開くと「非表示モジュール内でコンパイルエラーが発生しました。」のメッセージが出て動かないとの事。officeのバージョンを確認したところ、「2019の64ビット版」との事。調べてみると32ビット版から64ビット版に切り替えるとエラーが出る場合があるようです。今回は Declare ステートメントで発生しているようです。このステートメインはモジュール レベルで使用して、ダイナミック リンク ライブラリ (DLL) 内の外部プロシージャへの参照を宣言します。ここがどうも32ビット版と64ビット版で構文の違いがあるようでした。以前から幾つかの違いは認識していましたが、新旧バージョン間での互換だけ気をとられ64ビット版との互換を失念していました。興味のある方は「非表示モジュール内でコンパイルエラーが発生しました。」で検索すると、幾つかのサイトが出てきます。マイクロソフトのサイトが一番わかりやすいかもしれませんね。
0
カバー画像

エクセルでデータを入力する際の高速化についての考察② <予測変換>

こんにちは、盤屋の試験員です。 エクセルにデータ入力する際の高速化について②となります。 第2回はマクロによる特化型予測変換です。 エクセルにも予測変換はありますが、今回のものはデータ特化型でよりニッチな需要にこたえる目的のものです。 1.はじめに~~処理範囲の限定と分岐 マクロで予測変換する場合、この場所は数字、この場所は文字という具合にセルによって入力する規則が変わりますし、場所によっては予測変換はしたくないということもあり得るので、まずはその処置についてお話します。下記がシートの処理を場所によって分岐する場合のサンプルです。 A1:A10の範囲であれば処理①を,B1:B10であれば処理②を、それ以外は無視する場合のコードです。 このコードはワークシートのコ記述シートに記載して使います。(これはサンプルなんで動きません) ------------------------------------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range)     If Not (Intersect(Target, Range("A1:A10")) Is Nothing) Then         '処理①     ElseIf Not (Intersect(Target, Range("B1:B10")) Is Nothing) Then         '処理②     End If End Sub -----------------------------
0
カバー画像

エクセルでデータを入力する際の高速化についての考察① <フォーカスの移動>

こんにちは、盤屋の試験員です。 今日はエクセルにデータ入力する際の高速化について考えます。 エクセルでデータを入力する際未だに手打ちが必要な部分って多いですよね。今回は、そんな入力を少しでも高速化するための小ネタマクロを紹介します。 第1回はマクロによるフォーカスの移動です。 フォーカスをマクロで動かすのは簡単ですが、問題はその順番と場所をどう指定するかです。マクロに順番を組み込みこともできますが、それでは汎用性に欠けるので、今回はセルに名前を付けて対応します。あまり知られてませんが、エクセルではセルに名前を付けられます。 セルを選択した際に場所”A1”などが表示されている部分は”名前ボックス”というらしく、ここでセルやセル範囲に命名できます。今回は、セル単体に”SEL_●●"(●=数字)という名前を付けています。 "SEL_"の4文字を選択候補の識別子として、後の数字の順番に選択していくようにコードを組み立てます。 下がサンプルコードになります。このコードを、モジュールに貼り付けてください。 ------------------------------------------------------------------------------Option Explicit Public Function GetRangeName(TergetCell As Object) As String '指定したセルの範囲名称を返します。 Dim Q As Object For Each Q In ActiveWorkbook.Names     If Not (Applicati
0
カバー画像

入力元ファイルからデータを抽出しデータベースへ反映させる

入力元ファイルには識別番号があり識別番号ごとにA売上とB売上が存在する。データベース上でA売上とB売上をそれぞれA売上シートとB売上シートに分けて月事に別けて数値を入力する。データベース上に識別番号が未登録の場合は識別番号を追加する。 ココナラブログ230204_01_A1入力元ファイルの識別番号とA売上、B売上を月ごとにデータベースへ反映する。 ココナラブログ230204_02_A1データベースとなるエクセルファイルA売上用のシート売上を識別番号ごと月事に別けている。A売上用のシート識別番号BB1の位置をB売上用のシートと変えてある。 ココナラブログ230204_02_A2B売上用のシート識別番号BB1の位置が異なるマクロを仕込んだエクセルで入力元データをデータベースへ反映しデータベースを上書き保存する。マクロで処理し保存した後のデータベースの様子 ココナラブログ230204_03_A1A売上シートへ識別番号を追加し売上を月ごとに分けている ココナラブログ230204_03_A2B売上シートへ識別番号を追加し売上を月ごとに分けている
0
カバー画像

倉庫でプログラミングって活かせるの?今から勉強するならマクロがお勧めの理由とその勉強法

倉庫の仕事でプログラミングのスキルを活かせる場面は 詳しくは下記の記事でご紹介致しますので、本記事ではリストアップに留めますが、具体例として以下の事例があります。事例①:Excelデータの修正  例)送り状作成のためにコピー元の全半角の変更、住所の分割・結合 事例②:グラフ作成  例)勤務時間、売上・費用・利益の推移等のグラフ化 事例③:フォルダ作成  例)入出荷データを保存するフォルダの作成、 事例④:メールの添付ファイルを自動保存  例)メール添付される出荷オーダーを決められたファイルに保存 事例⑤:フォルダ内の複数のExcelデータ、複数のシートのExcelデータを1つにまとめる|Excelデータを客別・納品先別に分割  例)日別入出荷、出荷オーダーをひとまとめに|請求書(締日も変更可) 事例⑥:フォーマットの決まった書類・メール作成  例)納品書等の帳票、運送会社・納品先別出荷データ、年末年始の挨拶事例⑦:ウェブ操作  例)入出庫処理の自動化、値転記、自動データ取得 今からプログラミングを勉強するならマクロが良い理由3選 プログラミングを学ぼうとする方が、「プログラミング学習 初心者」、「プログラミング学習 言語」とググってもなかなか、マクロをお勧めしている記事は見当たりませんよね。 そんな状況を知りながらも「倉庫の業務を改善してラクになりたい」、「プログラミングは簡単と聞いていたけれど難しかったので挫折したことがある」というIT企業で働くことは目指していない初学者にはマクロをお勧めします。その理由は下記の3つです。理由①:マクロ以外の知識が不要だから 理由②:マクロの
0
カバー画像

エクセルのセルサイズについての考察①(mm単位での設定)

エクセルのセルの幅に対するプロパティはちょっとややこしくって ColumnWidth Width の2個あります。 尚、取得、設定できるのが Columnwidth 取得のみ可能なのが Width になります。 何が違うのかというと ColumnWidth は 数字の0(半角ゼロ)が何文字入るか?という値で 実際の大きさはシートのフォントサイズによって変動します。 ちなみに、Columnwidthには余白も含みますので ColumnWidth が1に対しColumnwidthが2は2倍より小さな値となります。 Widthってのは、ポイント単位。 ポイントって馴染みが薄い単位ですが 1/72インチ=約0.35mmってことになりますね。
0 500円
カバー画像

マクロの書き方標準モジュール内にSubプロシージャは複数書けるのか

0
カバー画像

なぜ標準モジュールにコードを書くのかVBEを使って説明します

0
カバー画像

VBAでコードを書こうマクロの記録をおすすめしない2つの理由

0
カバー画像

納品書作成改定

納品書作成を改定致しました。基本的な操作はかわりませんが、操作性の向上を致しました。まずは、再発行機能の追加。納品累積データのメンテナンスの為の削除機能を追加しました。〇再発行機能は伝票番号を選んでボタンを押すと印刷されます。 通常の発行との区別は伝票の左上に「再発行」の文字が印字されます。〇削除機能は上から順番に削除されます。長押しすると連続で削除されます。 もう一つは削除したい行を任意で削除できます。※現在の帳票は上部が「納品書」下部が「受領書」になっています。 いわゆる二枚綴り仕様です。 ご要望にそって名称や仕様の変更は出来ます。 デモ版もご用意しております。 お問い合わせ頂ければお送り致します。以上宜しくお願い致します。
0
カバー画像

エクセルの便利機能マクロの記録を使ってマクロを2分の動画で解説

0
カバー画像

初心者用マクロ学習講座|勉強範囲限定&12本の動画で早く効果を実感

リンクが貼れないのでQRコードから記事に進んでください。
0
カバー画像

PDFに対応

時代はどんどん進み、紙ベースの帳票から電子的な帳票の時代ですね。領収書やその他の書類は、紙ではなく電子的な保存に変わって来ています。時代だなあ~と感じているのは、前時代的感覚なのでしょうか。当方でご紹介している、請求書、見積書の帳票出力は「紙」を想定して作成しています。連続で何枚も出力できるように仕組んでいるのですが、その仕組みはテンプレに各ページのデータを書き込んで、1ページ、2ページと印刷しています。そうすると、最終的にExcelシート上に残るのは最終ページとなります。例えば、1ページから5ページまである帳票ですと、最終的に印刷が終わった後にSheet上に書き込まれているのは5ページの分のみとなります。この仕組みのまま、WindowsのプリンタのPFD印刷(変換)にすると、各ページ毎に一つのPDFファイルとなってしまいます。このように、複数ファイルになったPFDの帳票をお客様に送る事はできないでしょう。かと言って複数のPDFファイルを一つのPDFファイルに加工するのも面倒ですし、作業としてどうかなあと思います。作成する度に合体作業・・・しからばどうするか。現在の帳票作成をそのままで「PDF用」としてExcelSheetを追加することにしました。これまでの印刷作業が終了すると別Sheetに全ページが表示されるようになります。そのSheetをPFDにすると一つのファイルとして表示されます。連続印刷仕様のVBAを順次改定予定です。既に改定が終了しているものもあります。ご興味があればデモ版がありますので試してみる事ができます。
0
カバー画像

(36日目)『忙しい』を言い訳にする人たち。

昨日はクリスマス仕様。なのでパーティスタイルで飯つくったワケです。が、メチャクソ時間かかったわ!うーん、チキンカツのChicken🐔を買い過ぎたのが原因ですな。『うーん、足りるかなぁ?』とChicken野郎になったのがダメだった。自宅なのにまるでクソ忙しい飲食店の厨房。なので、今日は少しお疲れモード。さて、疲れを癒すべく本題へGo!☆━━━━━━━━━━━━━━━━━━━☆人事として取引先と話すと、他社の情報を耳にする。で、採用絡みで取引先がこぼすのが『各社の人事さんお忙しいよーで』って言葉。この背景には、→ 提案した内容が進まない。→ 商談する時間を得づらい。と言うのがある。それを聞く私はいつも思う。『みんな何に忙しいの?』イヤミっぽく書いたけど、みんなが『忙しい』と言い訳する理由も状況も分かってます。企業によっては、人事って総務を兼ねていたり、他の業務を兼務していることもままあるから。『人手が足りないんだ!』『猫の手も借りたいよ!!』はい、猫の手↓🎁しかーし、かくいう私も総務兼任です。人事採用しながら色んなことやってるんで事情は同じです。ではなぜこの差が生まれるのか?それは、リソースを自分で作り出すために取り組みを続けてきたから。亀岡の思考は、『手間暇かけたから正しいとは思わない』『いかにラクするか考える』『ムダなく気持ちよく仕事したい』です。『アイツ、仕事ラクしやがって!』と言う言葉は最大の褒め言葉です。実は、今の会社で入社直後からそのための環境作りをしてきました。例を挙げると、・管理データの整理、統合・労力を省く環境づくり・業務や仕様ツールの定型化です。この取り組みを足
0
カバー画像

(11日目)部屋とプログラムと私。

部屋は関係ないです。『仕事楽したいなぁ』という理由から、42歳になって初めてプログラミングに挑戦してみた。イチから知識を学んだワケではなくて、自分の業務をしながら、『こぅしたいなぁ』『あぁしたいなぁ』なんて考えながらネットの海を泳ぎまくり。時たま水没。四苦八苦しながらも、1年もしたらそれなりにできるよーになったゎ。おかげでメッチャ楽になった。余った学生とのお喋りに時間当てられるからね。組織にいると思うんだけど、ルーティン業務とか、人がやる必要のない仕事ってあるのね。人がやることでエラーや間違い生じそうな業務も。それらになんのギモンも持たずに、そのまま放置してるってのは仕事していると思えない。無駄な労力に対して頑張っている姿を見せても、それはパフォーマンスにしか見えへんねんな。それは言い過ぎか。無駄なことに頑張っても何も生み出さないよーって言いたくなる。どの仕事に力を費やすことが意味があるか、何を合理化したら意味ある仕事に時間を注げるか、これを常に考えることこそが仕事やと思う。自分が使えるリソースなんて限りがあるんだから。それが分かってない人が多い。さておき、自分はプログラミングは結構好きだと気づいた。考え方はロジカルな方なので論理的にプログラム構造を考えるのは苦手じゃない。作って・動いて・目的達成のたび、至極の喜びを感じる。とは言え、作る目的をしっかり持っておかないといけない。でないと、ただの自己満足だから注意しないと!今日のおまけ:昨日、10数年ぶりにKYK行ってきた。安定のうまさに舌鼓。新しいお店を探して行くことが多いけど、たまに安心感あるベテランを頼るのも良き。黒豚ヒレカ
0
カバー画像

計算用の演算子と算術演算子 PythonとVBA

基本的な算術について記載します。足し算、引き算はどちらの言語でも足し算:+  引き算:-になります。注意点としては、掛け算と割り算については違いがあります。〇VBA10の3乗の計算:10^3=1000掛け算:10*3=30割り算:10/3=3.333割り算(割り算の結果の整数部分):10¥3=3割り算(割り算の結果のあまり):10 Mod 3=1●Python10の3乗の計算:10**3=1000 掛け算:10*3=30 割り算:10/3=3.333 割り算(割り算の結果の整数部分):10//3=3(小数点以下は切り捨て)割り算(割り算の結果のあまり):10 % 3=1 以上が違いになります。
0
カバー画像

見積書作成建設業界用改定版

「ExcelVBA見積書作成建設業界用」をほぼ全面的に改定致しました。見積書の形式は業務によって様々です。その中でも「建設業界」の見積は特別面倒なものになります。なぜ面倒なのでしょうか?まず作業工程が長い。通常の建設工事ですと、仮設工事から最終の引き渡しまでとても長いものです。次に、使用する材料が多岐にわたるということです。建物ですと、土台から上物まで完成まで非常に多くの材料を使用します。後は人件費でしょうか。一つ一つの作業の「人工」計算が必要になります。その他付随する経費等が加わります。様々な見積書を拝見いたしますとこうした煩雑な見積を見やすく、解りやすいものにする為に集計部分。書籍で言えば「目次」的な頁を作成しているようです。各工程の合計金額を集計部分に表記して「総合計」を算出する方法です。各工程の「詳細」は別ページで表記させるという事です。このように「合計部分」と「詳細部分」を分けて表示させる方法はとても解りやすく、見やすいものです。今回改定した「ExcelVBA見積書作成建設業界用」はこの方式をとりました。以前のバージョンでも「合計部分」と「詳細部分」を分けて表記させていましたが、操作性の向上を目指しました。作成手順は以下のとおりです。①見積の詳細項目の作成  例えば:仮設工事とか基礎工事・・・  作成すると「合計部分」実際には「目次」の名称のSheet上に  詳細名が書き込まれます。②詳細項目の見積作成  最後に合計を入れると「目次」Sheet上の詳細名に合計金額が記入されます。順に詳細項目の見積を作成して行きます。③集計部分「目次」部分の作成  詳細の合計、その他の
0
カバー画像

このブックには、安全ではない可能性のある外部ソースへのリンクが1つ以上含まれています。リンクを信頼できる場合、リンクを更新して最新データを取り込みます。信頼できない場合は、データをそのまま手元で処理してかまいません。の回避方法

上記のようなPOPUPを見たことがあると思います。身に覚えのない外部リンクでの場合以下を確認して、削除することで解決いたします。データタブ&gt;リンクの編集以下の画面でリンク元が不要なものがあれば、それをクリックし、リンク解除をクリック以下の警告が出ますので、確認して、リンクの解除をクリックこれでも、リンクの解除が消えない場合があります。以下の手順をお試しください。&lt;別案1&gt;Ctrl + Aを押し、シート全体を選択します。※(入力規則がどこにあるかがわかっている場合は、入力規則が入っているセルを選択します。)【入力規則規則とは、選択式になっているセルのことです。】データタブ&gt;データの入力規則全てクリアをクリック(必要な入力規則も削除しないように気をつけてください。)&lt;別案2&gt;数式タブ&gt;名前の管理以下のような他のファイルを参照しているようなものがあれば、選択して削除をクリック(必要な名前も削除しないように気をつけてください。)以上となります。どなたかの助けになれば、嬉しいです。
0
カバー画像

拡張子の表示方法

拡張子とは、ファイルの保存形式を表すものになります。赤枠の「.xlsx」が拡張子になります。拡張子には種類があり、Excelのよく見る種類だけでも「xlsx」「xlsm」「xls」とあり、拡張子を表示していないとマクロが入っているかが、わかりにくかったりします。(何も知らずに実行して、マクロが実行するようになっていたら、個人情報をどこかに送信されてしまったりと大変なことになります。)ですので、拡張子を表示して、マクロが入っているのかなどしっかり見極められるようにしましょう。※昔のファイルで「xls」でもマクロ入りのものがあります。xlsのファイルを開くときは慎重に開きましょう。拡張子表示手順1.フォルダを開きます2.表示タブをクリック3.ファイル名拡張子のチェックボックスにチェックを入れてください。以上です。これで、マクロ入りファイルやCSVファイルの見分けがつくようになります。誰かの参考になれば、嬉しいです。
0
カバー画像

【Excel VBA】同一グループに、条件付きで連番を振る

YouTubeでも紹介しています。是非ご覧ください。連番をふるというのは、パソコンが行う単純作業で最もメジャーですよね。 しかし、なかなか、奥が深いです。 今回は条件付きで、連番を振ります。 同一グループに、条件付きで連番を振る こんにちは。伊川です。 最近は、Excelばかりやっているので、Excelもやってみようと思います。 Excelで、同一グループに、条件付きで連番を振るというのは、どのようにするのか? 悩みました・・・・・・ ACCESSなら、カンタンできるのですが、Excelでは、やったことがありません。 関数を利用すればカンタンできるのですが、VBAでは、どうするのか? WorkSheetFunctionならばできるだろうと安直な思いからやったのですが、なかなか厳しい過程となりました。 このブログはこんな人にお勧め ExcelでVBAを勉強している人 VBAで連番を振りたい人 VBAでSUMPURODCT関数を利用したい人 このブログを、読み終わるころには・・・・ WorkSheetFunctionを、関数のように利用できると思っていましたが、そうではありませんでした。 結構考えましたが、Excelでも型が一致しませんというエラーに嫌気がさしましたが、なんとか完成しました。 その過程を見てください。 SUMPURODCT関数をVBAで実行 今は、それほど利用されませんが、COUNTIFS関数が登場するまでは、私の会社では、よく利用していました。 配列の対応する要素間の積をまず計算し、さらにその和を返します。 ただし、SUMPRODUCT関数は数値以外の配列要素は、
0
カバー画像

スケジュール管理について(時間順に整理する方法)

営業などの訪問スケジュールをExcelで作成したカレンダーで整理する際に、同日でも訪問時間を整理して記載したい時があるかと思います。一つ一つ時間を整理して、コピー&amp;ペーストの方法でも可能ですが、後から新たなスケジュールを追加しようとすると全部やり直しになってしまうと思います。また、一か月分をちまちまするにも時間がかかってしまうと思います。そんな時にはパソコンの性能を活かせる時です。VBAですべてを記載することもできますが、Excel関数とVBAを組み合わせるで対応できます。方法として、①日付をシリアル値で表示します。②時間帯=〇〇:△△など、24時間形式で入力し、TEXT関数で4桁の数字に変換します。この時に、1000で除算し、小数点第四桁まで表示します。除算する理由は、14:01と13:59の区別をつけるためにです。③最後に VALUE(CONCATENATE(日付のシリアル値,時間帯を1000で除算したもの))上記の関数にて①と②の値を結合し、VBAのSORT関数で昇順にすることで並び替えが可能です。重要度は低いかもしれませんが、一度お試しあれ。
0
カバー画像

リストによる画像の切り替えの設定方法

1.画像が入るだけの大きさのセルを用意します。(以下のような状態)2.各セルに名前を付けていきます。(赤枠内に名前を記載する。)※注意:きちんと確定しないと名前がついていない状態になります。&lt;名前がきちんとついたかの確認方法&gt;Ctrl + F3を押すと以下のようなWindowがでます。(画像のようになっていれば、名前はきちんとついています。)3.先ほど作成した枠に画像を配置します。4.セルに名前を付けた名前をリストにする。[Alt] → D → L の順番に押すと以下のWindowがでます。4-1.以下の画像のようにリストを入力する。4-2.入力したら、OKをクリック5.作成したリストを確認する。(今回はA4にリストを作成しています。)6.名前の定義を編集します。リストを作成したセル(今回はA4)を選択した状態で、[Alt] → D → L の順番に押します。すると以下のWindowが出ます。6-1.以下のように編集し、OKをクリックします。7.参照先のセルを設定します。どこでもいいので、セル(今回の場合、コピー元をC19)をコピーし、コピー先を選択(今回の場合、D4)を選択した状態で、以下の画像の赤枠をクリック(リンクされた図)する。8.リストとの連動設定赤枠内を「=画像選択」とする。(ここで、6-1で設定した参照を設定する。)9.完成以上になります。画像の切り替えができると、スッキリとした表が作成出来ます。良かったら、お試しください。
0
カバー画像

Excel関数とVBAの関係性について

今では有用に利用できているVBAですが、Excel関数を含むほぼ全ての機能が記載することで自動化ができる代物です。しかし、Excel関数で表示できたり、まとめたりできることをすべてVBAにしてしまうことも考え物だなと考えるようになりました。結論としては、Excel関数とVBAの共存こそが大事です。Excel関数では、入力して数字や文字列などを瞬時に自動計算できることで、統計や集計をとることができます。また、条件付き書式などにも関数を利用できます。対してVBAではボタンを押すなど発動条件を設定しないと適用できませんが、データベースベースで抽出、まとめる際には有用に利用しやすいです。なんでも融合することが大切です。
0
カバー画像

cellsの重要性について

どうしてcellsが通常使われるのが多いのかというと、まず変数の話抜きには説明できません。変数を自在にこなすことが上達の要のように現在は感じております。変数には数字や文字列を入れることができますが、数字を定義できることと、cellsが数字を使ってセルを指定できることがみそになります。つまり、数字を段階的増やしたり、減らしたりすることでセルを縦にも横にもずらしていくことができます。また、セルの列数を変数を使って定義することで、相対的に参照することができ、列の追加や削除を行ったとしても指定するセルの列数がずれることなくカスタマイズすることもできます。更に、汎用できる幅も広がり、流用性の高いVBAを作成することができるようになりました。実に奥が深く感じる、今日この頃です。
0
カバー画像

プログラミングへの足掛かり

ココナラでマクロの販売をするにあたり、過去に勉強してきた方法についてお話をしようと思います。気合だけでExcelを操作していたころ、プログラミングに詳しい後輩が入職してきました。その後輩がかなり作業が早く終わっていたので、恥を忍んで話を聞いたことがきっかけです。その中で、Excel関数から取り組むのか?VBAでのマクロから取り組むのか?はたまたパイソン、C+、javaなどの他のプログラミング言語から取り組むのか?などなど、かなりとっかかりに悩むことがありました。特に、後輩から最初のプログラミング言語は慎重に決めないと、絶対挫折するよと言われていたこともあり、正直ビビりました。。結局、仕事で活用することが多くあったExcelで勉強し始めようと決意するに至りました。しかし、Excel関数であれ、VBAであれ、知らない機能、方法が盛だくさんでした。知らない世界があることにわくわくしながらも、とりあえずVBAに取り組み、一か月で挫折しかけました。こんな制御文どこに使うのか?、実務で活かせるのか?覚えるしかないのか・・・。そこで、書店で試し読みしている中で、ふりがなプログラミングなるものを発見しました。かなり初歩的なものしか書籍には紹介されていませんでしたが、割と読みやすく、さくさく学ぶことができました。特に私に響いたことは、反復、重複、繰り返しの作業をマクロにする大切さです。パソコンの方が、より速く、正確にできることを知ることができたので、そこからはマクロの理解が格段に深まりました。理解が深まるにつれ、表作成における相対的な位置関係を意識し、どんなアレンジにでも汎用できることを前提に作
0
カバー画像

今まで知らなかったエクセルの話 その2(シート数の上限)

前回の記事「Excel2007」がエクセルのバージョンアップの歴史において転換点であるとお伝えしました。そして扱えるデータ量が大幅に増えたことも解説しました。■「Excel2003」まで1シート当たりの行数 65,536行 1シート当たりの列数 256列 ■「Excel2007」~「Microsoft365」 1シート当たりの行数 1,048,576行 1シート当たりの列数 16,384列ちなみにエクセルシート数に上限はあるのでしょうか?今回はその事に触れてみたいと思います。結論から申し上げますとエクセルシートの上限は、そのPCのメモリ量に拠るので決まった上限数があるわけではありません。ということで実際に何シートまで増やせるのか検証してみたいと思います。といっても1シートずつ手作業で増やすのは、手間暇が掛りすぎで現実的ではありません。VBA(プログラム)を使って自動的にシートを増やし、どこまでシートが追加されるのかを検証します。VBAプログラムは以下の通りとてもシンプル(たったの6行)です。【検証結果】シートはどこまで増やせたか!?プログラムを走らせて10数分して以下のようなエラーが出ました。はたして何シートまでできたのでしょうか?「Sheet5452」まで追加できました。ちなみにこの後このファイルはすぐに落ちてしまいまともに使える代物ではありませんでした。【まとめ】■エクセルシートは私のPC環境下では5452シートまでシート作成できました。■とは言え、メモリ不足状態でまともに使えるファイルではありませんでした。⇒物事に常識的限度があるようです。。。以上くだらない検証にお付き合
0
カバー画像

【ACCESS VBA】フォームで複数の検索も、公式を覚える

YouTubeでも紹介しています。是非ご覧ください。ACCESSを勉強して、一番始めに作成するのは、検索フォームでしょう。 Excelよりもはるかに便利と思うはずです。 しかし、複数の検索ワードとなると、挫折する人も多いのではないでしょうか? フォームで複数の検索も、公式を覚える こんにちは。伊川です。 先日、公開した検索方法なのですが、複数で検索するのは、日付と、名前までといいました。 しかし、私自身、4つのワードで検索をしていることを思い出しました。 まー、競馬なんですけど。 1度、複数検索は、はるか昔に公開しているのですが、日時と名前でしたので、複数の検索方法を紹介します。 他の情報よりもカンタンです。 あまり、おススメはしませんが、皆さんのスキルにしてください。 このブログはこんな人にお勧め ACCESSで、検索フォームを作成している人 ACCESSで、VBAを勉強している人 ACCESSのVBAで、SQL文を記載することに苦労している人 このブログを、読み終わるころには・・・・ 以前に紹介しました、SQLは公式に、当てはめるだけといいました。 今回もその、公式を利用しますが、従来の方法も紹介します。 1度覚えれば、一生もののスキルです。 SQLで、複数の検索条件を書く方法 大前提として、SQLとVBAは、似て非なるものです。 そんなの知っているという人は、沢山、いると思いますが、意外にも、挫折の道をたどります。 例えば、Andです。 このAndですが、VBAのコードとして、認識しているAndなのか、SQL文として、認識しているAndなのかで、異なってきます。 これが、
0
カバー画像

【ACCESS VBA】オプショングループで、検索フォームに花をつける

YouTubeでも紹介しています。是非ご覧ください。ACCESSで、最初の関門は、検索フォームを作成することです。 フィールド毎に検索する方法を紹介します。 オプショングループで、検索フォームに花をつける こんにちは。伊川です。 ACCESSで、最初の関門は、検索フォームを作成することです。 フィールド毎に検索する方法を紹介します。 今回は、社名は言えませんが、コンサルの内容を一部公開します。 キーワード検索についてです。 データベースには、様々なフィールドがあります。 本日は、名前で検索したいが、明日は、メールアドレスで、検索したいという時があります。 そんな時は、どうしますか? 検索のテキストボックスを、複数設置すればできます。 しかし、見栄えがよくないです。 そんな時に、参考にしていただければ幸いです。 このブログはこんな人にお勧め ACCESSで検索フォームを作成している人 ACCESSで、VBAを勉強している人 社内から、様々な要望を言われて、困っている人 このブログを、読み終わるころには・・・・ 検索フォームを作成するには、主キーで検索するのが、原則です。 なぜ、主キーで検索するのかというと、それがACCESSなのす。 今回は、主キーを設定できない場合を想定しました。 その時に役に立つのは、オートナンバー型の主キーです。 オプショングループを利用する 今回は、名前で検索する。 次回は、都道府県で検索する。 このような条件があるときは、フラグを立てます。 もし、Aというフラグであれば、名前で検索する。 もし、Bというフラグであれば、都道府県で検索する。 このフラグを立
0
カバー画像

xlsファイルをxlsx(xlsm)で開き保存するプログラム

今回はxlsファイルを、最初からxlsx(xlsm)ファイルで開いたかのように見せて保存してくれるプログラムを作っていきたいと思います。今回は開いたファイルに対して処理を行います。フォルダ内のxlsファイルを一括してxlsx(xlsm)に変換するプログラムは、検索するとたくさん出てくると思いますので今回は割愛させていただきます。xlsファイルとxlsx(xlsm)ファイルの違いまずはxlsファイルとxlsx(xlsm)ファイルの違いです。xlsxおよびxlsmは、Excel 2007から現在まで標準で用いられている拡張子ですxlsx:マクロを保存できないxlsm:マクロを保存できるの違いがあります。一方xlsは、Excel 2003まで標準で用いられていた拡張子です。Excel 2003のサポートは、2014年4月をもって既に終了していますが、xlsファイル自体はその後のファイル形式と互換性があり、現在のエクセルでも問題なく動作します。マクロも保存できます。だったらxlsで良いと思うかもしれませんが、xlsxはxlsと比べると・xlsxの方がファイルサイズが小さい傾向がある。・xlsxの方が使える行数と列数が多い。というメリットがあります。お使いのExcelのバージョンが2003以前であればxlsを使うしかありませんが、そうでなければ基本的にはxlsxで保存した方が良いです。xlsファイルをxlsx(xlsm)で開くコードOption Explicit Dim WithEvents ExcelApp As Application Private Sub Workbook
0
カバー画像

【VBA】WebAPIキーの読み方について

みなさんこんにちは。イプシロンです。WebAPIキーの読み方について解説していきたいと思います。早速いってみましょう!!!前回のあらすじ前回はOpenWeatherMapのAPIにユーザー登録をしてAPIキーをゲットする手順の説明をしました。今回はゲットしたAPIキーが「OpenWeatherMap」のAPIの中でどのような役割を担うか、クンクンクンクン鼻を効かせていきます。準備するAPIOpenWeatherMapのAPIは様々な種類があります。まぁそこはネットで調べていくと、かんたんに判明することですので、今回は下記のAPIを例にご説明いたします。 (エイチティーティーピーエス)://api.openweathermap.org/data/2.5/weather?lat=35.6812405&amp;lon=139.7649361&amp;units=metric&amp;lang=ja&amp;appid={API key}これは、緯度(lat)=35.6812405経度(lon)= 139.7649361の情報から場所(東京駅)を判定し、APIキーが正しければ、その位置の天気情報を返すという内容になっています。(※緯度経度は、Googleマップで調べられますが、手順については割愛します。)WebAPIの検証まず、上記の引用文のままAPIをコピーして、ブラウザのアドレスバーに貼り付けて実行します。そうすると以下のようになります。言うまでもなく失敗しています。”cod”が400番台、500番台の場合はエラーになりますので正しい数値を入れる必要がありいます。原因は{API k
0
カバー画像

【ACCESS Excel連携】毎月の集計したクエリって意味あるの?

YouTubeでも紹介しています。是非ご覧ください。なぜかクエリというものは、増えます。 それは、ACCESSの使い方を知らないからです。 または、覚えるのが面倒だからです。 毎月の集計クエリって意味あるの? こんにちは。無駄なクエリを僕滅する委員会の伊川です。 ACCESSを、我が社でも利用していますが、なぜ、クエリは増え続けるのでしょうか? カンタンな操作しか、基本書に掲載されていないことが原因でしょう。 ACCESSとExcelの連携となると敷居が高いと思う人も多いようです。 今回は、Excelを利用して、無駄なクエリを僕滅します。 実務でクエリが増える現象は 月の集計 4半期毎の集計 月間の個人成績 こんな感じでしょうか? 日本人は、物持ちが良いので、平気で3年前のクエリを残しておきます。 3年前の情報は、普通、毎日の実務では利用しません。 でも、なんか、あった時に、困るから・・・・・・ 今回の記事で、もう、困ることはなくなります。 このブログはこんな人にお勧め ACCESSの中にクエリが沢山ある人 ExcelとACCESSの連携を勉強している人 SQLを勉強している人 このブログを、読み終わるころには・・・・ はっきり言いますが、無駄なクエリを30個減らせます。 集計に関するクエリは、作成する必要がなくなります。 問題は、SQLを利用するのですが、SQLの公式を利用すればカンタンです。 ExcelVBAで、SQL文を書く 以前にも、この手の記事は記載しました。 しかし、ユーザーフォーム等、結構、面倒です。 今回は、ユーザーフォームを利用しないで、セルで設定します。 要
0
カバー画像

【VBA】APIキーの取得方法について

みなさんこんにちは。イプシロンです。VBAでRPAツールを作成していると、 時と場合によりますが、Webスクレイピングを使用せず外部のAPIを使用するほうが効率が良いことがあります。 そこでこの記事では、 VBAを使用してWebAPIと連携する仕組みを作ることについて紹介したいと思います。早速いってみましょう!!!OpenWeatherMapのAPIを使ってみる前回はWebAPIとはなにやつ?というタイトルで、WebAPIについてざっくり説明しました。今回はその中でも「OpenWeatherMap」のAPIを使用する準備をご説明します。使用するAPIまずは、下記のAPIをご覧下さい。(エイチティーティーピーエス)://api.openweathermap.org/data/2.5/weather?q={city}&amp;appid={key}&amp;lang=ja&amp;units=metricこれは、指定した都市の現在の天気を取得するAPIになります。{city}には、Tokyoや、Ikebukuroや、Saitamaや、Urawa等、天気を取得したい都市名を指定します。{key}には、APIキーを指定します。今回はこいつ(APIキー)をゲットしに行く手順です。手順APIキーをゲットするには、OpenWetherMapサイトに会員登録する必要があります。無料で遊ぶわけですから、どこ馬の骨なのかは明らかにするという紳士たる所以です。登録する材料は、ユーザー名、メールアドレス、パスワードです。1.サイトへアクセスします。アクセスするサイトは下記です。(エイチティーティー
0
カバー画像

【VBA】WebAPIとは

みなさんこんにちは。イプシロンです。今回は、VBAを使ってWebAPIで遊び倒す方法について書いていきたいと思います。WebAPIで遊ぶにあたり、WebAPIの概要説明、準備、実装、解説等書き始めたら多岐に渡るため、少しずつ分けてご紹介できればと思います。初回のEpisode1はWebAPIについてです。それでは、さっそくいってみましょう!!!物語全体の概要OpenWeatherMap APIという現在の天候や予測履歴を含む各種気象データのAPIを提供してくれるサービスがあり(無料)、VBAで天気情報を取得して遊び倒す手順をご紹介します。説明の基準専門的な用語、説明は極力省いて、みなさんが少しでも興味を持っていただけるような記述を心がけます。WebAPIとはまず、APIとは「Application Programming Interface(アプリケーション・プログラミング・インターフェイス)」の略語です。プログラムがWeb上に公開され、外部(我々のようなIT遊人)から呼び出して利用します。さまざまな分野でWeb APIが公開されていますが、Web APIの多くは無料で遊ぶことが可能です。今回、天気情報を表示するツールを開発する予定ですが、そもそも、天気情報はどこから取得するものかと考えたとき、自ら、一つ一つ実装すると思い立った場合、天文学的な時間と、圧倒的労力を費やし、気付いた頃には廃人と化します。それを解決するのがWebAPIであり、今回で言うと、天気情報は公開された情報であり、こちらがリクエストすれば解決するというお手軽さがあります。「WebAPI」で検索をかけるとたくさ
0
カバー画像

プログラムによる業務効率化

これは、とあるブログの記事を見て感じたことなのですがある案件で今まで人がやっていた作業をエクセルのマクロというプログラムで自動化した案件について仕様通りの完璧なプログラムを納品されたSEの方が『完璧すぎて、人のチェックが働かなくなる。たまに間違うようにできないか?』という相談を受けて何のためのプログラムなのかわからなくなったという話があったそうです。人材の能力を高めたいという視点もわからなくはないのですが…。できればワザと間違うというのではなく、正常稼働しているかを定期的にチェックするという風に考えていただきたいなと個人的には思います。ただ自動化するだけでなく、それが正常に動いているかどうかを分かるようにチェックする。例えば項目Aと項目Bの合計がCであればその答えがあっているかを見るとか、項目Dには平均して500が入って、1000以上や100以下が稀であればそれらを異常値として通知するとか。本来は楽になったり、正確性を上げるためのプログラムだと思うのでぜひご参考いただければ幸いです。
0
カバー画像

【selenium】xPathってどうやって取るねん。

みなさんこんにちは。イプシロンです。今回はスクレイピングで必須となるサイト内のxPathの取得方法について書きます。ではいってみましょう。準備ブラウザはChromeを使用し、ココナラのサイトを例にとってご説明します。https://coconala.com/手順1.ココナラのサイトを表示する2.今回は、「ビジネス購入の方はこちら」の文字をスクレイピングします。3.「Shift」+「Ctrl」+「C」を押します。右側にソースコードが表示されます。4.マウスを対象の箇所(ビジネス購入の方はこちら)まで移動します。右側のソースコード上にブルーでハイライトされます。5.ハイライトされた箇所を右クリックします。6.「Copy」→「Copy xPath」を選択します。クリップボードにxPathがコピーされました。7.貼り付けると以下のようになります//*[@id="__layout"]/div/div[1]/div[2]/header/div[1]/div[3]/nav/ul/li[2]/aこれが、対象箇所のxPathになります。8.ソースコードに貼り付けるVBAのソースコードにxPathを以下のように貼り付けます。(今回はメッセージボックスに表示するようにしてみました。)MsgBox Driver.FindElementByXPath("//*[@id=""__layout""]/div/div[1]/div[2]/header/div[1]/div[3]/nav/ul/li[2]/a").Attribute("innerText")9.こんな感じになりました。う~ん。。。。かんたん!!
0
カバー画像

【Excel/VBA】プログレスバーを自作する方法

みなさんこんにちは。イプシロンです。VBAで大量の処理をするときに時間が掛かり、その間PC操作ができないとなると、手持ち無沙汰になりがちです。(ちゃんと動いてんのかな~。)(あとどれくらいかかるんやろ~。)なんて、雑念が湧き始めます。そんな時に、役立つのがプログレスバーです。プログレスバーを使用するメリットは以下のとおりです。プログレスバーを使用するメリット・ユーザーが処理を中断しなくなる(動作の見える化)・進捗状況の見える化・終了時間が推測可能VBAには標準のプログレスバーがありますので、それを使いがちなのですが、実は、、、標準のプログレスバーには落とし穴があるのです!!!標準プログレスバーの落とし穴それは、環境依存のエラーがあり、開発者のバージョンと、ユーザーのバージョンに差異があるとエラーになりやすいのです。64bit版のOfficeにはプログレスバーが実装されていないため、表示させようとするだけでエラーになってしまいます。なので、不特定多数のユーザー向けに配布する場合は、そこを考慮して開発をする必要があります。そのため、私はプログレスバーを自作することをおすすめします。さっそく、いってみましょう!!!手順1.「挿入」→「ユーザーフォーム」をクリックし、フォームを追加するユーザーフォームが追加されます。2.ツールボックスから「ラベル」を選択します。ラベルが追加されます。3.ラベルをプログレスバーっぽく引き伸ばします。4.ラベルのCaptionを消します。(念のため)5.ラベルのBackColorを変更します。6.標準モジュールに以下のコードをコピペしてください。Sub t
0
カバー画像

【Excel/VBA】VBEの背景色や文字色を見やすくする

みなさんこんにちは。イプシロンです。VBAではコードをカキカキする際、VBE(Visual Basic Editor)という専用のエディタを使います。初期設定のままでも十分なのですが、これ、、、見にくくないですか?長時間作業するのであれば、画面は真っ黒にして使用したほうが疲れにくいし(個人的感想)、なんかかっこよくないですか?ww私は、壁紙も、Officeソフトのテーマも、VSCodeもすべて真っ黒設定にしています。理由はかっこいいからですwと、いうわけで今回は、VBEの背景色や文字色を変更する方法について書きます。VBEのデフォルト画面VBEのデフォルト設定は下記のような画面になります。この状態でも充分使用できます(当たり前)ここから好みの文字色やフォントに変えていきます。手順1.画面上部の「ツール」→「オプション」をクリックします。2.オプション画面の「エディターの設定」タブをクリックします。こちらで設定して、最後に「OK」をクリックすれば完了です。以上!かんたん!!!コードの表示色についてエディターの設定にある、「コードの表示色」についての詳細は下記のとおりです。(別に覚える必要はありません。)===================================== ・標準コード:数値や文字列などの値など  ・選択された文字:クリックで選択した文字 ・構文エラーの文字:構文中のエラー箇所 ・次のステートメント:実行時エラー、Stopなどで停止している次のステートメント  ・ブレークポイント:ブレークポイントを貼っている箇所 ・コメント:コメントアウトの文字 ・キーワード
0
カバー画像

【Excel/VBA】指定した文字の間を抽出する

みなさんこんにちは。イプシロンです。VBAではセルの情報を引っ張って文字列操作するという作業が多く発生します。Left関数やRight関数等、文字列系の関数を駆使して自分がやりたい文字列操作を実現させることが腕の見せどころであります。今回は、特定の文字の間の文字列を抽出するコードについて書きます。私は、スクレイピングでよく使用するため、備忘録としてご活用ください。コード内容'/////////////////////////////////////////////////////////////// ' Mainの関数'///////////////////////////////////////////////////////////////Sub main()     Dim str1 As String     Dim str2 As String     str1 = "りんごちゃん「わたしはりんごが大好きです。」と言いました。"     ' 第一引数:抽出下の文字列     ' 第二引数:抽出したい先頭の文字列     ' 第三引数:抽出したい末尾の文字列     str2 = StringExtraction(str1, "「", "」")     Debug.Print str2 ' 出力結果 ”わたしはりんごが大好きです。”End Sub '/////////////////////////////////////////////////////////////// ' 囲まれた範囲内の文字を抽出する '/////////////////////////////
0
272 件中 1 - 60
有料ブログの投稿方法はこちら