読者です 読者をやめる 読者になる 読者になる

年度初日直近の月曜日を割り出すマクロ

ちょい書きマクロです。 年度初日(4月1日)が属する週の月曜日の日付を割り出す必要があって、ちょこちょこっと作ってみた。 ワークシートはこんな感じ。 A3セルにはご覧の通りの書式設定を施しておく、と。 A1セルに、西暦年数を入れたら、A3セル…

クラス・モジュールの邪道かも知れない使い方

シートがたくさんあるブックをVBAで操作するとき、いつもシートの指定がめんどくさいなあと思っていました。 まあ、ちょい書きのマクロだったらシートの指定なんか雑でもいいんですけど、そこそこの規模のものになると、厳密に指定しておかないと後でわけが…

「ハナクソ」の除去について

昨日の記事で、Wordの表からExcelに転記すると、ハナクソみたいなやつがテキストの末尾についてくると書いた。 で、そのハナクソを除去するのに、Replace関数を使っていた。 このことについて、Twitterの数少ないVBA関係のフォロワーさんから、 Left関数でや…

Wordの表からの転記でどハマリ……

今日、Wordの表からExcelにデータを転記する簡単なマクロを作ったんですが、最初はうまいこと行っていたのに、ある瞬間から突然 というエラーが出て、どハマリしてしまいました……。 '参照設定でWordのオブジェクトライブラリにチェックを入れています。 Dim …

改ページの設定がカオス……

VBAであまり印刷まわりの処理はしたことがなかったんですが、スケジュール管理アプリみたいなのを自作させられる中で、印刷問題にぶち当たった。 改ページの設定がうまくいかなくて……。 ちょこちょこっと調べてみたら、 FitToPagesTallプロパティ FitToPages…

エラー対応の仕方

ずっと、「On Error Resume Next」が怖くて使えなかった。 だって、「エラーが出ても気にせずに次に進め!」なんて、そんな無責任かつ投げやりな対応が許されていいのか、と思っていたんですよ。 でも、最近はもっぱらコレばっかり。 そこそこ大規模なマクロ…

AdvancedFilterメソッドでデータを抽出する

「偉いさんのスケジュールを蓄積して、予定表を出力するマクロ作ってくれや。もう引き受けてしもたから、絶対やれ! 分かったな!」というパワハラまがいの命令を受けて、なぜかスケジュール管理アプリみたいなのを自作する羽目になった悲惨な私です。 そん…

セル内の長文を編集する

ExcelVBAでメールを自動作成するようなマクロを作る場合、当然本文の文字列もワークシート上で管理することになると思う。 ただ、文章が長くなると、シート上では読み書きしづらい、ということが起こる。 私の場合、本文用の列を10列ぐらい用意して、1段落…

セル内の数式を一括して書き換える

結構な規模の表を作ってしまってから、「あっちゃー! 数式を○○にしときゃ良かったよ!」というときが結構ある。 まあ、数式を入れたセルが全部連続していたら、先頭のセルだけ書き換えて後はオートフィルで一発、で済むんだが、数式の入っているセルが不連…

マクロを「クイック アクセス ツール バー」から起動する

作ったマクロを起動する方法はいろいろありますが、日常の面倒な「ちょっとした」作業を自動化するときには、「クイック アクセス ツール バー」に登録するのがおすすめ。 「ショートカットキーに登録しといたら、キーボードから手を離さずに操作できるので…

VBAによる自動化の第一歩(補足)

昨日のブログをtwitterに上げたら、早速フォロワー様からご指摘をいただいた。 「空欄があった場合の対応がないぞ!」と。 ははは。ホントだ。 こんな場合に、 全部選択して実行すると、 当然こうなるwww Sub 様をつける3() Dim objCell As Range For Eac…

VBAによる自動化の第一歩

ウチの職場では、職員のPC全てにExcelが入っているのですが、まあ、ろくに活用されていないw たぶん、昔からある方眼付きコピー原紙の電子版ぐらいにしか思われていない。 VLOOKUP関数がまともに使えるだけで、もう「Excelマスター」気取りですからね。 ま…

クラスモジュールを用いた自作クラスのプロパティについて

クラスモジュールの使い方を練習するため、遊び半分にプログラムしてみた。高橋麻奈さんの『やさしいJava』に倣って、車オブジェクトを作るという体で。 とりあえず、Sheet1に、上の画像のような表を作る。A、B列の1行目にはコマンドボタンを設置している。…