VBAサンプル集
日付の検索(配列の使用)

ExcelマクロVBAの実用サンプル、エクセルVBA集と解説
最終更新日:2013-05-14

日付の検索(配列の使用)


日付の検索は、いろいろと面倒です。


Findメソッドで検索する場合、表示書式に左右されますので、

表示書式を変更しただけで、検索されなくなります。


これは、手作業での検索においても同様になりますが、マクロとしてはいかにも不便です。

以下のように、配列を自分で探すようにすれば、このような問題は発生しません。

Sub sample()
  Dim i As Long, j As Long
  Dim ary
  ary = ActiveSheet.UsedRange
  For i = LBound(ary, 1) To UBound(ary, 1)
    For j = LBound(ary, 2) To UBound(ary, 2)
      If ary(i, j) = Date Then
        ActiveSheet.UsedRange.Cells(i, j).Select
        Exit Sub
      End If
    Next j
  Next i
End Sub

まあ、ちょっと面倒ですが、確実に検索するためには仕方ありません。


上記をコピペして、検索条件のIF文だけ変更すれば、いろいろと用途が広がると思います。





同じテーマ「マクロVBAサンプル集」の記事

半角カナのみ全角カナに変換する

半角カナのみ全角カナに変換します。ネットを探してみたところ、あるにはあるのですが、どうも中途半端。直ぐに使えて、汎用性のあるプログラムが見つからなかったので、作ってみました。ではプログラムです。PrivateSub半角カナto全角カナ(ByRefobjRangeAsRange)DimstrInAs String'元の文字列DimstrOutAsStrin…
計算式の元となる数値定数を消去する(Precedents)
指定のセルの計算式が参照しているセルの数値定数をクリアします。ただし、参照しているセルが、さらに他のセルを参照している場合は、その先のセルを消去します。つまり、計算式の入っているセルを起点にして、その参照先をすべて検索し、計算式の元となるセル(数値定数が入っているセル)の値をクリアします。
Beep音で音楽(Beep,Sleep)
時々検索されるので、Beep音で音楽を演奏してみましょう。プログラムはほぼAPIをCALLするだけです。まずは、シートです。こんな感じです。ドレミの周波数は結構適当なので、詳しい方は自分で調整して下さい。
日付の検索(配列の使用)
ストップウォッチ(1/100秒)(Timer)
ストップウォッチを作ってみましょう。機能は簡単に、・ボタンを押すと、0からスタートし時間表示が進む。・もう一度ボタンを押すとストップする。これだけです。つまり、1つのボタンで、マクロをスタートさせたり、ストップさせたりする方法の紹介になります。
ストップウォッチ改(1/100秒)(Timer)
ストップウォッチを作る時の、基本的なVBAコードを以前に公開しましたが、時々お問い合わせをいただくことがあり、それなりに重宝されているようです。そこで、もう少し機能強化したものを作成した次第です。※Office365でスムーズに動作しないので、Sleepを入れて対処してみました。
重複の無いユニークなデータ作成
簡単な例で シート「元データ」A列に、1行目に見出し、2行目以降にデータが入っている シート「ユニーク」このA列に、シート「元データ」のA列をユニーク(一意)にして取り出します。まずは、エクセルらしく、ワークシート関数とフィルターを使って 非常にエクセルらしい、素直な処理です。
WEBデータの取得方法
WEBページのデータを取得して、エクセルのデータとして取り込みたいとの要望が多いようです。マクロVBAでWEBページのデータを取得する方法はいろいろあります。QueryTables InternetExplorer MSHTML MSXML2 順番に、以下で説明します。
右クリックメニューの変更(CommandBars)
セルを右クリックした時のショートカットメニューを変更します、右クリックメニューからマクロを起動できるようにすることで利便性が向上します・シートモジュールに以下を追加します。標準モジュールに以下を追加 SubAA() ActiveCell.Value="AA" EndSub SubBB1() ActiveCell.Value="…
エクセルのアイコン取得(FaceID)
エクセル内のアイコンを取得します。「右クリックメニューの変更」のFaceIdとして使用します。2003までなら、ツールバーが追加されます。2007以降では、リボンのアドインの中に追加されます。ConststartNoAsInteger=1'開始番号を指定 ConststopNoAsInteger=50'終了番号を指定 この数値を変更して実行して下さい。
素数を求めるマクロ
素数とは、1と自分自身以外に正の約数を持たない、1でない自然数のことです、この素数を求めて、シートに出力するマクロになります。特に何かに使えると言う事もないので、PCの計算能力って、どの程度なのかを実感してみるくらいの事でしょうか。注意 このマクロはオーバーフローするまで停止しません。


新着記事NEW ・・・新着記事一覧を見る

import文(パッケージ・モジュールのインポート)|Python入門(9月24日)
例外処理(try文)とexception一覧|Python入門(9月23日)
リスト内包表記|Python入門(9月22日)
Pythonの引数は参照渡しだが・・・|Python入門(9月21日)
lambda(ラムダ式、無名関数)と三項演算子|Python入門(9月20日)
関数内関数(関数のネスト)とスコープ|Python入門(9月18日)
関数の定義(def文)と引数|Python入門(9月18日)
組み込み関数一覧|Python入門(9月17日)
辞書(dict型)|Python入門(9月16日)
入力規則への貼り付けを禁止する|VBA技術解説(9月16日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
7.繰り返し処理(For Next)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.とにかく書いてみよう(Sub,End Sub)|VBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ