0

私はインターネットで見回しましたが、成功は見つかりませんでした。私の問題は、最初のワークシートから P6 から P(サブルーチンに渡された整数の値) の範囲を、2 番目のワークシートの値 B2 から B(渡された値) にコピーしようとしていることです:


sub copy_cells(length as integer)

Worksheets("Sheet2").Range("B2: B+length").Value = ActiveSheet("Sheet1").Range   ("P6:P+length").Value

end sub

ここにコードを入力してください

4

3 に答える 3

0
sub copy_cells(length as integer)

Worksheets("Sheet2").Range("B2: B" & length).Value = ActiveSheet("Sheet1").Range   ("P6:P" & length).Value

end sub

これは機能するはずです。そうでない場合は、別のステートメントで範囲変数を作成してから、上記のステートメントで使用する必要があります。

于 2013-05-08T17:55:32.003 に答える
0

あなたがやっているように範囲を参照しないでください。うまくいきません。ターゲット範囲として「B2」から始めて、適切な長さにサイズ変更します。

Sub copy_cells(length As Integer)
Dim outRange As Range
Dim inRange As Range

    Set outRange = Worksheets("Sheet2").Range("B2")
    Set inRange = Worksheets("Sheet1").Range("P6")

    Set outRange = outRange.Resize(length)
    Set inRange = inRange.Resize(length)

    outRange.Value = inRange.Value

    Set outRange = Nothing
    Set inRange = Nothing
End Sub
于 2013-05-08T17:54:53.823 に答える
0

使える

Worksheets("Sheet2").Range(Worksheets("Sheet2").Cells(2, 2), Worksheets("Sheet2").Cells(length, 2)).Value
 = 
 Worksheets("Sheet1").Range(Worksheets("Sheet1").Cells(2, 16), Worksheets("Sheet1").Cells(length, 16)).Value 
于 2013-05-08T17:29:36.360 に答える