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