投稿/コメントを表示します。

よろしくお願いします。

Chap 04-23
Option Explicit

Sub SetCampaignFlag()
    Dim stKonyuList() As String
    Dim c As Long
    For c = 2 To Range("F65536").End(xlUp).Row
        ReDim Preserve stKonyuList(c - 2)
        stKonyuList(c - 2) = Range("F" & c).Value
    Next
    
    For c = 2 To Range("B65536").End(xlUp).Row
        '以下のIf文の中で、関数からの戻り値を利用している


        '↓のif文がなぜ成り立つのかがピンときません。
  ’Functionプロシージャ戻り値がFalseかTrueならば
  ’ If IsExists(Range("B" & c).Value, stKonyuList) =False Then
       'と書きたくなります。考え方を教えてください。
  ’よろしくお願いします。


        If IsExists(Range("B" & c).Value, stKonyuList) Then
            Range("C" & c).Value = "○"
        Else
            Range("C" & c).ClearContents
        End If
    Next
End Sub
Function IsExists(s As String, ary() As String) As Boolean
    Dim c As Long
    Dim B As Boolean
    B = False
    For c = LBound(ary) To UBound(ary)
        If s = ary(c) Then
            B = True
            Exit For
        End If
    Next
    IsExists = B

    
End Function

2017/05/12 08:29