• ベストアンサー

マクロ 不特定のセル範囲をコピーする方法

いつも回答して頂きありがとうございます。 不特定行(列は特定)のセルの(図の赤文字の箇所)文字が入力の有無を確認し、入力されていたら、赤枠のセル範囲を全てコピーするマクロを考えていますが、さっぱりわかりません。大変お手数だと思うのですが、御指導して頂けないでしょうか?宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

コピーする範囲が良くわかりません どのようなルールによる範囲なのかはっきりしないとマクロは作れません。 コピーするだけですか? どこかに値を貼り付ける必要はないのですか。 もう少し、具体的に書いてくれないと、作れるマクロはこの程度です。 Sub Sample()   nStartRow = Cells(1, 2).End(xlDown).Row   nRightCol = Cells(nStartRow, 2).End(xlToRight).Column   nEndRow = Cells(nStartRow, 2).End(xlDown).Row - 1   Range(Cells(nStartRow, 1), Cells(nEndRow, nRightCol)).Copy End Sub

kero1192kero
質問者

お礼

回答ありがとうございました。 自分のやりたい事は、シートの雛型に記入されている事を種類に応じて振り分けられるマクロを考えています。 で、今回、シートに雛型(図の赤枠)があり、種類毎に分けて雛型に色々書かれているので、各雛型の範囲を選択出来る様にしたいのです。 ですが、雛型の行の範囲が足りなかった場合、行を追加する為、行がコロコロ変わる事が多々あるので、行数が変化しても、正確に雛型の範囲が選択出来る方法がないものかと考えている所です。 今回記述して頂いたマクロを微妙に変えて実行してみました。 自分の思っていた範囲(B2:K6)が選択されず、(A2:E6)が選択されました。どうしてでしょうか?大変お手数をお掛けしますが御指導の程宜しくお願い致します。

その他の回答 (1)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

> 自分の思っていた範囲(B2:K6)が選択されず、(A2:E6)が選択されました。どうしてでしょうか?大変お手数をお掛けしますが御指導の程宜しくお願い致します。 もう一度言いますが、「コピーする範囲」のルールが解らないとちゃんとした回答ができません。 「正確に雛型の範囲が選択出来る方法」と言われても貴方にしか雛形の範囲が判りません。 私のサンプルでは、コピーする範囲を左はA列固定、右は基準となるセル(今回はB2)から左に連続してデータがあるところまでとしています。 それとも、私の深読みのし過ぎで、求めているのは↓この程度の物でしたか? Sub Sample()   If Range("B2")<>"" Then Range("B2:K6").Copy End Sub

関連するQ&A

専門家に質問してみよう