記事キャッチ画像  (35) セル参照の復習と、自分仕様の「表検索2(列方向)」の作成! 

 1. CurrentRegion を利用して、列方向の「表検索」 機能を実装する 

 2. 「セル参照」の復習 

  「広告」  
 


  (35) セル参照の復習と、自分仕様の「表検索2(列方向)」の作成! 


Excel メニューバーの [ヘルプ] - [更新プログラムのチェック] にて、適用されていないアップデートがあれば行ってください。 

Excel 2016 for Mac 環境での説明となりますので、 Mac版 Excel 2011 では( VBA が利用できますが )同じ結果にならない場合があるかもしれません。

現状、 VBE 内で日本語を記述すると(貼り付けのみ可能な場合あり)乱れたり、保存時にクラッシュすることが多いため、 VBAコード は「未変換の英数字のみ」で記述してください。(テキストエディタからの貼り付けは可能)

前回使用した XLSM ファイルを、「マクロを有効」にして開きます。
今回は、まだデータ入力していない「Sheet4」ワークシートを用い、VBAコードも「Sheet4」に実装します!(今回は、前回実装したコードの修正)

列方向(列を左から右)に検索したい「行」を含むセルをダブルクリックすると、「キーワード」入力のための InputBox が開く。

18

02

次の列をダブルクリックすれば、そこからもう一度検索も可能。

03

20

10


'----------------------------------------
'    Event: Worksheet_BeforeDoubleClick() [ Ver.2 ]
'----------------------------------------
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    Dim row As Long
    Dim col As Long
    Dim region1 As Range
    Dim str As String

    Cancel = True

    row = Target.Row

    For Each region1 In Target.CurrentRegion
        Exit For
    Next region1

    str = InputBox("検索キーワードを入力してください", "キーワード", "")
    str = "*" & Trim(str) & "*"

    For col = Target.Column To (region1.Column + Target.CurrentRegion.Columns.Count - 1)
        If Cells(row, col).Value Like str Then
            Cells(region1.Row, col).Resize(Target.CurrentRegion.Rows.Count, 1).Select
            Exit For
        End If
    Next col

End Sub


 1. CurrentRegion を利用して、列方向の「表検索」 機能を実装する 

11

CurrentRegion プロパティが示すセル範囲は、上記画面で示したセル範囲となる。
上記セル範囲内のセルを1つ以上選択している場合、指定したセルを含む「表全体」が参照される。
このとき参照される「表全体」のセル範囲を「アクティブセル領域」といいます。

今回の実装例は「列方向で左から右に検索」するパターンで、前回の宿題の答えとなる。
そのため、VBAコードの説明は  前回 (34) の記事  を参照して頂きたい。


 2. 「セル参照」の復習 

参照するセルVBAコード説明
「A1」セルRange("A1")単独セル
「A1」セルと「B3」セルRange("A1,B3")複数の単独セル
「A1〜B3」セルRange("A1:B3")セル範囲
「A1〜B3」セルと「C5〜D7」セルRange("A1:B3,C5:D7") 複数のセル範囲
「1〜3」行Range("1:3")複数行範囲
「A〜C」列Range("A:C")複数列範囲
「B3」セルCells(3,"B")Cells(行,列)
「B3」セルCells(3,2)Cells(行,列番号)
すべてのセルCellsアクティブシートの全セル


Range オブジェクトCells プロパティ )の 「 Offset プロパティ 」 と 「 End プロパティ 」 に関しては、以前に説明させて頂きました。


次回も、 セル参照に関して 更に 説明します


お疲れ様でした!
[command] + [Q] にてExcel を終了時、「作業中のブック」を保存するか確認のダイアログ画面が表示されるため 「保存」しましょう。
現状、 VBE 内で日本語を記述すると(貼り付けのみ可能な場合あり)乱れたり、保存時にクラッシュすることが多いため、 VBAコード は「未変換の英数字のみ」で記述してください。(テキストエディタからの貼り付けは可能)


最後まで読んでいただき、ありがとうございます。
ぜひ、右側の「人気ブログランキング」投票に ご協力ください。
また、お越しくださいませ。
// アタル

  「広告」  
 

このエントリーをはてなブックマークに追加

コメント

コメントフォーム
記事の評価
  • リセット
  • リセット

トラックバック