2017-05-04 12 views
-2

実行中の週レポートがあります。私は2つの別々のワークシートを持っています。最初のワークシートでは、データ(2列と未知数の行があらかじめわかっているテーブル)を入力し、クリックすると、これらのデータをすべて切り取り、別のワークシートに移動します。テーブルが貼り付けられたワークシートでは、データを値として貼り付け(最初の数式を含む)、前週のデータの下に貼り付けます。1つのワークシートから別のワークシートにExcel VBAで切り取り貼り付けテーブル

ワークシート1のデータをセルA1:B7から切り取った場合、セルA7:B14に値をWorksheet2に貼り付けます。次週、データは、ワークシート1のセルA1:B5からワークシート2のセルA15:B20にカットペーストする必要があります。

これまでのところこのコードがありますが、間違っています。私は初心者レベルでvbaにいる。

Sub Movetabletototal() 
Dim Count As Integer 
Dim Table As Range 
Dim CountRange As Range 

Worksheets("TOTAL").Select 
Set CountRange = Range("A2:A1000") 


Count = Application.WorksheetFunction.Count(CountRange) 
Worksheets("MIXER TOTAL").Select 


Set Table = Range("P3:Q12") 
Worksheets("TOTAL").Select 
Worksheets("TOTAL").Range("A1").Select 




ActiveCell.Offset(1, Count + 1).Select 
ActiveCell.Value = Table 
Worksheets("MIXER TOTAL").Select 
Worksheets("MIXER TOTAL").Range("P3:Q12").Clear Contents 

If Worksheets("TOTAL").Range("A2").Offset(1, Count) <> "" Then 
    Worksheets("TOTAL").Range("A2").End(xlDown).Select 
End If 

End Sub 

ありがとうございます!

このコードが正常ん
+0

'Table'何に変わります着ます。? – BruceWayne

答えて

0

この:

例えばワークシート1のデータをセルA1:B7から切り取った場合、セルA7:B14に、ワークシート2の値 を貼り付けます。来週、データは カット&ペーストする必要があるセルA1から:セルA15にWorksheet1でB5:あなたのコメントあたり でB20 Worksheet2

編集:

があなたに "MIXERのTOTAL" にP3:Q12を使いますデータが変更され、現在のデータの後に "TOTAL"シートの列A:Bに貼り付けられます。

Sub Movetabletototal() 
Dim Count As Integer 
Dim copyRng As Range, pasteRng As Range 
Dim totalWS As Worksheet, mixerWS As Worksheet 

Set totalWS = Worksheets("TOTAL") 
Set mixerWS = Worksheets("MIXER TOTAL") 

Set copyRng = mixerWS.Range("P3:Q" & mixerWS.Cells(mixerWS.Rows.Count, 17).End(xlUp).Row) 

Dim newRow As Long 
newRow = totalWS.Cells(totalWS.Rows.Count, 1).End(xlUp).Row 
If newRow > 1 Then newRow = newRow + 1 

copyRng.Copy totalWS.Range(totalWS.Cells(newRow, 1), totalWS.Cells(newRow + copyRng.Rows.Count, copyRng.Columns.Count)) 

copyRng.ClearContents 
End Sub 

これらの範囲を必要に応じて変更します。あなたのデータはP3から行く場合(現在は、注記:Q1000が、それはすべて、その範囲をコピーするよあなたは厳密P3:Q12をしたい場合は、CopyRngはちょうどmixerWS.Range("P3:Q12")

enter image description here

+0

@CMarneras - 私の編集を参照してください – BruceWayne

+0

@CMarneras - 元のデータを保持するには、 'copyRng '行をコメントアウト(または削除)してください。 ClearContents'。 – BruceWayne

関連する問題