前回更新したユーザ定義関数は、範囲の中で一番最初に出てくる文字を取得するユーザ定義関数でしたが、こちらは、その文字列と同じ位置の別範囲の文字列を取得するという関数です。

 

やりたいこと

意味わかんないかもしれませんが、第一引数に検索した文字列の範囲を選択します。ここでいうと、Hが取得できますよね。そのあとに、第二引数でB列を指定することで、Hと同じ位置を取得することができます。

 

つまり、2023/11/07を取得することができるんですね。Xlookupみたいな使い方ですが、最初に出てくる日付を取得しているというわけです。

 

範囲の中で一番最初に出てくる文字と同じ範囲の文字列を取得するVBAコード

利用したいときは標準モジュールを追加して以下のコードを追加してね。

Function firstChr_2nd(rangeCells, targetCells)
    Dim tempArray, targetArray As Variant
    tempArray = rangeCells
    targetArray = targetCells
    For i = 1 To UBound(tempArray)
        If tempArray(i, 1) <> "" Then
            firstChr_2nd = targetArray(i, 1)
            Exit Function
        End If
    Next
End Function

 

コードの解説

前回のVBAコードはこちらです。

前回のコードと比較すると、一致したときに返す文字列の範囲が第二引数になっていることがわかると思います。ただこれだけです。。

前回
今回

 

さいごに

こんな感じのユーザ定義関数を準備しておくと、色々応用がきくのですごく便利ですね。

 

ぜひ使ってみてください^^

 

ではまた!