• 締切済み

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

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

みんなの回答

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.4

とりあえず3行以上のデータがA列にあるとして、、、 こんな感じ? Sub Test() Dim r As Range   Set r = Range("A65536").End(xlUp)   If r.Row < 3 Then Exit Sub   Set r = r.Offset(-2, 0).Resize(3, 1)   r.EntireRow.Copy r.Offset(4, 0) End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

いくつか分からない部分がありますね。 >●月●日 この日付が分かりません。これは、1行目にあるのではないでしょうか? それに、 >3行をコピーして、行の挿入をすれば済む話なのですが、 挿入というのは、6行目(または5行目)にも文字列があるということですか? >その日の入力が終わったら、次の日、また、同じ事を繰り返していきます 次は、どこにコピーするのですか? 挿入で、真下の6行目(または5行目)に入れるのですか?それとも、10行目(または9行目)に貼り付けるのですか? お話がよく見えてきません。

全文を見る
すると、全ての回答が全文表示されます。
  • a987654
  • ベストアンサー率26% (112/415)
回答No.2

マクロなど使わずに 1.コピーしたいエリアを左ボタンを押したまま領域選択の反転をさせます。 2.選択領域の右下角にある、小さな黒い角部分を左ボタンを押したまま   こぴーしたい方向にマウスを引く。 この操作でいくらでもコピーできます。

noname#11348
質問者

補足

わかります。 自分ならそのように行うのですが、そうではなくて、ボタン1つっていうのがあればなぁと思ったのでした。 すいません。

全文を見る
すると、全ての回答が全文表示されます。
  • hirika
  • ベストアンサー率21% (3/14)
回答No.1

 マクロを使わなければならない意味はありますか。  なければ、A1からA4までを選択して、選択範囲の右下のところを下にドラグすれば良いだけだと思いますが。

noname#11348
質問者

補足

マクロの実行というボタンひとつでコピーできるのがしたいのです。 答えのやり方も簡単なのですが、これを実際に行う人がPC初心者なので、説明するときに、このボタンを1つ押せばOKだよと言えればと思ったのですが。 できないのでしょうか・・・。 お答えありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルマクロの構文

    エクセルマクロに関してご教示いただきたく存じます。 下記の手順を1つのマクロで実行したい場合、どのような構文を書けば実現できますでしょうか? 前提: ・エクセル中、シート(1)、シート(2)を準備。 ・シート(1)には毎日1日分のデータを入力(例えば、1行目の経費項目、金額、経費支払者 の3カラムヘッダーの下に、2行目から1日分のレコードを入力していく) ・シート(2)には毎日の日別データを累積していく(例えば、シート(1)に1日目で10レコード、2日目で15レコード、3日目で20レコードの場合、3日目終了時に計45レコードにしたい。1行目の経費項目、金額、経費支払者 の3カラムヘッダーはシート(1)と同様) マクロ実行: ・シート(1)に1日目のデータ入力(10レコード)が終わった段階で、ボタンを押し、下記マクロを実行  (1)シート(1)の10レコード(A2:C11)を、シート(2)のA2:C11にコピー  (2)シート(1)の10レコード(A2:C11)を、削除(データクリア) ・シート(1)に2日目のデータ入力(15レコード)が終わった段階で、上記と同じボタンを押し、下記のマクロを実行  (1)シート(1)の15レコード(A2:C16)を、シート(2)のA12:C26にコピー(シート(2)において1日目のデータの次に累積させていく)  (2)シート(1)の15レコード(A2:C16)を、削除(データクリア) ・シート(1)に3日目のデータ入力(20レコード)が終わった段階で、上記と同じボタンを押し、下記のマクロを実行  (1)シート(1)の20レコード(A2:C21)を、シート(2)のA27:C46にコピー(シート(2)において1日目のデータの次に累積させていく)  (2)シート(1)の20レコード(A2:C21)を、削除(データクリア) ・4日目以降、同じボタンでマクロを実行する度に、シート(1)のデータがシート(2)の47行目以降、空白なく追加されていく 以上、皆様のお知恵をお貸しください。

  • エクセルマクロの行非表示及び挿入

    エクセルマクロの方法について質問です。 今6~70行の中に表(入力項目は3行一体)を作っていてそのEセル(3行の結合セル)に”済”と入力すると3行で一体の行を非表示にし、非表示にしたことで入力行が減ってしまうので、非表示にした後に最後から2つ目の3行一体の行にコピーして行を挿入する構文を教えてください。 なお、最後の行挿入だけはマクロの自動記憶でも出来そうでしたが、その前段階の非表示がどうしてもうまくいきません。

  • エクセル マクロを自動実行

    仕事で使っている書式で、A1に「あいうえお」と入力すると、A2「あ」、B2「い」、C2「う」、D2「え」、E2「お」とMID関数で振り分け、入力後、A行を「表示しない」と「再表示」するマクロをボタンで実行するようにしています。 そこで、 この書式には必ず入力しなければならない項目があるので(非表示しない行のセル)、この項目に入力したら行の非表示マクロを実行し、空白なら行の再表示マクロを実行出来るようにしたくて調べているのですが見つかりません。 1クリックの手間を省く方法をご存知の方ご教示ください。 宜しくお願いします。

  • 保護をかけているシートでマクロが実行できない

    行挿入マクロを使用した製品管理表を作成しましたが、シートの保護をかけて行挿入マクロを実行すると「RangeクラスのInsertメソッドが失敗しました」と出ます、シートの保護を外すと実行されます。保護をかけたシートはマクロを実行できないのか、マクロ文が間違っているのかわかりません。ご教授下さい。 表は抜粋ですが以下のとおりで、15行目に行挿入マクロを実行する表作成のマクロです。 E15にはIF文が含まれています。       A     B      C       D      E       F 14    空白  納入日  使用日  納入数量  使用数量   使用m 15 マクロ文は、以下のとおりです Sub 行挿入() ' 行挿入 Macro m = Cells(15,5).Formula Range("A14:G15").Insert copyorigin:=xlFormatFromRightOrBelow Cells(15,5) = m End Sub

  • エクセル マクロでの行挿入は・・・・

    マクロを勉強中です。 特定の列の値(下の表では5列の『サブコード』です)が、 4~6 の時に、1行挿入し上の行のコピーを貼りつけ、 7~9 の時は、2行挿入して上の行をコピー貼りつけ・・・ という作業が、マクロでできますでしょうか? ご回答を、お待ちしております。 どうか、よろしくお願い致します (u_u)

  • エクセルマクロ 指定した値をコピーしたい

    マクロを始めたばかりなのですが、下記のようなことは出来るのでしょうか? 任意の数字が入力されている表があります。この表の中で、別のセルに入力された数字の入力されている行を削除したいのですが、式が入っているため、削除が出来ません。 削除したい次の行から下をすべてコピーして、削除したい行に値だけコピーをするような(見た目は一段繰り上がったようにしたい)マクロを組みたいのですが。 出来ますでしょうか? 全く作り方が分かりません(;_;) 削除対象 00006 対象 入金額 00001 487,075 00003 120,796 00004 598,000 00005 107,940 00006 1,234 00008 74,750 00009 0 00010 712,816 00011 211,094

  • エクセルのマクロ

    教えてください。   A     B   C 1 部品番号  ○   済印 2 111111   ○   済 3 222222   ○   済 4 333333   ○ という表があるとします。 B列にマクロのボタンを作っておき、 A列に部品番号を入力したら、マクロのボタンを押して、 C列に済、という字を表示したいのです。 1部品入力するごとに、その表示をさせたいです。 2行目、3行目・・・と一つずつマクロを登録して いく方法は、(マクロについては詳しくないので、マクロの記録、マクロの停止、という方法しかわかりません)入力するデータが100件以上あるため、それもどうかな・・と悩んでいます。超初心者なのですが、何とか完成したいと思っています。 よろしくお願い致します。

  • エクセルのマクロを使って行を好きなところに挿入したい!

    文だけできちんと説明できるかどうか不安ですが、下記の文でおわかりになった方、ぜひアドバイスをいただきたいので宜しくお願いします。エクセルの表で、ページごとに挿入したいヘッダー(よく表にある見出しです)があって、これはエクセルの機能にあるヘッダーとフッターが使えないようなので(...と思うのですが...)、そのヘッダーをそのままマクロ登録してボタン1つで好きなところに挿入できるようにしようと思ったのですが、コピペした状態を登録するとコピー元は問題無いようなのですが、コピー先のセルが決まってしまって好きなところに挿入することができません。(例えばA1のセルをコピーしてA2にペーストしたものをマクロ登録すると、コピー先が全部A2になるので好きな所に挿入することができません。)モジュールでプログラムを変えればできるのかもと思い、MVBについてネットで調べてみましたがなかなか回答を見つけることができず、ここで聞いてみることにしました。やりたいことは、表の見出しを、エクセルのヘッダーとフッター機能を使って全ページに表示されるように、全ページに表示させたくて、これはできないみたいなのでマクロを使ってみようと思いました。もしマクロなんか使わなくてもできるやり方があればそちらも教えていただきたいので、わかる方、ぜひご回答宜しくお願いします。

  • エクセル2000で、数式が変わるのを防ぎたい。

    1 セルのA1:Z1には=A11 =B11 ・・・=Z11という式が入っています。 2 セルのA2:Z10には表の名前とか、項目名、数式が書いてあります。 3 一回目のデータの入力は、11行目A11:Z11でおこないます。 4 二回目以降のデータ入力は、11行目に、行の挿入を三回おこなってからやります。 またデータの入力は11行目でおこないます。 しかし、このとき、セルA1:Z1の=A11 =B11 ・・・=Z11という式は、=A14 =B14 ・・・=Z14に変わっていて、1行目に入力できません。 5 行の挿入はマクロでやっていますので、ここで=A14に変わった式を=A11に戻せないかどうか聞きたかったのです。 6 ここで作りたい表は、ここのサイトと同じように、新しいデータが上のほうに、古いデータが下にくるようにしたいのです。前にやったのは、データの入力の最後に必ず入力する項目があったので、そこで、マクロで11行をコピー、1行に貼り付けをやっていました。しかし、今回は、最後に必ず入力する項目もなく、また入力しないセルもあります。 7 他に、同じことができるアイデアがあったら、教えてください。 マクロの実行ボタンはすでに二個あるので増やしたくありません。 よろしくお願いします。

  • マクロ 実行ボタンを押さずに常に実行

    マクロを常に実行することはできますか? 「常に実行」という表現が適切か分からないのですが、 例えば・・・・・・ A1~A10まで数値を入力する表があり、それをD1~D10にコピー・貼り付けを行う[貼り付け]マクロがあります。 Sub 貼り付け() ' 貼り付け Macro Range("A1:A10").Copy Range("D1") End Sub これを、[貼り付け]マクロの実行ボタンを押して実行するのではなく、 A1~A10に数値を入力する毎に[貼り付け]マクロ実行される(D列に数値が入る)事は可能でしょうか? よろしくお願いします。

専門家に質問してみよう