VBAの勉強を始めてみた

色々試しています。

EXCEL

リストを使用して新規フォルダを大量に作成する

今回はエクセルのリストを使用して、Windowsの新規フォルダを大量に作成してみようと思います。新規フォルダの作成には、MkDirステートメントを使用します。 MkDir Path:=新しく作成するフォルダ名 MkDirステートメントは引数に指定された文字列をフォルダ名…

VLOOKUP関数的にファイルリネームを行う

VLOOKUP関数的に、いわゆる「表引き」でファイル名のリネームを行うファイルリネームソフト(もどき)を作ってみました。 目次 概要 プログラムの流れ コード本体 引数なしのDir関数の振る舞い お好みで機能を変更する 概要 例えばこのように、とある商品の…

大量のシートから目的のシートを探して表示させる方法

エクセルを使って仕事をしていると、一つのブックにシートが多くなりすぎて、目的のシートを探すのに手間取ってしまうことがあります。自分で作った資料ならまだしも、余所から頂いた資料であればなおさらです。1秒を争うような場面で、目的のシートが中々…

複数シートを1シートにまとめる

今回のコードは前回作ったコードの出がらしリサイクルです。前回は複数ブックのデータを一つのブックのシートにまとめるというものでしたが、今回は複数ブックという部分が、複数シートに変わっただけです。 前回の記事を投稿して、1日経って、冷静になって…

現在アクティブなブックのシートに、複数ブックのデータを挿入貼り付けする

今回は、マクロを使い始めた人がまず最初にやってみそうなことを、やってみようかと思います。 やりたいことは単純に下記のようなこと。 a.xlsx、b.xlsx、c.xlsx、d.xlsx、・・・・・・z.xlsxのように行数が不定な複数ブックがあり、 これらのデータを、a.xlsxのデ…

n行おきに改ページさせる

選択範囲内でn行おきに改ページを挿入するマクロです。例えば、1000行に対して5行ずつ改ページを入れたいときに、200回も手動で改ページなんて入れてられません。なので、マクロで楽しちゃいましょう。 改ページを設定したい矩形範囲を選択し、 n値を指定し…

複数選択したシートのシート名を取得

選択されているシートのコレクションを返すことのできる、 ActiveWindow.SelectedSheets というプロパティがあることを初めて知ったので、備忘のために書いておきます。 ActiveSheet と異なるのは、ActiveSheetは単一のシートが対象になるのに対し、ActiveWi…

検索に一致したセルのみを選択する

選択範囲内で、該当する文字が入っているセルのみを選択する簡単なマクロです。セルを選択させたのち、セルの背景色を変えるまでをマクロにしてみようと思ったんですが、ふと思い直し、選択するのみにとどめてみました。 ためしに、選択範囲内で3の入ってい…

罫線の有無で範囲選択を行う

Excelで、「Shift」+「Ctrl」を押しながら矢印キーを押せば、データの存在する最終行まで一気に選択することができます。が、下のようなデータの入っていない罫線のみの表で同じことをすると、 こんな感じで、Excelの最終行(1048576行など)まで突き抜けて…

データを指定文字で区切ってクリップボードへ転送する

複数選択したセルのデータを指定文字列で区切って連結し、クリップボードへ転送するマクロを作ってみました。Wordやメール、メモ帳など他のアプリケーションにコピペする際に便利です。 文章の中で、データとデータを区切るために使うのは:(コロン)、(読…

指定文字以外を半角にする

仕事で資料などを作っている時、複数のセルの文字列をマクロでまとめて半角にしたいなーって思うことがあります。StrConv関数を使えば簡単にできるのですが、すべて半角になると見易さが失われる場合もあるため、指定文字列以外を半角にするっていうマクロを…

三つ以上の部分一致条件で絞り込みを行う(オートフィルター不使用)

オートフィルターを使った絞り込みでは、引数に配列を指定しても、三つ以上の部分一致条件での絞り込みができませんでした。なので、オートフィルターを使わずに三つ以上の部分一致条件で絞り込みをさせてみたいと思います。まあ、検索に一致しない行を非表…

三つ以上の完全一致条件で絞り込みを行う(オートフィルター使用)

前回の「飛び飛びのセルからデータをコピーするマクロ」を使用し、コピーした複数データを検索条件(OR条件)として絞り込みを行うマクロを作成してみたいと思います。 目次 完全一致条件に使用する文字列を取り込む 取り込んだ完全一致条件を元に絞り込みを…

飛び飛びに選択したセルからデータをコピーし、飛び飛びに選択したセルに貼り付ける

For Each NextとDataObjectを利用した簡単なマクロを作ってみました。 目次 飛び飛びに選択したセルのデータをコピーし、飛び飛びに選択したセルに貼り付ける コードの説明 応用1:結合セルからデータをコピーし、単一セルにデータを貼り付ける 応用2:単…

EXCEL表をTableタグに変換する 其の参(文字の水平位置を反映する)

先日、ブログのデザインテーマを「Bordeaux」から「Natural」へ変更した際、「Bordeaux」ではデフォルトでTableの見出しの文字が中央揃えだったのに対し、「Natural」では見出しも含めてすべて左揃えとなってしまい、過去記事が意図しないレイアウトになって…

暗号のような書式記号を使いこなす(日時用)

今回は日時用の書式記号についてまとめてみます。余談ですが、2019年5月1日に改元される予定となっています。書式についてはどのような対応になるんでしょーか? 目次 日付を表示する書式記号 時刻を表示する書式記号 区切り記号(文字列)は任意 日付を表示…

暗号のような書式記号を使いこなす(数値用/文字用)

Excelの書式設定から、表示形式-ユーザー定義の順に辿ると_ * #,##0.00_ ;_ * -#,##0.00_ ;_ * "-"??_ ;_ @_ このような、暗号のようなものを見かけることがあると思います。普段、何となくExcelを使っている人にとっては、は?(@_@;)っていう感じだと思…

ひっそりとExcel関数のおさらい(ワークシート関数 VBAで使用出来るもの・出来ないもの)

Excel関数(ワークシート関数)は、「WorksheetFunction.関数名」としてVBAでも使用することができます。では、すべてのExcel関数をVBAで使用できるのか?というと、そうではなく、使えないものもあったりします。今回は、約480近くあるExcel関数のうち、VBA…

ひっそりとExcel関数のおさらい(VLOOKUP関数/HLOOKUP関数)

今回はVLOOKUP関数、HLOOKUP関数について簡単にまとめてみます。 と、その前にちょっと雑談を。何かを学ぶには 必要に迫られて勉強する 今は必要ないけれど、とりあえず勉強する という2パターンがあると思います。このうちの後者は意外と重要で、とりあえ…

ひっそりとExcel関数のおさらい(アドインの登録/編集/解除および削除)

前回、ユーザー定義関数(自作関数)を紹介しましたが、これをアドインとして登録する方法について書いておきます。 作成したユーザー定義関数を常にExcelで使用したい時は、ユーザー定義関数を作成したブックをアドインとして登録する必要があります。個人…

ひっそりとExcel関数のおさらい(二進化十進数の相互変換)

今回は自作関数です。前回、基数変換について書きましたが、そういえば二進化十進数を相互変換する関数ってないんだなーと思い、作ってみました。無くても困りませんが、遊びで作ってみました。 目次 そもそも二進化十進数って? BCD表現における10進数を2進…

ひっそりとExcel関数のおさらい(ビット演算/基数変換)

なんとなく使いそうなExcel関数のまとめシリーズです。 目次 基数変換を行う(進数表現の変換) ビット演算を行う 基数変換を行う(進数表現の変換) 2進数を8進数に変換(BIN2OCT関数) =BIN2OCT(2進数,[桁数])[]内は省略可能な引数 引数の2進数から、8…

ひっそりとExcel関数のおさらい(三角関数に関するもの)

最近、自分が本当にやりたいことは何なのか自問自答してしまうことがあります。承認欲求を満たすために何かを行うのは気が重く、自分の勉強のために何かを行うのは気が楽です。でも、他人の目を「気にしすぎない」のは単なる独りよがりにも繋がります。その…

ひっそりとExcel関数のおさらい(日付/時刻に関するもの)

今回は日付/時刻に関する関数について、おさらいをします。と、同時に新たな気づき、アイデアに繋がればいいなーと思ってます。Excel関数に関しては、既に多くのウェブサイト・書籍等で解説しつくされていますが、自分の頭を整理するためになるべく自分の言…

ひっそりとExcel関数のおさらい(SUMIFS、COUNTIFS、AVERAGEIFS)

Excelを使っていると、VBAを組むという行為そのものが非効率であるといった場合もあったりします、そういう時にはExcel関数だけで仕事の効率化が図れることもあります。また、Excel関数を覚えておくと、VBAの中でも使うことができるので便利です(ワークシー…

年度はどうして4月始まりなの?

年を越しても、3月末までは変わらない「年度」・・・。今回は、なぜか年の瀬に「年度」について、調べたり考えたりしたことをまとめてみました。ついでに、エクセルのピボットテーブルを年度単位で作るための補助的マクロを掲載しちゃいます。 目次 国によって…

ブログを書くこと自体がプログラミングのようなもの?(雑記-5)

こんばんにゃ。とりとめのない雑記です。 ブログを書くこと自体がプログラミングのようなもの?最近ブログを書いていて思うのですが、ブログを書くこと自体がプログラミングのようなものではないか・・・と思うのです。日本語という言語を使って、考え・思いな…

ブログを見やすくする:ソースコードを見やすくカスタマイズ ~<pre><code>タグ~

これまでブログの見た目には無頓着だった私ですが、ブログの見やすさにも少し気を配ったほうが良いという声が聞こえた(気がした)ので、今回からちょっとずつカスタマイズしてみたいと思います。 まず、今更ですが、ブログに掲載するソースコードを見やすく…

セルの背景色および文字色の16進数を取得(CSS用に)

CSSで文字色や背景色の指定を行う際は、RGB値や16進数で色を指定することになるかと思います。 p { color: #2F4F4F; ←こーゆうヤツ} 色のRGB値や16進数は、色見本を一覧表にしているHPなどで調べるか、ペイントの色の編集などで調べられますが、ちょっとだけ…

非プログラマーがプログラミングの基礎を学んだのちに、進むべき方向は?(雑記-4)

今回は、プログラミングを本職としていない非プログラマーな私が非プログラマーを代表(?)してプログラミングとの付き合い方を考えてみたいと思います。 テクニックではなくアイデアで勝負する まあ・・・非プログラマーは趣味でプログラミングをやっているだ…