• ベストアンサー

EXCEL2003でマクロを作りたいのですが教えて下さい。

エクセル2003を使っています。 マクロの初心者なので、 下記のようなマクロの作り方を詳しく教えて下さい。 他にも簡単な方法があればお願いします。     <シート1>               <シート2>   A     B   C  D    A    B  C  D 1 名前 郵便番号 住所 金額   1 名前     2    以下、データ          2 郵便番号 3                    3 住所    ・                   ・ 10                   10           金額                          <シート1>にはA1~D1までデータがあります。(50行) <シート2>の1ページ目に<シート1>の1行目のデータを入れたいです。 <シート1>は全部で50行のデータがあり、 <シート2>は1~10行までを1ページとし、50ページ作りたいです。 いろいろ調べてみたのですが、わからなかったので 説明不足かもしれませんが、よろしくお願いします。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

#1です。一箇所漏れがありました。 訂正します。 Sub test01() For n = 1 To 50 '50回繰り返す For i = 1 To 4 '4回繰り返す Sheet2.Cells(i + X, 1) = Sheet1.Cells(n, i) '行列入れ替え転記 Next i X = X + 10 '次の10行へ Sheet2.HPageBreaks.Add Before:=Sheet2.Cells(X + 1, 1) '強制改ページ Next n End Sub

kaochan7
質問者

お礼

回答ありがとうございました。簡単なマクロしか使った事がなかったので、助かりました。思っていたとおりに出来たので嬉しいです!どうもありがとうございました。

その他の回答 (2)

  • masa-it
  • ベストアンサー率37% (9/24)
回答No.3

マクロ初心者とありますが、 他の言語プログラムは経験済みって事なのすかね? 経験者を前提として参考までに。 マクロの記録を行ってみてください。 (1)対象の2シートがある、BOOKをOPENする。 (2)ツール→マクロ→新しいマクロの記録 を選択する。 (3)ここからが重要です。  1)sheet1のヘッダをコピー  2)sheet2へ行列を入れ替えてペースト  3)sheet1のデータを1行コピー  4)sheet2へ行列を入れ替えてデータをペースト  5)最終行で改ページの挿入  ※これを2回繰り返してください。  当然、上記以外の操作は行ってはいけません。  間違った操作もマクロに記録されちゃいますから。 (4)記録終了 (5)Visual Basic EditerでソースをOpenします。 Module1:Macro1で先ほど行った操作が記録されているでしょう。 (6)後は、moduleを見たら解ると思います。  どの様にFor文で繰り返すかですね。 注意:当然マクロなどを実行する際は 他のExcelファイルは閉じておきましょう。

kaochan7
質問者

お礼

回答ありがとうございます。すみません初心者なので、「※これを2回繰り返してください。」という所がちょっと分からなかったので、これから調べてみようと思います。詳しく回答頂き、どうもありがとうございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

誤解しているkも知れませんが・・・・。 Sub test01() For n = 1 To 50 '50回繰り返す For i = 1 To 4 '4回繰り返す Sheet2.Cells(i + X, 1) = Sheet1.Cells(n, i) '行列入れ替え転記 Next i X = X + 10 '次の10行へ Sheet2.HPageBreaks.Add Before:=Cells(X + 1, 1) '強制改ページ Next n End Sub

関連するQ&A

  • EXCELでの検索マクロを作りたいのですが

    マクロの初心者です。氏名の検索マクロを作成したいのですが分かりません。 A列:名前 B列:郵便番号 C列:住所 と 名前等のデータを(ランダムに)入力したシート1を作成し、 シート2にシート1の「A列:名前」から性(たとえば青木)で検索して検索ボタン(マクロボタン)を押して該当データを表示させるようにしたいのですが。

  • 「エクセル」で、「アクセス」のようにデータを呼び出したい

    「Excel2000」を使用しています。 少し、ややこしいのですが… たとえば住所録で、 「sheet1」の 1行目にリストのタイトルが入っていて、 A2、A3…に通し番号、 B2、B3…に名前、 C2、C3…に住所、 D2、D3…に電話番号 が入っているとします。 その時、「sheet2」の (たとえば)A2に 「sheet1のA2」に入っている通し番号を入力すれば、 その行に入力されている名前や住所や電話番号が、 任意のセル(たとえばD10、C8、C9)に表示される… といったことは可能でしょうか? こういったことは「Access」が 得意なんだと思いますが、なんとか エクセルで出来ないものでしょうか? マクロなどを使うのでしょうか? マクロはほとんど触ったことがないのですが、 チャレンジしてみますので お教え願えませんでしょうか。

  • マクロについて質問です。

    office2003を使用しています。 sheet1のデータをコピーし、sheet2の表にsheet1のデータを張り付けるマクロを作成して欲しいと言われました。 ・コピー元のsheet1はセルの結合が有ったり無かったりの表データになってます。 ・貼り付け先のsheet2はセルの結合が無い表です。 ・sheet1からsheet2への貼りつけは全てではなく、抜粋されたデータになります。 ・貼り付け先の列も変わっています。 ・sheet2には数式が入った列が加わり、小数点第二位表示です。セルの書式は右寄せや中央、桁区切りがあります。 ・sheet1は可変データです。 2~3位で終わるのもデータの時もあれば20まであったりする時もあります。 sheet2の表の罫線はデータの分だけ引きたいと思っています。 マクロは初心者同然で自動マクロ程度のレベルです。 わかりにくい説明で申し訳ありませんがご教授ねがいます。 sheet1   A  B      C        D    E    F      G  1 No. 名前    上)住所  年齢  商品  金額   担当者             下)電話 2           秋田    1  アイウエオ        20    A   10,000   タナカ 3           123456 4           鹿児島   35    D   15,000   ヨシダ   2  カキクケコ   5           987654 ※sheet1はC列以外の2・3、4・5行はセルが結合されています。    2行で1人のデータになります。 ↓コピー貼りつけをする sheet2    A  B      C     D    E     F      G     1 No. 担当者  名前    住所  商品  金額   原価 2  1  タナカ  アイウエオ  秋田  A  10,000   7,500.00(数式が入っている)  3 2  ヨシダ   カキクケコ  鹿児島 D  15,000   6,800.00         

  • マクロによる条件での行の入力と削除

     初めまして、よろしくお願いします。  次のような二枚のシートがあります  シート1      A  B  C   1     2       ・      99      100 23    101 25   102 31   103 34  104 43  105 44  106 49  107 50  108 55  109 60  110  111  ・  ・  シート2      A  B  C   1     2       ・      99      100 23  1 2 3   101 25  4 5 6 102 31  7 8 9     103 34  0 1 2  104 43  3 4 5     105 44  6 7 8 106 49  9 0 1 107 50  2 3 4 108 55  5 6 7 109 60  8 9 0 110  111  ・  ・ シート1とシート2のA列に入っている数字が通し番号です。シート2では加えてその通し番号のデーター数字がB列、C列、D列に入っています。 のこシート1の通し番号31が削除、代わりに通し番5番と51番を追加し、  シート1      A  B  C   1     2       ・      99      100  5 101 23    102 25     103 34  104 43  105 44  106 49  107 50  108 51 109 55  110 60  111  112  ・  ・ マクロを実行すると  シート2      A  B  C   1     2       ・      99      100  5 101 23  1 2 3   102 25  4 5 6    103 34  0 1 2  104 43  3 4 5     105 44  6 7 8 106 49  9 0 1 107 50  2 3 4 108 51 109 55  5 6 7 110 60  8 9 0 111  112  ・  ・ シート2がこように通し番号31が入っていた行番102行が削除され、新たに通し番5番が行番100に、51番が行番108に挿入追加されるマクロを教えていただきたく、よろしくお願いします。

  • 文字を検索してその行を別シートにコピーするマクロ

    A列 郵便番号 B列 住所 C列 名前 で出来ているファイルがあるのですが、住所欄にある市ごとにその行を別のシートにコピーさせたいと考えています。 マクロを起動させ、ダイアログボックスにコピーしたい市を入力するとSheet2又は新しいシートにコピーするマクロが出来たら助かるのですが、私用の範囲内で使いますのでご教授お願いします。

  • エクセルのセル参照

    エクセル2007です。教えてください。 Sheet1のA1に「郵便番号」、A2に「住所」、A3に「氏名」、A4に「請求金額」を入力するとします。 これを100件入力すれば、「1」から「100」の行を使いますよね。 次にSheet2に請求書を作ります。A1に「郵便番号」、A2に住所、B1に「氏名」、C1に「請求金額」を 表示させたいのです。連続させてSheet1のセル参照を使うと、行が違うので直してやらなければなりません。 1件や2件ならともかく、100件となると…。関数では無理なんでしょうねえ。ではマクロ? どういうマクロを組んだらいいのか教えてください。

  • excel2007のシート間のデータコピーについて

    今頃になって大慌てで年賀状印刷をしているものです。 宛名印刷をしたいのですが、既製のフォーマットではなかなかうまく設定ができません。 印刷したい項目は、 郵便番号 住所1 住所2 会社名1 会社名2 担当者名   の6項目です。 配置としては ======================           0000000  空行  空行  空行  空行  空行       住所1(左詰)                  住所2(右詰)  空行       会社名1(左詰)[株式会社等が入る場合あり]                  会社名2(右詰)  空行          担当者氏名        ====================== こんな感じのレイアウトにしたいのです。 で、元データは別のシートに 郵便番号  住所1 住所2 会社名1 会社名2 担当者名 という順番で横1行に列記されています。 これを別シートに最初に書いたようなレイアウトで配置したのですが、 2ページ以降がそのままコピーでは、数行分スキップした状態 (A1  B1  C1  D1  E1)で1ページができたあと 2ページ目は(A11  B11  C11  D11  E11) 3ページ目は(A21  B21  C21  D21  E21) というような感じになってしまいます。 2ページ目は(A2  B2  C2  D2  E2) 3ページ目は(A3  B3  C3  D3  E3) となるような方法があれば教えてください。 (説明が上手くできなくて伝わるかどうか・・・非常に不安です) よろしくお願いします。

  • マクロについて

    マクロで(a-b)^2の計算を行いたいのですが、 どう書けば良いのか分かりません。 (A1-B1)^2、(A1-C1)^2、(A1-D1)^2、・・・・・ (A2-B2)^2、(A2-C2)^2、・・・・・ (A3-B3)^2、・・・・・ と、 250行、250列のデータを同じシートに出力したいのですが、 どのように行えばよいのでしょうか。 どなたか、教えていただけませんか。 宜しくお願いいたします。

  • 【Excel365】マクロを削除するマクロ

    特定のシート(仮にAとします)に添付画像のマクロ(別のマクロを実行するマクロ)を組み込んであります。 シートAをコピーしてシートBを作成し、値コピー・行削除などいろいろ編集した後にxlsxとして保存するという作業をしています。 しかし、シートBにも画像のマクロが組み込まれたままなので、1行目を削除するとマクロ「更新」が実行されてしまいます。 シートをコピーした後、画像のマクロを削除する方法はありませんか? 各Q&Aサイトをググるといろいろ出てきますが、理解できませんでした。 もしくは、シートAとそっくりなシート(ページレイアウトや書式もそのままでデータのみ値コピー)を作成するマクロの提示でも構いません。

  • 最終行に貼り付けるマクロ

    個人の住所録ブックAがあります。 1行目 作成日 郵便番号 住所 名前  です。(これは常に1行です) この1行をコピーして、共有のブックBに追加して保存したいのです。 共有のブックBは、パスワード(****)があります。 そして、これまでのデータが入っています。 その最終行を検索して貼り付けるマクロを教えてください。 エクセル2003です。 よろしくお願いします。

専門家に質問してみよう