Excelマクロ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サンプル集」の記事

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

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


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

CSVの読み込み方法(ジャグ配列)|VBAサンプル集(7月15日)
その他のExcel機能(グループ化、重複の削除、オートフィル等)|VBA入門(7月14日)
オートフィルタ退避回復クラスを複数シート対応させるVBAクラス|VBA技術解説(7月6日)
オートフィルタを退避回復するVBAクラス|VBA技術解説(7月6日)
IfステートメントとIIF関数とMax関数の速度比較|VBA技術解説(6月23日)
Withステートメントの実行速度と注意点|VBA技術解説(6月6日)
VBA+SeleniumBasicで検索順位チェッカー(改)|VBA技術解説(6月2日)
マクロでShift_JIS文字コードか判定する|VBA技術解説(6月1日)
Shift_JISのテキストファイルをUTF-8に一括変換|VBAサンプル集(5月31日)
「VBAによる解析シリーズその2 カッコ」をやってみた|エクセル(5月21日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.変数とデータ型(Dim)|ExcelマクロVBA入門
5.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
6.繰り返し処理(For Next)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄
9.ひらがな⇔カタカナの変換|エクセル基本操作
10.セルに文字を入れるとは(Range,Value)|VBA入門



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

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


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




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