Excelで選択範囲内の罫線の太さを変えるマクロ

Excelで困ることの一つと言えば凝った表です。罫線の太さが細かく調整されていると見た目がいいです。一方、メンテナンスが面倒になります。太さが混在していると非常に醜いです。
シンプルな表ならば一括して太さを指定し直せばいいのですが、罫線が不要な部分にもセットされてしまいます。
そこで、罫線がある部分だけを対象に太さを一括して変えるマクロを考えました。 (さらに…)

Excelで連番を入力する方法

表を作成した際に連番を入力するケースはとても多いです。
単に「何番目か?」とか「何件あるか?」ということを知るためにセットする以外にも意味があります。表計算ソフトとして使う場合、並べ替えをすることがあります。あらかじめ連番をセットしておけば、この連番で並べ替えをすれば最初の状態に簡単に戻すことができます。
連番を入力する方法としてマクロを使う方法とオーソドックスな方法をいくつか紹介します。「1,2,3,…」という連番を縦に入力するという前提です。Excel2007で確認しました。 (さらに…)

Excelで「Enterは下に、Tabは右に移動する」だけではない

Excelのワークシート上でEnterキーを押したときの移動方向については、メニューのファイル - オプション - 詳細設定 の「Enterキーを押したら、セルを移動する」で設定できます。
初期設定では、Excelのワークシート上でEnterキーを押すと下のセルに移動します。
Tabキーを押すと右のセルに移動します。
ただ、これだけならば矢印キーと変わりません。実は次のような動きをします。Excel2013で確認しました。 (さらに…)

Excelで印刷時に文字がはみ出さないようにする方法

Excelで「折り返して全体を表示する」を適用している場合、画面上ではセルに収まっている文字が印刷するとはみ出して印字されないというケースがあります。
環境によるのかもしれませんが、これは困ります。ページ設定で縮小するとダメなようです。 (さらに…)

Excelのワークシートの最下行と最右列を取得

Excelのマクロでデータがセットされている最も下の行を求める場面はよくあります。
ワークシートにA1セルを起点(左上)とする一般的な表がある場合、
Cells(Rows.Count, 1).End(xlUp).Row
とすることで取得できます。
Cells(Rows.Count, 1)はワークシートのA列の最も下のセルを表します。Excel2013ならば1048576になります。
End(xlUp)はCtrlを押しながら上向き矢印を押したのと同じ効果があります。つまり最も下のセルから上に向かってデータがセットされているセルを探します。
Rowで行番号を表します。
これならば万が一、表の左端に空のセルがあっても求められます。
最も右の列を求めるのも同様です。

まとめると次のようになります。

最も下の行番号
Cells(Rows.Count, 1).End(xlUp).Row

最も右の列番号
Cells(1, Columns.Count).End(xlToLeft).Column

なお範囲を取得するにはCurrentRegionを使う方法もあります。

Excelを表計算ソフトとして使う

Excelを表計算以外に使用するケースは多いです。「Excel方眼紙」などはその最たるものです。
しかしExcelは表計算ソフトとして使うときに最大の効果を発揮します。
そこで表計算ソフトとして使うための基本中の基本を考えたいと思います。
Excelのバージョンに関わらず使え、LibreOfficeなど類似ソフトにも応用できるはずです。 (さらに…)

「エンジニアが1時間未満で解くべき五つの問題」をVBAで解く

今年、流行った「五つの問題」を今頃、知りました。
色々な言語での解答が発表されていますが、おそらく誰もやらないであろう、VBAで挑戦してみました。
私がVBAの最大の弱点だと思うのが配列。ところがこの「五つの問題」はどれも配列を使わないと解けません。これに苦戦しました。 (さらに…)

VBAで順列

VBAで配列を与えると全ての順列を返すユーザー定義関数を紹介します。
JavaScriptの配列関連メソッドをVBAのユーザー定義関数に | You Look Too Cool
で紹介したユーザー定義関数のうち「splice」「push」「concat」が必要です。 (さらに…)

マイナンバー(個人番号)の正誤を確認するユーザー定義関数

Excelでマイナンバー(個人番号)の正誤を確認するユーザー定義関数を作りました。

二つの関数があります。
一つは「kensasuji_kojin」で個人番号12桁の左から11桁を与えると検査数字(チェックデジット)を返します。
もう一つがメインで「is_kojin_bango」で個人番号を与えると先頭11桁から求まる検査数字と末尾1桁の数字を比較し合致すればTrueを返します。12ケタのチェックもします。
例えばA1セルに個人番号を入力し、B1セルに「=is_kojin_bango(A1)」と入力します。
使用に関しては自己責任でお願いします。 (さらに…)

全てのシートの名前を配列で取得するマクロ

開いているExcelブックのすべてのシートの名前を配列で取得するマクロです。
これ自体は意味がないですが、他のマクロに組み込んで使えると思います。
Excel2013で確認しました。 (さらに…)

古い記事

タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報