• ベストアンサー

VBAでのセル範囲指定について

お世話になります。 私が分からないのは、VBAでのセル範囲指定なのですが、 例えば、シートにデータが有、そのデータの1行目は見出しなので 2行目からデータが入っているセルまでの範囲を指定、コピーして 隣のシートに貼付したいのですが、そのデータの入力される範囲が 毎回違います。「CurrentRegion.Select」としてしまうと、1行目 の見出しまでも範囲指定されてしますので、どうやったら良いのか どなたかお教え頂きたく宜しくお願い申し上げます。

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

Resize を使うことで、取り込み範囲を設定できます。 http://www.moug.net/tech/exvba/0050058.htm http://www.relief.jp/itnote/archives/001724.php

miruchoko
質問者

お礼

大変参考になりました。 ありがとうございました。

関連するQ&A

  • セル範囲指定方法

    VBAにて下記作成中ですが、行き詰ってしまいました。 どなたか、ご教授願います。 Sub 転記ボックス1_Click() Sheets("S").Select Range("N13").Select If ActiveCell.Value <> "" Then Selection.Copy Sheets("H").Select Range("K65536").End(xlUp).Offset(0, 1).Select --->シートH、K列最終行の右隣からL列最終行の範囲を指定 上記指定範囲内全てに、シートS・N13の値を貼付 ElseIf ActiveCell.Value = "" Then Sheets("H").Select Range("K65536").End(xlUp).Offset(0, 1).Select --->シートH、K列最終行の右隣からL列最終行の範囲を指定 上記指定範囲内全てに、”シートS・N13”と入力 End If End Sub --->部分の書き方がわかりません。 よろしくお願いします。

  • EXCEL VBAでのセル高の範囲指定コピーについて

    いつも活用させて頂いております。 ExcelのVBAで、範囲指定したセルのコピーを行い、コピー先のセルに コピー元のセルの高さをコピーさせるロジックを組みました。 始めは、範囲指定してセル高もコピーしようとしたのですが、 上手く行かなかったので、現在は、ループさせて1行ずつ行っています。 できれば、範囲指定して一括で行いたいのですが、 そのような事は可能なのでしょうか? ご教授願います。

  • VBA)範囲指定した全セルに関数を入れたいのですが。。。

    当方、始めてのマクロ作成に奮闘中の身です。 ご教授いただきたく、質問させていただきます。 ◎質問 範囲指定した全セルに関数を入力したいのですが、アクティブセルのみにしか関数が入らず困っています。    Dim abc As Integer       abc = Sheets("シート名").Range("A1").CurrentRegion.Rows.Count    Range(Cells(2, 12), Cells(abc, 12)).Select    ActiveCell.FormulaR1C1 = "=COUNTIF(R1C1:RC[-11],RC[-11])" 一番下の部分の関数を入力したいのですが、アクティブセルのみの入力になってしまい、下から2番目の指定範囲には反映されません。 下から2番目の指定範囲セル全てに適用するにはどうしたら良いでしょうか。 よろしくお願いいたします。

  • VBAでセルの範囲指定

    お世話になります。 下記の様に1回セルを指定範囲した後に、列を2列マイナス する場合の記述方法をお教え下さい。宜しくお願いします。      記 range("a1").currentregion.select

  • エクセルで空白のセルを探して貼り付け

    エクセルVBAでSheet2の指定のセルをコピーして、 Sheet1にある表の中の指定の列の空白セルを探して貼り付けるVBAを作成したいのですが、うまく出来ません。 Sheet1の表は1行目、2行目は見出しの項目が並んでいます。 3行目から50行目までは値を入力するようになっていて、 51行目はそれらをの集計が表示されるようになっています。 下記のVBAを作成したら3行目~50行目までの空欄に貼り付けず、 52行目に貼り付けてしまいます。 ----------------------------------------------------------- Sheets("Sheet2").Range("B6").CurrentRegion.Copy Sheets("Sheet1").Cells(Rows.Count, "B").End(xlUp).Offset(1).PasteSpecial xlPasteValues Application.CutCopyMode = False ------------------------------------------------------------ 修正して頂けないでしょうか? 宜しくお願いします。

  • VBAマクロ_セル範囲を行列番号で指定

    エクセルマクロで、ある範囲を指定してコピーし、別の場所を指定してそこへ貼付たいのです。 個別に指定するなら、例えばこんな感じで   Range("B18:C32").Select   Selection.Copy   Range("B67").Select   ActiveSheet.Paste B18:C32 のように、セル番号で指定すれば出来ます。 このコピー範囲を、行列番号で指定したいのです。 「セル(i,j)~(k,l)までの範囲」というふうに、4つの変数で表現したいのです。 cells(i,j)を使えばできそうと思ったのですが、どうもうまくいきません。 良いやり方があれば教えてください。

  • VBA Selectの省略

    こんばんは、VBAのSelectメソッドの省略について質問させてください。 VBAにおいてSelectを使用すると処理が遅くなると聞いたことがあるので、なるべくSelectを避けるべく以下のVBAを記述しました。 内容は、シート「りんご」のA列~AN列に入っているデータを見出し項目を含めてコピー、そしてSheet1にペーストするというものです。(行数は毎回変化します。) ところが、以下を実行したところ、コピー&ペーストされたのは1行目の見出し項目のみでした。一方、「Range("A1:AN" ~」の前に「Sheets("りんご").Select」を入れたところ、全てのデータをコピー&ペーストすることができました。 この場合は、Selectを使用せずデータをコピー&ペーストすることは不可能なのでしょうか…?!どなたかご回答いただけると嬉しいです、よろしくお願いいたします。  '対象データのコピー&ペースト Sheets("りんご").Range("A1:AN" & Cells(1).CurrentRegion.Rows.Count).Copy Sheets("Sheet1").Paste

  • inputboxを使ったセルの指定について教えてください。

    セルA5を指定したいときに、Range("A5").Selectとするのでなく、 A1+inputboxで入力した数字”4”を使って 指定するにはどうしたらよいでしょうか? 教えてください。よろしくお願いします。 毎日入力するデータがあり、数箇所のシート、 セルにコピーペーストしています。 (どのワークブック、シートでも1日はA5、2日はA6、 と1行づつ下げていっています)。 Caseを使用して1から31までひとつひとつコピー元、 貼り付け先を指定しようとしましたが、 あまりにも膨大のため、入力ミスの元になると思いやめました。 そこで、何日のデータなのかをinputboxで入力しており、 それを利用して、セルの指定をしようと考えましたが、 手元の解説書やネットでも見つかりませんでした。

  • VBA オートフィルタ後のセル色付け

    いつも大変お世話になっております。 VBA初心者です。Excel2007、XPを使用しております。 データの状態ですが、 AからQ列まである顧客データ(1行目は見出し、2行目以降がデータ)を、 Sheet2へ参照で並び変えしてます。 Sheet2はAからM列になっており、こちらも1行目見出し、2行目以降データです。 見出しのみ色付けしており、このSheet2はデータを蓄積していってます。 Sheet1は新規データ貼付用 Sheet2は参照されたデータの蓄積 Sheet3はcsv保存用 目的は、Sheet2でオートフィルにより、色なしを表示し、2行目以降をコピー、 Sheet3へ値貼付、csv保存。値削除。 Sheet2の色なしを色付け(濃いグレー)。 以上の動作をしたいのですがうまくいかず、大変困っております。 お手数ですがご教授お願い致します。

  • セルを指定したVBA

    お願いします。 以前、このカテゴリーの質問で、特定のセルをダブルクリックすると”○”が入力されるコードがあり、重宝させてもらっています。 ただ、シート全体で適用となっているため、どのセルをWクリックしても”○”が入力されます。 特定のセルのみ適応されるような範囲指定のVBAはどのように記述したらいいのでしょうか? よろしくお願いします。

専門家に質問してみよう