0

Excel で VBA 関数を使用すると、ユーザーが選択したセルから連結されたテキストの文字列が返されます。

これは必要に応じて機能しますが、選択範囲に非表示のセルがある場合、非表示のセルの値が含まれるため、望ましくありません。この問題が発生する例としては、テーブルがフィルター処理されている場合があります。

読み取られているセルが表示されているかどうかを確認するために関数を修正する方法はありますか?

Sub ConcatEmialAddresses()

    Dim EmailAddresses As String

    ActiveSheet.Range("C3").Value = combineSelected()
    ActiveSheet.Range("C3").Select

    Call MsgBox("The email address string from cell ""C3"" has been copied to your clipboard.", vbOKOnly, "Sit back, relax, it's all been taken care of...")

End Sub

Function combineSelected(Optional ByVal separator As String = "; ", _
                         Optional ByVal copyText As Boolean = True) As String

    Dim cellValue As Range
    Dim outputText As String

    For Each cellValue In Selection
        outputText = outputText & cellValue & separator
    Next cellValue

    If Right(outputText, 2) = separator Then outputText = Left(outputText, Len(outputText) - 2)

    combineSelected = outputText

End Function
4

1 に答える 1