t-hom’s diary

主にVBAネタを扱っているブログです。

VBA Excelガントチャート作成マクロ

VBA

今回はVBAでExcelガントチャートを作成するマクロを紹介する。 作成したガントチャート自体はマクロに依存せずExcelの基本機能で動作する。完成すると以下のようなイメージになる。 大元のアイデアはこちらのYouTube動画を参考にしている。 動画だと英語の解…

在宅勤務用にミュートスイッチを作成

在宅勤務で受電時に瞬時にミュートできるスイッチを作ったので紹介しようと思う。実際のモノはこんな感じで、だいたいマウスくらいのサイズ。ミュート中はLEDが赤く点滅する。 なんでこんなものを作ったのか 私の自宅では定刻になったらラズパイが可愛らしい…

古いお風呂の入浴環境をUpgradeするアイテム

最近湯舟につかろうと思い立った。 これまで10年ほどほとんどシャワーのみで過ごしてきたのに、なんでまたこれから暑くなる今から入浴なのかというと、とある動画の影響である。 このところ疲れを感じていた私に、しっかり疲れを取るには入浴が効果的という…

ハウスダストの移動モデルと対策アイテム

掃除してもしても無限に湧き出てくる埃。1日床掃除しなかっただけで掃除機をかけるとびっくりするくらいの量がとれる。一体どこから湧いて出るのか。 気になって海外の動画等で調べてみると、まずハウスダストの60%は家の外から持ち込まれ、残り40%は服の繊…

ど素人がオーディオインターフェースを買ってみた話

はじめに断っておくと、私にはオーディオの深い世界が分からない。聴覚に医学的な異常はないので、悪い音とそこそこ良い音の区別はつく。 しかし、そこそこ良い音と最高に良い音の区別はつかないと思う。単に聞いたことがないからという理由でそう思い込んで…

プログラミングで過去に行き詰った問題に再トライすることの勧め

昨年10月頃に、とあるPythonプログラムで2つの問題に行き詰っていた。 折角の連休なので再トライしてみたところ2つともあっさり解決してしまった。プログラミングに限らずこういうことはよくある。一度行き詰ってしまった問題でも、ある程度の期間を置くこと…

在宅勤務の効率化 Koolertron 9キーマクロキーボードのご紹介

最近買ったマクロキーボードがとても便利だったのでご紹介。今回レビューするのはKoolertron片手マクロメカニカルキーボードという製品。Koolertron片手マクロメカニカルキーボード 9キーフルプログラム可能ゲーミングキーボード カスタマイズ可能小型キーボ…

ローソク足チャートでダイエットの経過報告

前回ローソク足で体重管理するという記事を書いた。 今回はプログラミングと全く関係ないけど、まぁ前回記事を書いてからそろそろ2週間だし経過報告しとかないとどうせ三日坊主だろとか思われるものアレなので。。てな感じで現在のグラフがこちら。 1カ月で1…

ローソク足チャートで体重管理

先日、別の記事で紹介した自動体重記録システムだが、このなかにローソク足チャートを表示させたいというものがある。 今回はプログラミング関係ないけど、これをちょっと説明してみようかと。 ローソク足チャートについて ローソク足チャートは主に株の値動…

VBA 数値をふりがなに変換するマクロ

VBA

今回のマクロは、数値をふりがなに変換するマクロの紹介。 例えば1なら「いち」、290なら「に / ひゃく / きゅう / じゅう」という具合だ。これの何が難しいかというと、単純に数値の読み「1~9」と位の読み「じゅう・ひゃく・せん」を組み合わせればできる…

VBA 減量のためのカロリー計算

VBA

ちょっと最近太りぎみなのでそろろそマジでダイエットでもしようかと思い立ったところ、世の中には種々様々なダイエット法が存在していて、一体どうすれば良いのか混乱する。ただ基本的には、シンプルにこういう式で表すことができる。 摂取エネルギー > 消…

VBA 電波の図形を作成するマクロ

VBA

今回は電波の図形を作成するマクロを作った。 といってもサイン派みたいなのではなく、イラストでよくある電波でてますよーというアイコンみたいなもの。 下図のように基本図形の「円弧」を使って作画するのだが、手動でやるとどうにも綺麗にできないのでプ…

PythonでGUI版 筋トレメトロノームを作成 その2

前回は筋トレ用メトロノームをGUI化した。 thom.hateblo.jpなるべく紹介済の機能に絞って書いたのでコードがとても冗長だ。 前回GUIパーツをそれぞれ変数に入れて扱っていたため、今回はPythonのデータ型(リスト、タプル、ディクショナリ)を使ってもう少しス…

PythonでGUI版 筋トレメトロノームを作成

前回の記事ではPythonで筋トレ用メトロノームを作成した。 thom.hateblo.jp前々回ではTkinterを使ったGUIのサンプルを紹介した。 thom.hateblo.jp今回は、これらを組み合わせて、GUI版の筋トレ用メトロノームを作成してみよう。 動作イメージ 動作は前回のCU…

Pythonで筋トレ用メトロノームを作成

前回の記事ではPythonでGUIを体験するプログラムを紹介した。今回はPythonで筋トレ用メトロノームを作成。 音がメインなので、GUIは作らないが、CUIでも十分実用的なプログラムが作れるということで紹介。 学習モチベーションUpに繋がると嬉しい。 実行イメ…

VBAer向け、Python入門用 GUIサンプル

今回は、ちょっとPythonを触ってみたいVBAerに向けて、簡単なGUIサンプルを紹介する。 Excel VBAではマクロの実行結果がシートに反映されるので、ある意味それ自体がGUIプログラミングと言えるが、殆どの言語では黒い画面に"Hello, World!"から入門するのが…

Python Tkinterで画面遷移

前回作成したPythonのルーチン読み上げツールだが、GUIメニューを作ってそこから起動するような形にしてみた。 thom.hateblo.jp動機は、将来的にツールを増やしていく場合、Bashスクリプトのダブルクリックで起動するのが面倒だから。机に立てかけたタッチス…

Pythonでルーチン読み上げツールを作ってみた

最近Pythonをかじりだした理由として、Rapsberry Piで使う目的で日常ルーチンを読み上げてくれるツールを作ったことがきっかけ。※読み上げといってもテキスト合成ではなくて、単にwavファイルに入れておいた音声を再生するだけです。 タイトルでがっかりさせ…

プログラミング言語はひとつマスターすれば他もできる?

プログラミングでは、ひとつの言語をマスターすれば、どんな言語でも使えると言われている。 この言説には賛否あるけど、ある意味正しくて、ある意味間違いだと思う。より正確に言えば、新しく学ぶ言語と既にマスターしている言語に共通する概念についてはス…

VBAで外部ツールを使わずに簡易テスト駆動開発をやってみる。

VBA

最近会社の会議でTDDが話題になった。 TDDとは何か?まずWikipediaを引用してみる。 テスト駆動開発 (てすとくどうかいはつ、test-driven development; TDD) とは、プログラム開発手法の一種で、プログラムに必要な各機能について、最初にテストを書き(これ…

VBA 開発中マクロブックのバックアップを取るマクロ

VBA

開発中のマクロで、こまめに保存しておきたいケースがあったのでコードを書いてみた。 これは開発中のブックに埋め込んで利用する前提。私は標準モジュール「DevTools」に保存して使っている。 Sub BackupFile() 'Microsoft Scripting Runtimeへの参照設定が…

Excel VBAでスクロール可能なフォームのアイデア

Excel VBAでフォームを作る際に、項目が多くてウインドウの高さに収まりきらないことがある。 そこで今回はスクロールによってフォーム全体をウインドウに収めるアイデアを紹介する。言葉では何がやりたいのか伝わりにくいと思うのでまずは動作イメージから…

VBA 連続して与えられた数の最大値、最小値を求めるクラス

今回は連続して値を投げ込み、その最大値・最小値を求めるクラスを紹介する。 かなりシンプルなのでわざわざ記録しておくこともないかなと迷ったけど、クラス初心者向けにはちょうど良いサンプルになりそうなのでとりあえず。 クラスモジュールのコード クラ…

VBA 呼び出し履歴を使ったデバッグ

VBA

VBEditorには呼び出し履歴という機能がある。たとえば、プロシージャProcAからプロシージャProcBを呼び出した際にProcBで実行時エラーを吐いて中断したとする。 このとき、中断モードでプロシージャ呼び出しを遡ることができる機能である。本記事ではこれを…

VBA Debug.Print、Debug.Assertの代用クラス案

Debug.Print、Debug.Assertはいずれもデバッグ用の機能なので、リリース版のコードには不要である。 かといって消してしまうと、次にコードを修正するときに面倒なので残しておきたい。そこで代用クラスを作ってみたので紹介。まずクラスモジュールを挿入し…

VBA アサーションチェックとは

最近Twitterで何件か、Debug.Assertについて語られているのを見かけたので乗っかってみる。Debug.Assertの使い方自体は以下で述べたので今回はその意義を中心に説明してみようと思う。 thom.hateblo.jp アサートとは Assertという英単語には、主張する・断言…

VBA ユーザーフォームでDual Listboxを作成

今回紹介するのは、複数アイテムの選択でよく見かけるDual Listbox UI。 一応説明しておくと、左のリストからアイテムを選択し、右へ移動させ、最終的に右にあるものが選択したアイテムとして扱われるユーザーインターフェースだ。構造はそれほど難しくない…

VBA 繰り返される定常業務の工数を見える化するアイデア

VBA

サービス業において、業務工数を見える化するというのはとても難しい。 実績ベースで工数入力をしている職場は多いと思うけど、実際のところその方法は担当者の匙加減で何とでもなってしまう。工数分析をしようと思ったら、工数は理論値で出して、実績との乖…

VBA 特定日付が、第何週目の何曜日なのかを求める関数

VBA

今回は特定日付が、第何週目の何曜日なのかを求める関数を紹介する。 といっても曜日はWeekday関数やFormat関数で簡単に求まるので、今回紹介するのは月のうちの何週目に相当するかを求める関数だ。まず、特定月のうち何週目に当たるのかは、次の関数で求め…

PowerPoint VBA スライドにプロジェクトのスケジュール図をプロットするマクロ

VBA

今回はパワポでよくあるこういうスケジュールスライドを作るVBAコードを紹介。 と言っても現段階では完成度は低いのであまり期待されると困ってしまう。ところどころハードコーディングしているし、クラスモジュール内でSelectionを参照しちゃってるし、変数…

当ブログは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。