2016-04-08 12 views
-2

セルの変更をキャプチャするためのマクロについて助けが必要です。セルに加えられた変更をキャプチャするマクロ

Sheet1私は、データ(数式なし)、Range A1:R53でいっぱいの表を持っています。私はいくつかの新しい情報でセルのいずれかを更新する場合、私はコピーし、Sheet2に新しいデータを貼り付ける行全体をしたいと思います。

テーブル全体がコピーされ、セルが変更され、フォントの色が赤である行だけがコピーされることは望ましくありません。行が次の使用可能な空白セルに貼り付けられ、前の項目を上書きしないようにすることも役立ちます。

ご協力いただきありがとうございます。

+4

純粋なコードの書き込み要求は、スタックオーバーフローに関するトピックではありません。ここでは*具体的なプログラミングの問題に関連する質問がありますが、あなた自身で書くことを喜んで支援します!私たち[あなたが試したこと](http://stackoverflow.com/help/how-to-ask)とあなたが立ち往生しているところを教えてください。これはまた、あなたの質問によく答えるのにも役立ちます。 – Raju

答えて

1

場所次の使用例は、シート1ワークシートのコード領域におけるこのイベントマクロ:

Private Sub Worksheet_Change(ByVal Target As Range) 
    Dim rng As Range, N As Long 

    Set rng = Range("A1:R53") 
    If Intersect(rng, Target) Is Nothing Then Exit Sub 
    If Target.Count > 1 Then Exit Sub 

    Target.Interior.ColorIndex = 27 
    With Sheets("Sheet2") 
     If .Cells(1, 1).Value = "" Then 
      N = 1 
     Else 
      N = .Cells(Rows.Count, "A").End(xlUp).Row + 1 
     End If 
     Target.EntireRow.Copy .Cells(N, 1) 
    End With 
End Sub 

は、あなたのニーズに合わせて色を調整します。

+0

助けてくれてありがとう@ゲイリーの学生。あなたのコードはうまく動作します。 – vbalearner

+0

ありがとう、ゲイリー・スチューデント。あなたのコードはうまく動作します。自分のコードを投稿しなかったことをお詫びします。表全体を2行目にコピーしていて、各行だけではないことがわかります。 サブてMacro1() シート( "シート1")UsedRange.copy シート( "シート2")範囲( "A60000")終了(xlUp).Offset(2,0).PasteSpecialペースト:。。。= xlPasteValues @ Gary'sStudent:1つの行の中の異なるセルに変更を加えたときに、各変更が何度もコピーされないことが可能かどうかを知りたかっただけです。むしろ、複数の変更を含む行が「シート2」に一度コピーされますか?これが理にかなってほしい。 – vbalearner

関連する問題