| 
    
     |  | ▼わさび さん: こんにちは。
 
 >
 >今、Worksheets("リスト")にある表の値を、
 >Worksheets("メンバー別")のセルに入れたいのですが、
 >Worksheets("リスト")には、2列で1セットの表がいくつかあるので、
 >Worksheets("リスト").Range("B3")に、
 >使用したいリストの左の列を入力することで選択してもらおうと考えてます。
 >
 >Worksheets("リスト")にある表は必ず6行目以降にあります。
 >Worksheets("メンバー別")では必ずA列とB列の5行目以降に値を入れます。
 >
 >そこで以下のコードを作成し、試しにRange("B3")に「A」をいれて、
 >Worksheets("リスト")のA列とB列の表にある値を、
 >Worksheets("メンバー別")に入れようとしたのですが、
 >実行したところ、Worksheets("メンバー別")のA列とB列の両方に同じ値…
 >Worksheets("リスト")のA列の値が入ってしまいました。
 >
 >Resizeの使い方をいまいちよくわかってないのですが、
 >どこが悪いのか、もしくはもっといい方法をどうかご指南ください。
 >宜しくお願い致します。
 >
 >
 >----------
 >Sub Member_List()
 >
 > Dim LASTrow As String, sldLIST As String
 > sldLIST = Worksheets("リスト").Range("B3").Value
 > LASTrow = Worksheets("リスト").Range(sldLIST & "65536").End(xlUp).Row
 >
 > Worksheets("メンバー別").Range("A5:B" & LASTrow - 1).Value = _
 Worksheets("リスト").Range(sldLIST & "6:" _
 & sldLIST & LASTrow).Resize(, 2).Value
 >
 >End Sub
 >----------
 
 これです。
 Resizeはセル範囲を広げるメソッドです。
 range("a1:a10").resize(,1)だと列数は元々ひとつですから、
 セル範囲が広がっていません。
 この場合、A,B列に同じ値が入ってしまいます。
 
 
 |  |