• ベストアンサー

マクロの作成について

今、マクロを組んでいます。 簡単に言うと、 A1~C5にある表を、 A6~C10にコピーする作業です。 ※ただのコピーならマクロを組む必要がないのですが、 行の高さを変えなければならないので、1つ1つ高さを変えるのが面倒なので、 マクロを組んでいます。 A6~C10にコピーするマクロは組めましたが、 次にA11~C15に同じ表をコピーするには、 どんな設定をすればいいのでしょうか?? つまり、同じ表を下に下に新しく作っていきたいのです。 ちなみにエクセル2007です。

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

  • ベストアンサー
  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.4

>記録の仕方を変えてやってみました。 >コピーは出来たのですが、行の高さは変える事ができませんでした・・。 >記録の仕方が悪かったのでしょうか・・・。 行の高さも含めコピーするには、行ごと選択が必要でした^^ 操作としては、1~5行を選択(行全体を選択)してコピーし、6行目を選択して右クリックして「コピーしたセルを挿入」で記憶すればOKです。 ご参考まで。

tive_0324
質問者

お礼

ありがとうございます! 無事解決しました!

その他の回答 (3)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.3

>A1~C5にある表を、 >A6~C10にコピーする作業です。  : >次にA11~C15に同じ表をコピーするには、 >どんな設定をすればいいのでしょうか?? 次の通りに操作してマクロを録ります。 先にA1セルを選択しておく 開発タブで「相対参照で記録」を選んで置いてから,マクロの記録を開始する 1:5行を行コピーする A6に貼り付ける 記録終了する。 使い方: A6を選ぶ マクロを実行する。 A11を選ぶ マクロを実行する。  : [別の方法] >同じ表を下に下に新しく作っていきたいのです。 1:5行を行選択する A5セルの左下にオートフィルポインタが現れるので,マウスカーソルを合わせて+になったら一気にした向けにオートフィルドラッグする。 (しばしばマクロのご質問なのに,実はマクロなんて使いたくありませんでしたというご相談も多いです)

tive_0324
質問者

お礼

ありがとうございます。 マクロ初心者で、もうマクロはこりごり・・・って感じですが、 徐々に分かっていきたいです(笑)

  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.2

マクロはVBを直接書いて作ってますか? それとも作業を記録して作ってますか? VBの編集ができるようであれば、For~Nextを使って行の指定を変数化すればできます。 VBを編集するのが難しいのであれば、この方法はちょっと難しいですね。 マクロの記録のみで対応する場合は、記録の仕方を変えると良いと思います。 現在はA1~C5を選択して、カーソルをA6に移動しペーストしているのだと思いますが、それを A1~C5を選択してカーソルをA6に移動し右クリックして「コピーしたセルを挿入」→「下方向にシフト」で記憶すれば良いと思います。 この場合、コピーしたA1~C5の内容を6行目に常に挿入していく形になるので、繰り返し実行するだけで6行目以降に評を挿入していけます。 ご参考まで。

tive_0324
質問者

お礼

上にも書きましたが、無事解決しました! 本当にありがとうございました!

tive_0324
質問者

補足

回答ありがとうございます。 作業を記録して作っています。 記録の仕方を変えてやってみました。 コピーは出来たのですが、行の高さは変える事ができませんでした・・。 記録の仕方が悪かったのでしょうか・・・。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

C10をC15にすれば良いと思いますが、行の高さを変えるのなら、マクロではなくそのセルの文字サイズを決めて全ての行を選び、ダブルクリックして、行の高さを変えることをお勧めします。

tive_0324
質問者

お礼

いろいろ試行錯誤しましたが、無事解決しました。 回答ありがとうございました!

tive_0324
質問者

補足

行の高さは決まっているんですよね^^; しかも、全部同じ高さならいいのですが、20の所もあれば、23だったり、37だったりするのです・・・。

関連するQ&A

  • Excelでのマクロ作成について

    次のようなマクロをExcelで作りたいのですが上手くできませんでした。みなさんのお力をお借りしたいと思い質問しました。 [質問内容]       A        B        C 1 20030303120000 2 3 20030406120000 4 5 20030512120000 6 7 このようなシートで、セルA1の内容を「03/03/2003」に変更して行2を削除する。(セルの内容ではなく行そのものを削除する。) この作業を繰り返して次のようなシートにする。      A        B        C 1 03/03/2003 2 04/06/2003 3 05/12/2003 4 5 ひとつのマクロを繰り返し実行するのでも構いませんが、数が多いのでできれば100行程度を一度に実行できれば助かります。 よろしくお願いします。

  • エクセルのマクロについて 教えてください。

    エクセルのマクロについて 教えてください。      1          2      …  A あ い う え   お □ □ □       ※□はスペース B か □ □ □   き く け こ C さ し □ □   す せ そ □  : 上記、表を下のように並べ替えたいのですが… ※1行目は4つのセルの結合 1 A あ い う え 2 A お □ □ □ : 1 B か □ □ □ 2 B き く け こ : 1 C さ し □ □ 2 C す せ そ □ :

  • エクセルのマクロで特定の文字があるときだけコピーできるようにしたい

    エクセルのマクロで特定の文字があるときだけコピーできるようにしたい エクセルでこういう表があるとします ココカラ 1 * 2 b 15 3 * 4 d 19 5 e 25 6 * 7 g 35 8 * 9 j 46 10 k 54 ココマデ このような表があるとき、マクロを使ってもしB列に「*」以外の文字(この場合アルファベットのb) があるときは左のセル(2)をずっと下のセルにコピー(仮にA50とします)した後、右のセル(15)をB51にコピー、 次は文字が「*」なのでコピーはせずにd列になったら4と19をC50,D51にコピー・・・ という作業をセルに「ココマデ」と書いているところまで繰り返す、というマクロを作りたいのですが、どうすれば いいのでしょうか?

  • Excel のマクロを作成したい。

    Excel で作成した作業計画表(テ-ブル)に下記マクロを作成し実行したいので。 当初計画表には後述のB,C,Dは存在していない。 下記マクロにてテ-ブル内に追加したセ-ルB=開始日、C=終了日、D=作業期間を自動に求めたい。 タイトルとして 第1行目コロンA=作業者名、B=開始日、C=終了日、D=作業期間、E=2011年10月31日、 F=2011年11月7月、次のコラムから1週間後の日付が設定されている(テストとしてJまで) J=2011年12月5日 第2行Aコラムには作業者=田中さん、B,C、Dを自動で求めたい。 第3行Aコラムには作業者=鈴木さん、B,C、Dを自動で求めたい。 第4行Aコラムには作業者=林さん、B,C、Dを自動で求めたい。 Excel のテ-ブルでは 第2行A=田中さん EからFに(当初はB~G)赤色で線を塗り2週間の作業とした。 第3行Aコラムには作業者=鈴木さん、FからGに赤色で線を塗り2週間の作業、 第4行Aコラムには作業者=林さん、HからJに赤色で線を塗り3週間の作業として計画した。 田中さんの作業開始日は2011年10月31日、終了日2011年11月12日、作業期間は2週間との 結果を求めたい。 下記マクロは Sub test() i = Colum(E)     :Eコラムの番号 x = Colum(J)     :Jコラムの番号 y = EtActivitecell.Row For c = i To x Step 1 If Adresse(Row(y), Colum(c), 4) = "D" Then Adresse(EtActivitecell.Row, EtActivitecell.Colum) = ADRESS(Colum(c), 1, 4) End If Next End Sub

  • エクセルのマクロについて質問です。

    エクセルのマクロについて質問です。 たとえば、 セルA1からAA1までのセルの中で、コピーとペーストを行います。(これは記録マクロで作ります) それと同じ作業を、3行下のA3からAA3の行でも行い、 また、3行下のA6からAA6の行で行う といった作業をマクロで作る方法を 教えていただきたいです。

  • エクセルのマクロについて。表の下に付け足すには

    同一ワークシート上の同形式の表Aの一番下に別の表Bをそのまま付け足したいのです。 まず、表Bをcurrentregion使って選択した後、どうすれば、表Aの一番下の行の次へコピーすることができますか。ちなみに、表Aの行数はその都度変わります。ただし、表の一行目の列と行はいつも同じです。 なるべくシンプルなマクロで記述したいのですがどうすればいいでしょうか。 よろしくお願いいたします。

  • エクセルのマクロの記憶・実行について

    マクロの記憶と実行についてですが質問があります。 下記のように、1~3までの行をマクロの実行でコピーといういうか表示していきたいのです。 3行をコピーして、行の挿入をすれば済む話なのですが、これを使う人が、パソコンを触ったことがないので、 マクロの実行というボタン1つで、何回も下に同じ間隔で表示させたいのです。 お助け下さい。 ●月●日 1 あああ あああ あああ あああ 2 いいい いいい いいい いいい 3 ううう ううう ううう ううう 4 5 これより下に、上記と同じ表をコピーしたい。          ↓ 1行あけて同じ表を、マクロの実行でその下に表示させたいのです。 表の内容は、毎日変わります。その日の入力が終わったら、次の日、また、同じ事を繰り返していきます。

  • エクセル マクロ

    エクセルでマクロを組んでるのですがシート1のデータをコピーしてシート2のデータを入力している最終行の次の行にコピーしたいのですが最終行まではEND 下⇒キーで行くのはわかりますが、その次の空白行への移動のやり方がわかりません

  • エクセル マクロでの繰り返し処理について

    エクセル初心者です。エクセル2010を使用しています。 とあるホームページから、ページをコピーして、エクセルに「テキストで貼り付け」をおこない、 A列に8行の項目が入ります。この8行と次の8行の間には、自然に空白行が1行ずつ入ります。 これは、完全に手作業です。 次に、下記の作業を、マクロの自動記録を相対参照で行います。 上記のエクセルのデータを、1つめの8行のデータをコピーして(A1からA8)、C1に「行と列を入れ替え」を選択してC1からJ1に貼り付けます。 その後は、次のデータのまとまりのA10のセルに移ります。これをCtrl+a を押し続けることで、数百件か多いときは4000件ほどの並べ替えをしています。 「データがある間は、この処理を繰り返す。」 というマクロにしたいのですが、参考書等を見ながらチャレンジしてもうまくいきません。 わかる方、教えていただけますか。 以下が、マクロの自動記録でできた物です。データの個数は数百のこともあれば4000件のこともあります。 Sub 行列入れ替え8行() ' ' 行列入れ替え8行 Macro ' ' Keyboard Shortcut: Ctrl+a ' ActiveCell.Range("A1:A8").Select Selection.Copy ActiveCell.Offset(0, 2).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=True ActiveCell.Offset(9, -2).Range("A1").Select End Sub どうぞ、ご指導よろしくお願いいたします。

  • (Excel2003)すぐ左の最後の行までコピーするマクロを教えてください

    マクロ初心者です。 表記の件に就き、何卒ご教授の程、宜しくお願いします。 ・エクセルで以下のような表があるとします。 __A__B__C__D→ 1_数量_単価_金額 2_4,000_100_=B3*C3 3_5,000_200_ 4_3,000_120_ 5_5,000_160_ ↓ ・そしてこのAとB列が毎回下に増えるとして、C2セルの数式を  B列の最後の行までコピーするマクロを教えて下さい。 (実際は、C2セルにVLOOK関数が入っており、最終行は何千行まであります) 何卒ご教授の程、宜しくお願い申し上げます。 

専門家に質問してみよう