BeforeDoubleClickの活用方法! ワークシートイベント活用シリーズ1

BeforeDoubleClickの活用方法として挙げられるのは、

特定のセル範囲に対しての処理です。

例えば、

このセル範囲のどこかの セルを  ダブルクリックしたら

・背景色を赤色にしたい

・行を挿入したい

・ユーザーフォームを起動させたい

etc…

BeforeDoubleClick ではこのような問題を解決できます。

そんなわけで今回は BeforeDoubleClick の使用例として、

セルA1からA10 の範囲内で、ダブルクリックしたセルの背景色が赤くなるという処理をご紹介したいと思います♪

こんな感じでまずはイベントの準備をしましょう♪

BeforeDoubleClickで最も重要なメソッドがあります。それは、

Intersect メソッド です。

特定の範囲に指定したセルが被っているか、被っていないかを調べることができます。

サンプルコードを下記にご紹介します。

ではでは ちゃんと処理するかを確認します。

まずは処理対象外のA11セルをダブルクリックします。

処理対象外なのでカーソルがアクティブになりました。

次に肝となる対象範囲のA2セルをダブルクリックします。

きちんと処理されました♪♪

こんな感じで特定範囲のセルの処理をすることができました。

というわけでBeforeDoubleClick は何かしら大活躍します。

是非皆さんも
BeforeDoubleClick イベントをご活用あれ♪

ではではヾ(@⌒ー⌒@)ノ

イミディエイトウィンドウの更なる活用方法 VBA マクロ

イミディエイトウィンドウを使用するときは Debug.Print を用いて変数の中身を確認したりすることが多いかと思います。

 

イミディエイトウィンドウの更なる便利な活用方法として下記の方法をご紹介します♪

 

①イミディエイトウィンドウで直接コード入力!

 

簡単なコードによる処理や些細な処理等を、Subプロシージャから書く必要はありません。

 

例えば、A1セル背景を赤にしたいというときにはイミディエイトでコードを直接入力すれば反映されます。

しかも入力補助もでてきます。楽ちんですね。

 

 

応用技として選択範囲に対しても可能です。

 

 

②オブジェクト変数の中身を確認!

ForEach構文でループさせた場合のオブジェクト型変数の中身を確認できます♪

例えば、ワークシートの名前を調べる場合下記のようにForEachで回します。

変数wsが今どのシートにいるかをイミディエイトでしらべることができます♪

とはいえ変数の取得や計算の結果等は ”?” が必須となるので気をつけてください。

?の行でEnterを押せば結果を取得できます。

結果は下記です。

 

なかなか重宝する機能なので是非ともイミディエイトを活用していきましょう♪

 

ではでは♪(*^-^*)

セルにリスト(プルダウンリスト)を設定する Validationプロパティ xlValidateList VBA マクロ

Excelではセルの入力規則を使用してセルにプルダウンリストを作ることができますね

 

セルにプルダウンリストを作るには Range.ValidationプロパティでAddメソッドを使用し、

セルタイプ:xlValidateListを設定します。

サンプルコードは下記。

セルA1にプルダウンリストに”気ままにエクセルVBA”と3行入力します。


マクロを書いているときプロパティのヒントから

.valueと.validationの選択間違いをちょいちょいする ようじえでした笑♪

ではではヾ(@⌒ー⌒@)ノ

セルの中身を調べる セル内の関数・計算式を調べる VBA マクロ Formulaプロパティ

Valueプロパティはよく使うプロパティですね。

ただ、場合によっては関数の返り値ではなく、

セルの中の計算内容や、関数を調べたい! 分岐させたい! というときは Range. Formula プロパティを使用します。

 

画像のようにA1セルに計算式があります。

 

マクロでA2の セルに A1セルの 数式を表示させてみます

 

しっかり表示させることができました♪

 

ではでは(゜o゜)

セルの文字を 縮小して全体を表示する VBA マクロ ShrinkToFitプロパティ

セル内の文字を全て表示させたいときの方法として、

①セルの文字を縮小表示する

②折り返し表示をする

③改行をする

方法を使うかと思います。

 

今回は①の縮小表示をするマクロをご紹介します。

Range. ShrinkToFit プロパティで縮小表示の設定ができます。

こんな感じのセルの文字が

きっちりセル内に表示されます♪

サンプルコードは下記

ではでは§^。^§

マクロ初心者必見! まず覚えておくと便利なプロパティ5選!

マクロ初級者にとって、オブジェクト・プロパティ・メソッドは新しい概念で覚えることが難しいかと思います。

その中で今回はまずは覚えておきたいプロパティ一覧をご紹介します♪

まずはといえども、上級になってもよく使うプロパティです。

 

Nameプロパティ

 

オブジェクト名.Nameで値の取得・設定ができます。

シート名の取得・設定とかセルの値の取得・設定ができます。

例 ActiveSheet.Name = ”気ままにエクセルVBA”

 

Countプロパティ

オブジェクト名.Countでオブジェクトの数を数えることができます。

例 シート名の数とか配列の数の取得ができます。

例 Debug.Print WorkSheets.Count

 

Indexプロパティ

オブジェクト名.Indexでオブジェクトの数を数えることができます。

例 シート番号の取得やチャート番号の取得ができます。

例 Debug.Print Activesheet.Count

 

Offsetプロパティ

Rangeオブジェクト.Offset(行、列)で指定したセルから移動したセルの値の取得・設定ができます。

指定したセルから離れたセルを取得・設定したいときに使用します。

例 Debug.Print Range(“A1”).offset(1,0).value

 

Endプロパティ

Rangeオブジェクト.Offset(行、列)で指定したセルから移動したセルの値の取得・設定ができます。

任意の行・列の最後の行を調べるときに使用します。

Controlキー + 矢印(←↑→↓)キー と同じ動きをします。

 

例 Debug.Print Range(”A1″).End(XltoRight).Value

 

シート番号・シート名に対して処理をするマクロ

 

プロパティ・メソッドはたくさんあって覚えられませんよね。

ただ、頻繁につかうものあまり使わないものがあるのでまずは頻繁につかうプロパティをどんどん使っていきましょう♪

自然とこういう場合ならどのプロパティ使えばいいのかわかってきます。

 

ではでは♪

セルの結合を解除するVBA マクロ・セルの結合をするVBA

個人的にも、VBA使いにとっても、嫌いなセルの結合

セルの結合の解除はUnMergeメソッドを使用します。(実務でちょいちょい使いますw)

サンプルコードは下記

※セルの結合を解除して、文字列を左に寄せています。

 

セルの結合をするには Mergeメソッドを使用します。(実務で一度も使用したことありませんがw)

 

リストの見出し部分ならまだしも、

リスト内でそもそもセルの結合をさせるメリットがありません。あるのは残念なほどのデメリットばかりです。

 

セルの結合のせいでマクロはもちろんのこと、シート関数すら使えないこともあります。

 

見映えがいいからという意見がありますが、デメリットを上回るほどのメリットになっていません。

見映えならセルの結合以外の方法を考えましょう。

 

ではでは♪

指定したシート番号・指定したシート名を処理する VBA マクロ

シートに対して、なになにする~というマクロを書く基本は

ForEach構文を使用します。

ForEach構文の使い方を覚えてしまえばシートが何百枚あろうがIF文で分岐させてサクッと処理させることができます。

 

シート3を処理したいという時のサンプル

シート名がSheet3を処理したいという時のサンプル

 

ではまた♪

シートの見出しを非表示にする 見出しを表示する VBA マクロ

えぇーぃ! 見出し(行番・列名)が邪魔だ!っていうときがあるかもしれません笑

マクロで見出しの表示非表示をするには ActiveWindow のプロパティDisplayHeadings を True/Falseにします。

 

サンプルコードは下記


ではでは♪~゜・_・゜~

目盛線を非表示にする 目盛り線を表示する VBA マクロ

エクセルでマニュアルや説明書を書くとき、目盛線を非表示にすると文字が映えて見やすくなりますよね♪

てなわけでマクロで目盛線の表示・非表示をするには

ActiveWindowのプロパティDisplayGridlinesをTrue/Falseにして変更できます♪

サンプルコードは下記

 

ではでは(^^)