2017-12-14 14 views
-2

私はVBAの新機能ですが、週に1回実行するレポートで使用する必要があります。毎週別のシートにコピーして貼り付ける必要がある6つの列があります。これは累積的なので、毎週古いデータの後に新しいデータを貼り付け、置き換えることはありません。この場合の範囲は、A6:A24〜F6:F24です。 1つの追加の注意点は、日付と呼ばれる1つの列を追加したいと思います。スニペットを添付しました。新しいタブ(マネージャー、従業員など)に列ヘッダーを作成し、毎週データを入力することで、履歴データ付きのグラフを作成できます。 enter image description hereVBAマクロをExcelにコピーし、毎週セル範囲を別のシートにコピーして貼り付けます

私が出ているものを追加:

Sub sbCopyRangeToAnotherSheet() 
'Method 1 
Sheets("Summary Build").Range("A6:F24").Copy Destination:=Sheets("Sheet1").Range("A2") 
End Sub 
+0

をお読みください申し訳ありません:

Range("A2") = Date() 

EDIT:セル、日付関数などを使用することができますか? –

+0

私がVBAに新しく言うとき、ちょうど学ぶことを始めた本当に新しいLOLを意味する - 私は私たちの既存のVBAの文章をいくつかコピーし、調整をうまく行ったが、最後にペーストすることに問題がある。毎週そこに貼り付ける。 – user3496218

+0

私は上記で思いついたものを加えました - それはそれらのセルに投稿するのにはうまくいますが、毎週 'A'の最初の空行に移動して、再度ペーストする必要があります。 。 – user3496218

答えて

1

あなたはほぼありました。あなたのコードはA2にコピーされます。スプレッドシートの一番下から開始する必要がある次の空白セルを見つけるには、最初に塗りつぶされたセルまで移動し、次に移動します。スプレッドシートの最下部はrange(sheet.rows.count、1)です。上に行くにはEnd(xlup)を使用し、次に1つをoffします.offset(1,0)これは1行で列はありません。それを一緒に入れて、我々は、範囲取得(シート( "シート1")を。rows.count、1).END(xlup).offset(1,0) だからあなたのラインがに今日の日付を入れるには

Sheets("Summary Build").Range("A6:F24").Copy Destination:=range(sheets("sheet1").rows.count,1).end(xlup).offset(1,0) 

ですそれはあなたがこれまでにしようとしなかった

Sheets(1).Range("A6:F24").Copy _ 
Destination:=Sheets("sheet1").Cells(Sheets("sheet1").Rows.Count, 1).End(xlUp).Offset(1, 0) 
+0

は助けに感謝します。実行時エラー '1004':オブジェクト 'グローバル'のメソッド '範囲'が失敗しました - 意味がわかりません – user3496218

+0

私の編集を参照してください - 明らかに私は "シニアモーメント"を昨日持っていました –

関連する問題