素人がExcelVBAによる「一人働き方改革」に挑むブログスマートフォン用の表示で見る素人がExcelVBAによる「一人働き方改革」に挑むブログExcelVBAネタです。研修会とかそういう機会に、発表の順序を決めるとき。自薦方式をとったり、じゃんけんで決めてもらったりするのも良いが、Excelでやってみてもいいんではないか、と思った。次のようなシートを準備。Twitterで話題になっていたのでちょっと乗っかってみた。ファイル名変換ツールを自作したときに、ついでに作った。単純に先頭に文字列を追加するだけ。部屋の定員数に応じて、部屋割りをサクッとやってくれるマクロを作ってみた。「VBAからテキストファイルって生成できるんかな?」と思ってggってみたら、コチラでFileSystemObjectオブジェクトのCreateTextFileメソッドを使う方法が紹介されていた。差込印刷機能というのは非常に便利なので、Wordスキルがど素人のレベルでも使っている人は非常に多いと思う。私は、別に玄人でも何でもないので、自作のツールに煽りAAを入れる。「1箇月後の直近の木曜日を求める」という作業が発生した。コチラの記事で、クリック一発で編集中のドキュメントをPDF化するマクロを紹介した。セルのAddressプロパティを取得すると、例えばA1セルなら、「$A$1」という文字列が返る。的なリプをいただいたのだった。さんからコメントをいただいた。String関数(名前が紛らわしいですが)を使うと簡単に作れたりします。こんなマクロを使って大量にファイルを生成するような場合、ファイル名の先頭がゼロ埋め連番になっていると非常に都合が良い。「クソ」としか言いようのないExcel様式に出会った。差込印刷機能を使って似たような書類のWordファイルを自動的に作成するマクロをよく使う。ツイッターのフォロワーさんの「漢字テストの問題をランダムに作成できんかなー」みたいなツイートに反応して、どうやったらできるのか考えてみた。重複のない乱数を発生させるアルゴリズムを考えてみた。ggったらスマートなやつが見つかるとは思ったけど、自分で考えるというのが大事だと思ったのですよ。こんな感じで、「月」と「日」と「(」、「)」をあらかじめ入れておいて、月・日・曜日だけを書いてもらうようにしている。役に立たないと思うけど、ちょっと作ってみた。データ抽出元のシートを用意。セル範囲に名前を付けておく。前回の記事が、この過疎ブログには珍しく反響があったので、ちょっと追加。Replaceメソッドを使う方あり、Split関数を使う方あり、果ては正規表現を使うツワモノまで現れる始末......。「画像をクリックしたら、その画像のあるセルに現在時刻を書き込むようなことってできない?」と言われたのでやったことがあった。以上3つをフィールドとして持つ。メソッドは今のところ一つだけ。そんなことをする意味があるのかどうかはともかく、エラー時にメッセージを表示させるという処理もよく使うので、作ってみた。写しハンコつきPDFを作るマクロのコードを見直していると、メインの「写しPDFを作るクラス」が結構複雑なクラスになっていることが分かった。VBAクラス・モジュール前回のマクロをさらに書き換える。今度は、無駄にクラスモジュールを使うよ。クラスモジュールを挿入して、オブジェクト名を「GambleRacer」にした。クラスモジュールには下記のコードを書く。書きマクロ前回の転記用マクロを書き換えてみる。元のコードを下に再掲。余計なコメントは除去。コメント入りがご所望ならコチラをどうぞ。初心者向けVBA初心者向けブログみたいなタイトルなのに、全然初心者向けじゃなかったので、ちょっと初心者の頃を思い出して書く。私がVBAにハマるきっかけになったマクロです。こんな集約表に転記していく、という作業です。VBA自作クラスファイルを選択させるやつも作ってみた。例によってクラスモジュールを挿入。オブジェクト名はFilePickerにした。クラスモジュールのコードは下記の通り。Boole...小さなクラスを作る(3)~ファイルを選択させる次のページプロフィールid:akashi_keirinExcelVBAネタです。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。