VBAの勉強 ある範囲の中から値を探す

 


VBAの勉強 ある範囲の中から値を探す

 本日のVBAの勉強は、ある範囲から値を探し出す方法です。
 エクセルの関数ならVLOOKUPがありますが、
 VBAではFindというものがあります。
 早速、答えから

Sub 値を見つける()

    Dim foundCell As Range
    Dim box1 As Long
         
    ' box1に3に入れ込む
    box1 = 3
        
    ' box1と同じ値をM列から探しfoundCellに入れ込む。
    Set foundCell = Range("M1:M" & Rows.Count).Find(What:=box1, LookAt:=xlWhole)
        
    'foundCellの右隣にHereと表示する。
    foundCell.Offset(0, 1).Value = "Here"
         
    If Not foundCell Is Nothing Then
        MsgBox "見つかりました。 "
    Else
        MsgBox "一致するデータが見つかりませんでした。"
    End If

End Sub

 値一つ探すのにVBAでは上のように表現するんですね。
 「目で探した方が早いよ」と昔は感じていましたが、大量情報処理の場合は
必須になります。
 それを教えてくれないから、若い時(10代)のプログラミング学習がつまらなくて
挫折?したような気がします。
 本日もお疲れさまでした。


今日のメモ

 マイクロソフトは上がりました。
 エヌビディアも上がっています。
 円安落ち着き?151円代まで戻ってます。
 今後どうなるでしょうか。上がっていきそうな感じですね。

マイクロソフト

 株価   406.66ドル/株(アメリカ5/3 16時00分時点 終値)
 前日終値 397.84ドル/株(アメリカ5/2 16時00分時点 終値)
 OVER累計     1371
 UNDER累計   1954
 買い優勢で、なんだか数量が落ち着いています。

エヌビディア

 株価   887.89ドル/株(アメリカ5/3 16時00分時点 終値)
 前日終値 858.17ドル/株(アメリカ5/2 16時00分時点 終値)
 OVER累計  1793
 UNDER類家  5209
 買い優勢です。まだまだ上がりそうですね。