字典

'******************************************************************************
'* プロシージャ名:UpdateGArrPersonSetBySetting
'* 記述:担当者の取得
'* @version $Date$  $Revision$  説明
'* 更新履歴  001    2010/02/25  新規作成(趙建明)
'******************************************************************************
Function GetPersonsFromOutSheet(ArrPersons() As String) As Integer
    Dim ICount As Long
    Dim i As Long
    Dim WsOut As Worksheet
    Dim ILength As Long
    Dim IHiddenLen As Long
    GetPersonsFromOutSheet = 0
    '全進捗情報シートをチェック
    If Not ChkHaveSheet(GALLSCHEDULESHEETNAME) Then
            ReDim ArrPersons(0 To 0) As String
        Exit Function
    End If
    Set WsOut = Worksheets(GALLSCHEDULESHEETNAME)
    '全進捗情報データをチェック
    ILength = WsOut.Cells(Rows.Count, 2).End(xlUp).Row
    ICount = ILength - ISTARTLINE + 1
    IHiddenLen = WsOut.Cells(Rows.Count, 6).End(xlUp).Row
    'データはある
    If ICount > 0 And IHiddenLen > 1 Then
        Dim ObjDic As Object, RngCell As Range
        Dim RngTemp As Range
        With WsOut
            Set RngTemp = .Range("F2:F" & IHiddenLen)
        End With
        Set ObjDic = CreateObject("Scripting.Dictionary")
        On Error Resume Next
        For Each RngCell In RngTemp
            If RngCell.Text <> "" Then
            ObjDic.Add RngCell.Text, RngCell.Text
            End If
        Next RngCell
        Dim VTemp As Variant
        VTemp = ObjDic.keys
        ICount = ObjDic.Count
        If ICount > 0 Then
            GetPersonsFromOutSheet = ICount
            ReDim ArrPersons(0 To ICount - 1) As String
            '担当者は配列に保存する
            For i = 0 To ICount - 1
                ArrPersons(i) = VTemp(i)
            Next i
        End If
        On Error GoTo 0
    Else
        ReDim ArrPersons(0 To 0) As String
    End If
End Function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值