2016-12-31 6 views
0

シート1のセルB21の値をコピーして、次の使用可能な行がある列Bのシート2に貼り付けようとしていますか?最後に使用された行のシート1からシート2へのVBAコピー/ペーストの値は?

Sub Modify_Trend() 


Dim N As Long 
    N = Sheets(2).Cells(Sheets(2).Rows.Count, "A").End(xlUp).Row + 1 
    Cells(N, "B").Value = Sheets(1).Range("B21").Value 



End Sub 

私が間違っている場所を教えてもらえますか?これはエラーまたは何かを生成せず、動作していません。

答えて

0

Cells(N, "B").Valueをシート(2)に完全修飾する必要があります。

また、あなたは列A(とない列B)で最後の行を探しています:

N = Sheets(2).Cells(Sheets(2).Rows.Count, "A").End(xlUp).Row + 1

以下のコード試してみてください。これを試してみてください

Sub Modify_Trend() 

Dim N As Long 

With Sheets(2) 
    N = .Cells(.Rows.Count, "B").End(xlUp).Row + 1 
    .Range("B" & N).Value = Sheets(1).Range("B21").Value 
End With 

End Sub 
0

を: は、最初の取得シート2の列Bの塗りつぶしされた行の総数。

次に、シート2の列Bの値last filled row + 1をB21の値に設定します

Sub Modify_Trend() 

    Dim N As Long 
     N = Sheet2.Cells(Rows.Count, 2).End(xlUp).Row 
     Sheet2.Range("B" & N + 1).Value = Sheet1.Range("B21").Value 

    End Sub 

これは、元のコードごとの最小限の回答です。

関連する問題