2009-05-28 15 views
0

例:50行のデータがあります。その第1列には学生の名前があります。 RAMからRAMESHにデータをコピーするコードが必要です。その間に20行あります。 行をコピーして別のシートに貼り付けるコードが必要です。 それは私に名前を尋ねるべきではありません。デフォルトでは、RAM & RAMESHのような名前をとる必要があります。私は2つの行の間にコピーして、別のシートに貼り付けるコードが必要です。

+0

RAMとRAMESHはどういう意味ですか?そして「名前」はどういう意味ですか?これらの名前付き範囲はありますか? – paulmorriss

+0

このデータの仕組みは明確ではありません。私は、学生名が実際には最初の列にあり、最初の列にはないと考えています。そうでなければ、RAMとRAMESHの間に20行あるとは分かりません – barrowc

答えて

1

ここでは、シートの開始シートがあり、コピー先のシートがTargetSheetであることを前提としています。 行1、列1から始まり、各行を通過します。名前が一致すると、その変数を変数に代入します。 次に、2つのrownumを使用して、行が選択され、コピーされ、貼り付けられます。 このコードでは、名前間の行数は考慮されません。単純に名前自体がチェックされます。 私は最初の列には、説明したように、最初の行ではなく名前があると仮定しています。

Sub MoveRows() 
    Dim rownum As Integer 
    Dim colnum As Integer 
    Dim startrow As Integer 
    Dim endrow As Integer 

    rownum = 1 
    colnum = 1 

    With ActiveWorkbook.Worksheets("StartSheet") 
     Do 
      If .Cells(rownum, 1).Value = "RAM" Then 
       startrow = rownum 
      End If 
      rownum = rownum + 1 
     Loop Until .Cells(rownum, 1).Value = "RAMESH" 
     endrow = rownum 
     ActiveWorkbook.Worksheets("StartSheet").Range(startrow & ":" & endrow).Copy 

    End With 
    ActiveWorkbook.Worksheets("TargetSheet").Paste 




End Sub 
関連する問題