ダイアログボックスを閉じたとき デバッグをさせないようにする ダイアログをキャンセル VBA マクロ

ダイアログボックスを呼び出したのはいいけど、閉じたいときにデバッグ発生しちゃうよ!!

っていうときは IF文で分岐させるべし!です。

ダイアログボックスの閉じるボタンを押したとき変数には ”False”  が返されます。

ですので

IF 変数=”False” Then Exit For

この一文を入れるだけでデバッグを回避できます。

簡単ですね(‘ω’)ノ

サンプルは下記ご参照あれ♪

表示された行のみに番号を割り振る・計算をする VBA マクロ 関数

行の非表示は計算しないで合計を出したい!っていうこともあるかと思います。

マクロなんか使わず簡単に済ませたい!って方には便利な関数あります。

SUBTOTAL関数 です。

=集計方法(候補が上がるので数値を選びましょう),参照範囲 となります。

重要なのはココです。

※集計方法の3桁の数字は非表示は含まないという設定ができます。

下記画像はサンプルです。

これで簡単に合計は出せますね♪

 

しかし、合計は出せても

表示セル部分のみにIDやインデックス番号を関数で出すのはちょい面倒です。

というより関数でいろいろ組み合わせるより、マクロに慣れてしまった私は関数で表示させる方がマクロ書くより時間かかりますwww

てなわけでマクロでIDや合計算出するには下記のサンプルをご確認ください。

For ~Next構文でサクっとだせます。セルAの表示セルにID番号 セルB12には合計 を出します。


sample

こんなにマクロの投稿してるのにForNext構文全然出してませんねw

ではでは♪

行・列を表示・非表示にする VBA マクロ 表示・非表示の切り替え OnOff

リストを見やすくするために行の表示・非表示はよく使うかと思います。

 

マクロで行を表示・非表示するには

 

Rows.Hiddenを使用します。

列の場合も同様です。

 

表示の切り替えをいちいち行う場合はどうするのかというと、

Not演算子が出てきます。


 =Not と入れることで左辺の反対(TrueもしくはFalse)を返します。

いちいちIf文を書く手間が省けますね♪

 

実はNot演算子はOn/Offなどできる便利な演算子だったりします♪

 

次回は表示・非表示のリストの計算について投稿したいと思います♪

家計簿便利ツール♪ みずほ銀行の家計簿ツール みずほ銀行 無料家計簿 収支一覧表 明細を取込む

みずほ銀行を使われている方は結構いるかと思います。

 

毎月の収支等の家計簿を作りたいなと思ったので、自分で作りました♪

 

せっかくなので見に来ていただいている方にも使用していただきたいなと思い、

みずほ銀行の家計簿ツールを公開します。

有料で帳簿つけるなんて本当にもったいないです。

 

ツール使用にあたり先に必要なものを上げておきます。

 

・Excel

・みずほダイレクトに登録していること

ofx2excel をダウンロードしていること。ココからダウンロードできます。https://yamagata.int21h.jp/tool/ofx2excel/

ではツールの使用方法を書いていきます。

ツール本体は下記の説明を読みながら、下記のリンクからダウンロードしてください

 

みずほダイレクトにログイン

入出金明細照会ページからMicrosoftMoney画像をクリックし、ダウンロード範囲の期間等を設定してください

 

取り込むボタンでOFXファイルがダウンロードされます。

 

ofx2excel.exeを起動

→ファイルメニューの ”OFXファイルの読み込みを選択”

→先ほどダウンロードしたOFXファイルを選択(画面一覧にデータが表示されます)

→ファイルメニュー ”クリップボードにコピーする”を選択

 

→みずほ銀行帳簿.xlsm を起動 →これです。サンプル用みずほ銀行帳簿

→ファイルを起動させて見出し日時の下のセルにペーストする

→帳簿の実行ボタンを押す

 

という流れで簡単ではありますが収支が見られるようになっております。

 

 

ご質問や更にこうした方がいいとかアドバイスあればどんどんコメントください(‘ω’)ノ

 

ではでは♪

 

Vlookupより便利な関数 Index関数とMatch関数の組み合わせ

VlookUp関数はみなさんよく使われる関数かと思います。

セルの表示形式をそろえて参照や列が間違えてなければきちんと表示されますね。

ただし、VlookUp関数の弱点は参照するコードやリストが右側にあると機能してくれません。

下記のリストです。

1行目はVlookUp関数を使用してますがエラーですね。こういうリストを使用する際には

2行目のIndex関数+Match関数を使用しています。

二つの関数が入れ子にされて覚えづらいかもしれませんが覚えれば非常に便利です。

 

ざっくり簡単に説明すると下記のようになります。

Index関数=(参照範囲,行番号,列番号)の値を返す。

Match関数=(調べる値,調べるもしくはの範囲,一致条件)が何番目にあるかを(数値で)返す

※Match関数は1つの行もしくは1つの列の範囲しか選択できません。

 

Index関数+Match関数Index(参照範囲,Match(調べる値,調べる行範囲,一致条件(上記のリストでは完全一致)),列番号)

Match関数で行番号を調べています。

画像のリストでは調べる列が1列しかないので列番号は1となります。

 

調べる列が2列以上ある場合、=(Index関数+Match関数+Match関数)という式になります。

 

関数やVBAは見ているより手を動かしたほうが上達も早いです。

まずは手を動かして実践をして覚えていきましょう♪

 

ではでは♪

セルの先頭文字に0を入力する セルの表示形式を設定する VBA マクロ

初心者の方だと セルに「010」と入力しても「10」としか表示されず、あれ?なぜだ?となる方もいるかと思います。

 

マクロで処理するときにもはまってしまう方もいるかと思います。

まさに自分がそうでしたが笑

 

対策として2点かあります。

・セルの表示形式を 文字列 にする

 

・セルの先頭に ’(シングルクォーテーション) を入力する

 

私のオススメというか私はセルの表示形式を列ごと文字列にして先頭に0を表示させています。

リストや計算の過程でもしかしたら、 シングルクオーテーションにする必要がある可能性も少なからずあるとは思いますが。

私の(未熟ではありますが)経験上ではほとんどのリストで文字列形式でも問題ないです。

 

ちなみに表示形式を標準に戻す場合は下記の通りです。

その他の表示形式をしたい場合はセル上で 

Controlキー +1(セルの書式設定を表示)→表示形式タブ→ユーザー定義のリストを選択→種類タブ上を全選択→コピペ

すれば設定できます(‘ω’)ノ

ではでは♪

ファイルを開く 指定したファイルを開く ダイアログファイルを出してファイルを開く VBA マクロ

ファイルを指定してマクロ処理をしたい!ってよくあることかと思います。

私自身、ファイルを開いて処理をするってことが多々あります。

 

実はマクロでファイルを開くって結構簡単だったりします。

Application.GetOpenFilename メソッドを使用します♪

Application.Getfilenameメソッドは選択したファイルの文字列しか返しません。なので選択すれば開くというわけではありません。

引数の指定は下記です。引数を指定しなくてもいいとは思いますが。

FileFilter→開くファイル形式を指定します。

FilterIndex→ FileFilterで指定したファイルのインデックス番号を指定し規定値を指定します。

Title →ダイアログボックスの名前を指定します。

ButtonText →通常使わないです。

MultiSelect→Trueで複数ファイルを開けます。Falseで一つのファイルのみ開けます。

 

サンプルは下記です。エクセルファイルとCSVファイルのみ開けるように引数指定しています。

ではでは♪

オートフィルターの設定・解除をする マクロ VBA オートフィルターがあるか(設定されているかされていないか)調べるマクロ VBA

オートフィルターの設定のショートカットキーに引き続き、

マクロでオートフィルターを設定・解除する場合についてご紹介します♪

 

まずは設定する方法について。

ややこしいですがオートフィルターには、

Autofilterオブジェクト と Autofilterメソッド があります。

違いとざっくりな使い方は下記の通り

 

Autofilterオブジェクト →  Worksheetオブジェクトに属している

オートフィルターが設定されているかされていないかの判定ができます。

 

Autofilterメソッド→ Rangeオブジェクトに属している

オートフィルターの設定と解除ができる

上のようなリストのラベルにオートフィルターを設定する場合下記のマクロで設定できます。

ただし、Autofilterメソッドでは設定と解除しかできません。

なのでオートフィルターを設定したままにしていたい・解除したままにしていたい時、

マクロ全体の処理がうまくいかない可能性があります。

 

そんな時にAutofilterオブジェクトを使用します。

Autofilterオブジェクトでオートフィルターがあるかないかを判断できます。

 

オートフィルターを設定したままにしたい時は下記サンプルをご確認ください。


※オートフィルターを設定させたくない場合は

If Not Labe Is Nothing Then

とすればオートフィルターを解除させたままにできます。

 

サンプルファイルも添付しておきます♪

オートフィルターサンプル

ではでは(‘ω’)ノ

オートフィルターを設定する ショートカットキー

エクセル操作の手作業では手放せないオートフィルター機能ですよね。

 

今回ご紹介するのは

手作業でも簡単にオートフィルターの設定と解除をする方法・マクロでオートフィルターを設定・解除する方法をご紹介します♪

手作業でオートフィルターを設定する場合、操作が不慣れな方は

 

範囲選択→リボンを開く→ホームタブ→並び替えとフィルターボタン→フィルターを選択(右クリックメニューも同様)。。。

 

フィルターを設定するだけでも面倒な工程を経ています。そして解除をする際も、

 

リボンを開く→ホームタブ→並び替えとフィルターボタン→フィルターを選択(右クリックメニューも同様)。。。

 

わざわざ面倒!って私はなります。

 

そんなときには  ctrl+shift+Lキー でちょちょいのちょいです。

 

まず フィルターかける場所を範囲選択→ ctrl+shift+Lキー で一瞬で設定できます。

 

また解除なんてもっと簡単。そのまま(範囲選択しない) ctrl+shift+Lキー で一瞬で解除できます。

 

次はマクロでオートフィルターを設定する方法をご紹介します。

ではでは

抵抗勢力との向き合い方

業務の改善を進めていると出てくるのが抵抗勢力

社歴が長い人や役職のある人ほど新しいモノを怖がる傾向にあるようにかんじられます。

マクロを導入しても抵抗勢力に

「あなたしかわからないじゃない」、「マクロなんて使わなくてもシート関数でいいじゃん」etc…

 

せっかくマクロを導入して劇的に改善されているのに受け入れられない方もおられます。

 

ようじえさん何で勝手にマクロ作ってるの?なんて言われたときは私もカッとなってしまったことがあります。

 

人を変えることはとても難しいことです。なので自分だけどんどん変わっていきましょう♪

 

改善を導入したものは全て手順書を書き、マクロの内容もきちんと書いておくのがよいかと。

 

それすらも抵抗してくる場合は、そんな環境から卒業することを考えましょう(^^)

 

ではでは♪