2016-10-11 2 views
0

私はデータセットからより詳細な情報を収集するためのカスタム関数の開発に取り組んでいます。私は機能が存在することを認識して優れている、それは私のパラメータを入力することができますが、それは私に#VALUEを与えている!エラー。Excel VBA:カスタム関数が動作しない

私はそれがいくつかの配列と関係があるかもしれないと私はどのように表示されるデータを収集しようとしていると思われる。

私は2つのテーブルにメインデータテーブルと、私が収集しようとしている余分なデータを含むコールテーブルを持っています。

各アイテムの開始時間と継続時間に基づいて、各アイテムが占めるスロットの数を調べています。私はDo Untilループを使用して、アイテムが占有する「スロット」を持つ配列を塗りつぶし、そのリストを関数の出力セルに表示しようとしました。私のコメントを無視してください。

Function SlotsOccupied(Duration, StartTime, Day) 


    Dim SlotsUsed() As String 
    ReDim SlotsUsed(0 To Duration) 'sets SlotsUsed array size 
    Dim StartT(0 To 1) 'sets Array StartT 
    Dim StarTarr As Variant 
    Dim DurCount as Integer 
    Dim SlotCount as Integer 
    Dim StartTCount as Integer 


             'Sets Counts and starting variables 
    DurCount = 0 
    SlotCount = 0 
    StartTCount = StartTime 


    StartT(0) = Day     'sets StartT array values 
    StartT(1) = StartTime 


    Do Until DurCount = Duration 

     StartTarr = Join(StartT, ",") 

     Slot = Application.WorksheetFunction.VLookup(StarTarr, Slots.Range("a2:b56"), 2, False) 

     SlotsUsed(SlotCount) = Slot 

     DurCount = DurCount + 1 
     StartTCount = StarTCount + 1 
     SlotCount = SlotCount + 1 

    Loop 

    SlotsOccupied = Join(SlotsUsed, ",") 

何か助けていただければと思いますが、私はかなり長い時間をかけてコードを作成していません。私は脳の錆を感じています。

ありがとうございます。

答えて

0

変数durcount、slotcount、またはstarttcountを暗くすることはありません。

+0

ありがとうございます!私は最初にそれをやっていないために気が気になりません。私は今それを修正しましたが、依然として価値の誤りがあります。コードの残りの部分はOKのようですか? – Mezza

+0

元の投稿を更新して、更新されたコードを追加してください。そして、コードを手動で反復しようとしましたか?それはデバッグに役立つかもしれません。 – acousticismX

関連する問題