2016-06-21 11 views
3

最初のタブに保持されている元のデータから1つのタブに特定の列を移入する必要があります。私は彼らが洗練されることを望んでいる私がしようとしていることを誰かが理解できるように、素早く並べ替えられたVBAコードを実行しました。また、データが終了する行で停止するには、VBAコードが必要です。現在記録されているVBAコードは行159にプルダウンされますが、元のタブのデータは行72に停止します。情報が終了する行でVBAコードを停止していましたが、これは日々変化し、行1 (データが元の位置にあるセルを埋めると、0以外の場合でもシートは使用できなくなります。)あるタブから別のタブに情報を引き出す

列Aにデータがあります。 Bだから、データがA15のセルに入っていれば、マクロからG15などの情報を引き出すことができますか?データがない。 これは一部の人にとっては基本的なように思えるかもしれませんが、初心者としてはまだVBAの周りに頭を浮かべています。

Sub Populate_Order() 
ActiveWindow.SmallScroll Down:=-15 
Range("M8").Select 
ActiveCell.FormulaR1C1 = "='Order Sheet'!R[7]C[-6]" 
Range("M8").Select 
Selection.AutoFill Destination:=Range("M8:M159"), Type:=xlFillDefault 
Range("M8:M159").Select 
ActiveWindow.SmallScroll Down:=-135 
Range("Q8").Select 
ActiveCell.FormulaR1C1 = "='Order Sheet'!R[7]C[-9]" 
Range("Q8").Select 
Selection.AutoFill Destination:=Range("Q8:Q159"), Type:=xlFillDefault 
Range("Q8:Q159").Select 
ActiveWindow.SmallScroll Down:=-132 
Range("R8").Select 
ActiveCell.FormulaR1C1 = "='Order Sheet'!R[7]C[-9]" 
Range("R8").Select 
Selection.AutoFill Destination:=Range("R8:R159"), Type:=xlFillDefault 
Range("R8:R159").Select 
ActiveWindow.SmallScroll Down:=-123 
Range("I3").Select 
+3

Googleの '最後の行を見つける方法と' forループ '。 – findwindow

+1

また、私は*** ***非常に***を読んで、適用することをお勧めします['.Select'を使用して回避する方法()http://stackoverflow.com/questions/10714251/how-to-avoid-using-select -in-excel-vba-macros)である。 – BruceWayne

+0

@ BruceWayneありがとう、私はこのスレッドを保存して、私は基本を理解し、理解するいくつかの並べ替えを取得し始めると私はこれに戻ります。完全な初心者に役立つより基本的な理解へのリンクがありますか?私はちょうどマクロについて見つけたし、自分の仕事をより簡単にするためにそれらを使用することができると思った=早期終了;)ありがとう – Bradley

答えて

1

次の空行が、これは別のセルM1からの値に、その行の列Aを設定し、次の空の行を見つける簡単な例である。この

Dim sourceSheet As Worksheet: Set sourceSheet = ThisWorkbook.Worksheets("sheet1") 
Dim destSheet As Worksheet: Set destSheet = ThisWorkbook.Worksheets("sheet2") 
lMaxRows = destSheet.Cells(destSheet.Rows.Count, "A").End(xlUp).Row 

destSheet.range("A" & lMaxRows + 1).Value = sourceSheet.range("M1").Value 

ような何かを試す見つけますシート

+0

あなたの助けに感謝@ Vbasic4now。私はちょうど上記のマクロの周りに頭を上げています。私がそれをよりよく理解するのを助けるために少し説明することは可能でしょうか?私は並べ替えられたマクロに編集することができます。ありがとう – Bradley

+0

@ブラッドリー最初の2行は、データがどのシートにプルされているか(sourceSheet)と貼り付け先(destSheet)を定義します。 3番目の行は、desinationシートの最後に使用された行としてlMaxRowsという名前の変数を定義しています。最後の行は、宛先の最後に使用された行の後の行の列AのセルをソースシートのセルM1と同じ値にすることを意味します。 – Vbasic4now

関連する問題