久々にプログラミングをする機会があって、タイトルの通り範囲の中で一番最初に出てくる文字を取得する関数が欲しかったので作成しました。

 

やりたいこと

こんな感じで選択したときに、上から順に判定していって、最初に出てくる文字を取得したいというものです。

 

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

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

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

 

コードの解説

重要なのは4行目からのFor文ですが、範囲を引数として取得し、ブランクでなければその文字を取得して戻り値として返すという関数です。

 

さいごに

この関数をベースに、その文字が何番目に表示されるのか~とか、そういった修正もできると思います。

 

ぜひ使ってみてね~!