2017-03-14 5 views
0

Excelの既存のデータテーブル(表1)をvbaを使用する新しいデータテーブル(表2)に変換しようとしています。データはアクティビティリストとそれに対応する先行者を表しており、複数ではなく2つの列に表示されます。テーブル1をテーブル2に変換するにはどうすればよいですか?vbaを使用したデータテーブルの構造の変換

 Table 1:  Table 2: 
A     A 
B A    B A 
C B A   C B 
D     C A 
E A D C  E A 
        E D 
        E C 

enter image description here

enter image description here

+0

ご質問はありますか? –

+0

テーブル1をテーブル2にするにはどうすればよいですか? – GEazy

+0

何を試しましたか? –

答えて

1
私はこのような何か(擬似コード)を行うだろう

int n = 2 // operator for tracking your row index 
for i = 1 to end of rows 
    for j = 2 to end of column 
     if cell(i,j) == empty 
      do nothing 
     else 
      copy cell(1, i) to new table location (column 6, now n) 
      copy cell(j, i) to new table location (column 7, row n) 
      n = n+1 
     end 
    end 
end 

ますのでご注意ください列6と列7は、新しいテーブルの場所を参照し。

+0

そして、行のすべてのセルが空の場合に例外を追加する必要があります。 – bgaard

+0

は、私はそれを解決した、ありがとう!整数 薄暗いLASTROWとして暗いLastColロング 薄暗い通りnは整数 としてActiveSheet LASTROW = .Cells(.Rows.Count、 "A")。終了(xlUp)で.Row J = 1の場合 で1エンドLastColに - ActiveSheet LastCol = .Cells(I、.Columns.Count).END(xlToLeft).Columnで N = LASTROW に対するI = 3 12 で終わります セル(i、j + 1)= ""ならば Else セル(n、2)=セル(i、1)(i、j + 1) n = n + 1 終了場合 次j 次にi – GEazy

+0

次の表への回答を同じシートに書き込みます – GEazy

関連する問題