2016-12-28 13 views
-3

私は毎日長くなっている値の長いリストを持っています。これは、ボタンに基づいて値を割り当てる機からのデータがプッシュ含まれ、値はマシンが動作を実行するたびに-1、0、1、2リストをループして特定の値を見つけるVBA

enter image description here

あり、それに一意の番号を割り当てます。 「テスト」ボタンが押された場合、値-1が与えられ、前の操作からのユニークな番号がこの「テスト」に割り当てられます。これは、テストが操作としてカウントされないためです。例331の写真。

私は自分のデータからレポートを作成するために私は以下のフォーマットでそれを望みます。

enter image description here

私は、リスト全体を通過することになるVBAコードが必要(約2000細胞になりました)と、新しいシートに値を移動し、そのため。

これまでは、必要な値を含む領域を新しいシートにコピーし、この数式を使用して各数値を移動しようとしました。

+2

何を試しましたか?あなたの特別な問題は何ですか? – Prisoner

答えて

1

私は質問を理解してくれれば幸いです。次のコードは最もクリーンではないかもしれませんが、動作します。私は開始 - >停止は常に同じ歩数を持ち、常に同じ順序であると仮定しています。

Sub test2() 

Application.ScreenUpdating = False 

For i = 1 To 20000 
    For j = 1 To 9 
     nextfree = WorksheetFunction.CountA(Range("A:A")) + 1 
     If Sheets("sheet1").Range("A" & i).Value = Sheets("sheet2").Cells(1, j).Value Then 
      Sheets("sheet2").Cells(nextfree, j).Value = Sheets("sheet1").Range("C" & i).Value 
     End If 
    Next j 
Next i 

Application.ScreenUpdating = True 

End Sub 
+0

このように '選択 'を使うのは面倒です。おそらく、さまざまなケースの配列を持つことができ、配列内の文字列の位置に基づいて列を決定することができますか? – CallumDA

+1

@CallumDAこれはどういう意味ですか?私の更新された答えを見てください。 – Mick17

+0

ええ、それはずっと良いです – CallumDA

関連する問題