2017-02-14 9 views
0

プロジェクトの詳細を示す行Bから始まる行がいくつかあります。Excel VBAヘルプ行の値に基づいて行をコピーする

など。私は各行が新しいシート(完了するために週の数に基づいて)回数にコピーされたい

ProjectID, END Date, Number of Hours to complete, Number of Weeks to complete 
AAA001, 15-Jan-2017, 37.5, 4 
AAB002, 15-Feb-2017, 75, 5 
AAC003, 20-Feb-2017, 37.5, 3 

、Iは、の数で分割する完了するために時間数を希望します完了するまでに数週間、そして私は完了するまでの週数に基づいて数週間前に戻ることを希望します

AAA001, 18-Dec-16, 9.375, 1 
AAA001, 25-Dec-16, 9.375, 1 
AAA001, 1-Jan-17, 9.375, 1 
AAA001, 8-Jan-17, 9.375,1 
AAB002, 11-Jan-17, 15, 1 
AAB002, 18-Jan-17, 15 ,1 
AAB002, 25-Jan-17, 15 ,1 
AAB002, 1-Feb-17, 15 ,1 
AAB002, 15-Feb-17, 15, 1 
... 

ので、VBAでこれを行うには、その後、日付に基づいて順番に結果のテーブルをソートすることが方法は何ですか?

私は解決策を模索しようとしましたが、部分回答しか見つけることができません。誰かが彼らが提供するコードにコメントできるなら、私は多くの助けになります。

ありがとうございます。

+1

はい。もちろん、私は行2を意味しました。ありがとうございますshash678。私の質問を編集して素敵に見せてくれた人に感謝します。 – Shaf

+0

これは無料開発用ではありません。 SOは開発者のための助けです。あなたのコードと問題点を教えてください。 –

答えて

0

最適化されていませんが動作します。私はそれがあなたが意味していたことを望みます。 Yout入力は列AからDの最初のシートにあり、2番目のシートが必要です。

Option Explicit 
Sub test() 
    Dim cnt As Integer 
    Dim i As Integer, j As Integer, k As Double 
    i = 2 
    k = 2 
    Sheets(2).Cells(1, 1).Value = Sheets(1).Cells(1, 1).Value 
    Sheets(2).Cells(1, 2).Value = Sheets(1).Cells(1, 2).Value 
    Sheets(2).Cells(1, 3).Value = Sheets(1).Cells(1, 3).Value 
    Sheets(2).Cells(1, 4).Value = Sheets(1).Cells(1, 4).Value 
    While Sheets(1).Cells(i, 1).Value <> "" 
     cnt = Sheets(1).Cells(i, 4).Value 
     For j = 1 To cnt 
      Sheets(2).Cells(k, 1).Value = Sheets(1).Cells(i, 1).Value 
      Sheets(2).Cells(k, 2).Value = Sheets(1).Cells(i, 2).Value 
      Sheets(2).Cells(k, 3).Value = Sheets(1).Cells(i, 3).Value/Sheets(1).Cells(i, 4).Value 
      Sheets(2).Cells(k, 4).Value = 1 
      k = k + 1 
     Next j 
     i = i + 1 
    Wend 
End Sub 
+0

ありがとうございました。私は日付も変えたいと思っていましたが、これが良い出発点であることを願っており、おそらく自分でそれをやってみることができます。 申し訳ありませんが、私は開発者ではありません。VBA/Excelでこれを試してみるように求められました。 – Shaf

+0

ああ、申し訳ありません、あなたは 'Sheets(1).Cells(i、1).Value - (Sheets(1).Cells(1、4).Value - j)* 7 '(私はそれをテストしていない) – tretom

関連する問題