-2

「入力シート」のようにデータが表示される Excel シートがあります。T1 または T2 が各行に存在する場合、VBscript を使用して検索する必要があります。見つかった場合、「Task compdate」列は、次のタスクの「Stardate」列から値をコピーする必要があります。

入力シート:

 Activity        Task1    Task1 Stardate   Task1 Compdate     Task2     Task2 Stardate   Task2 Compdate   Task3     Task3 Stardate   Task3 Compdate

A1                T1       02/01/2012                           T1       04/01/2011                         T3         09/02/2011

A2                T2       02/01/2012                           T2       04/01/2011                         T3         09/02/2011

A3                T1       02/01/2012                           T4       04/01/2011                         T3         09/02/2011

出力シート:

 Activity        Task1    Task1 Stardate   Task1 Compdate     Task2     Task2 Stardate   Task2 Compdate   Task3     Task3 Stardate   Task3 Compdate

A1                T1       02/01/2012        04/01/2011         T1        04/01/2011       09/02/2011       T3         09/02/2011

A2                T2       02/01/2012        04/01/2011         T2        04/01/2011       09/02/2011       T3         09/02/2011

A3                T1       02/01/2012        04/01/2011         T4        04/01/2011                        T3         09/02/2011

更新コード:

IntRow6=2

Do While objSheet6.Cells(IntRow6,1).Value <> ""

DataCount=0
 For DataCount=0 to UBound(VMHArray)

  Set rSearch = objSheet6.Cells(IntRow6,1).EntireRow
  Set rFound = rSearch.Find(VMHArray(DataCount))

        If Not rFound Is Nothing Then

                 adrFirst = rFound.Address

               Do  

                   objSheet6.Cells(IntRow6,rFound.Column + 2)= objSheet6.Cells(IntRow6,rFound.Column + 5)
                   Set rFound = rSearch.FindNext(rFound)

               Loop Until rFound.Address = adrFirst
       End If

 Next

IntRow6=IntRow6+1
Loop

ありがとう

4

1 に答える 1

0

更新コード:

IntRow6=2

Do While objSheet6.Cells(IntRow6,1).Value <> ""

DataCount=0
 For DataCount=0 to UBound(VMHArray)

  Set rSearch = objSheet6.Cells(IntRow6,1).EntireRow
  Set rFound = rSearch.Find(VMHArray(DataCount))

        If Not rFound Is Nothing Then

                 adrFirst = rFound.Address

               Do  

                   objSheet6.Cells(IntRow6,rFound.Column + 2)= objSheet6.Cells(IntRow6,rFound.Column + 5)
                   Set rFound = rSearch.FindNext(rFound)

               Loop Until rFound.Address = adrFirst
       End If

 Next

IntRow6=IntRow6+1
Loop

ありがとう

于 2012-12-11T11:13:16.927 に答える