• 締切済み

Excel マクロとVBA使用して、データの集計がしたい。

今、excelで作った、表データを、同じくエクセルで作った雛形にデータを入れるマクロを作っていますが、初心者の為出来ません。 明日の夜までに完成させろといわれている為いろいろ調べましたが、判らないので力を貸してください。 内容は、約700件の表データで、 地区(数字にて区別してます)・名前・電話番号を 雛形に移していくものです。 雛形にも、地区・名前・電話番号を入れるセルを用意してあります。 雛形が、40件づつで、そのたびに、同じ地区の件数を出さないと駄目です。 それを、シート追加しながら最後まで終わらせるというものです。 もっと調べる時間があれば、調べたことも書けるのですが、そこまで出来ていません。 いまいち質問の仕方もわかりませんがよろしくお願いします。

みんなの回答

回答No.1

VBAはたまにしか使わないので、構文自体怪しいのですが。 一応以下のは、excelで確認しました。 Sub Macro1() Dim I As Integer Set wk = ThisWorkbook Set Base = wk.ActiveSheet Set NewSheet = Base Dim tmp I = 0 Do While (I < 1) Set NewSheet = wk.Worksheets.Add(After:=NewSheet) 'Set NesSheet = Worksheets("雛形").Copy After:=NewSheet NewSheet.Name = "シート(" & I & ")" NewSheet.Activate NewSheet.Range("A1").Value = Base.Range("A1").Value NewSheet.Range("A2").Value = Base.Range("B1").Value NewSheet.Range("A3").Value = Base.Range("C1").Value I = I + 1 Set NesSheet = Nothing Loop Set Base = Nothing End Sub 基本的には、こんな感じになるかと思います。 この例は、A1-A3の(横1行)を新しいシートのA1-C1(縦1列)にコピーします。 例ではワークシートを作ってますが、雛形を使わなければ成らないのならコメントアウトされている部分のようにコピーすればよいでしょう。 で雛形にある挿入する箇所のセルを指定してやればよいです。 RangeはRange("A" & i) や Cells(i,k)のように指定することも出来ます。 その700件のデータの1件1件が複数行にまたがる場合は 別な変数 k 等を作って k=k+2 みたいに、増加分の管理をしないといけないでしょう。 >雛形が、40件づつで、そのたびに、同じ地区の件数を出さないと駄目です。 の説明がよくわからないので、その辺は含まれていません。 40件ごとに1つのシートを作るという事なら、 Dim cnt as integer=0 とでもして cnt=cnt+1 とかやって、 if cnt>=40 then みたいな感じでやればよろしいのではないかと。

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

関連するQ&A

  • EXCELのマクロでデータをクリアしたい

    仕事でエクセルのマクロを使ってリストを作る作業があるのですが、行き詰まりました。どなたか助けて下さい。お願いします。 表を作るのには二つのマクロを使っています。 【一つめのマクロ】 1.定形のウェブページからテキストをコピーする    内容は商品名や商品番号や数量です 2.エクセルの一番左上に貼り付ける 3.するとマクロが働いて貼り付けたデータはseet1に保存されて自動的に新しいシートが用意される 4.新しいシートに別のデータで1.2.を繰り返す この作業は9回まで繰り返し、一旦エクセルを閉じます。 次に再びエクセルで 【二つ目のマクロ】を立ち上げ、現れた『リスト作成』ボタンを押すと自動的に完成の表が作られます。 最初はこの方法で快調だったのですが、行き詰まりました。 ・行き詰まりその1 一つめのマクロで九つまでコピーペーストするのをくり返して、二つ目のマクロを使うと今までのデータをすべて反映して表が作られてしまいます。うまく説明できないのですが、例えば 月曜にコピーペーストして表完成。 火曜に別のデータでコピーペーストして表を完成させると、必要ない月曜のデータも含めて表が出来てしまう。 これが一つめの困りです。 ・行き詰まりその2 二つ目の困りは、ある日別の社員が一つめのマクロを使ってコピーペーストしていたところ、誤って9つ以上シートを作ってしまったらしく、作りすぎたシートを削除しました。 そうしたらフリーズしたので、再起動してやり直ししたら、そのマクロのファイルを開くたびに、上記の失敗が現れてそれ以上のデータが作ることができなくなりました。(2つめのマクロを動かすと失敗データが上書きされるのみです) 快調な時は表が完成すると、一つめのマクロでは何のデータも残りませんでした。 このような稚拙な説明しか出来ないのですが、どなたかご教授下さい

  • エクセルデータの並べ変え及び集計

    最近、エクセルでのデーターを貰う事が多く、 データを利用した作業が多くあり、都度勉強して おるのですが、未熟者ゆえ、時間がかかっております。 日本全国の郵便番号を5桁ごとに集計し、5桁ごとで数量がどれくらい あるか? 例 550-0011 550-0012 →550-00 2件   550-0112 →550-01 1件 550-0213 550-0213 →550-02 2件 上記のように、5桁ごとの件数を出すには、どう言う数式にすれば いいでしょうか? 頂くデーターは郵便番号だけが並んでいるエクセルデーターです。

  • エクセルVBA(マクロ内でマクロを選択する)

    いつも有難うございます。 表題の件でご教示ください。 エクセルVBAのマクロ内でマクロを選択して実行したいと考えてます。 調べたのですが、単にマクロ内で他のマクロを呼び出す方法はありましたが 「選択して」という点が見つからず、恐縮ですがお願いいたします。 具体的には以下のような内容です。 (1)基本となるデータが1~100まであるとする (2)サブルーチンとしてのマクロ群A~Gがあるとする (3)データ1に対してはマクロAを行い、データ2、3に対してはマクロBを行い・・・という形でそれぞれ対応させるマクロが違う (4)データ50~70は同じマクロを実行したい (5)このときに実行するマクロで ・対象のデータを選択させる(入力BOXで開始番号(50)と終了番号(70)を指定する) ・A~Gのどのマクロを実行させるか選択させる ・データ50~70に対して、選択したA~Gのいずれかのマクロを順次実行していく というものを作りたいと考えています。 全体的なイメージは完成しているのですが、マクロ群を選択させる方法がわかりません。 (マクロ群A~Gはすでに作って使用です) 何卒、宜しくお願いいたします。

  • エクセル マクロ作成について

    エクセル マクロ作成について PC初心者です。よろしくお願いします。 あるデータをエクセルで作成しているのですが、そのデータを営業店舗別にシートを別けたいと思っております。 営業店舗が50以上あることから、マクロでできないでしょうか。 A列に営業店舗の店舗番号を入力してあります。 データ件数は全部で約50,000件です。 どのようにマクロを組めばよいでしょうか。 お詳しい方、よろしくお願いします。

  • excelでデータの集計をしたいのですが

    エクセル上の表に地域別のデータを集計しています。 地域には番号をつけてあり、下記のようにまとめています。 地域番号   反響内容  1      ○○○○○  4      ○○・・・  2      ・・・・・ これを地域別に何個ずつデータがとれたかを集計する方法を知りたいのです。 地域番号 1 について 反響データ  ○○件   のような形にです。 エクセル上の方法を教えてください。

  • エクセルで、文字列から文字を取り出す自動マクロを教えてください。

    住所の入った、エクセルのファイルを頂くのですが、C2せるから、C50程度のセルまでに 「〒123-4567兵庫県○○市○○3-4-5」と 一つのセルに入っています。 これをマクロで、C列の前に、一列挿入して、自動的に、〒番号の部分を切り取って、貼り付けるという 操作を、マクロでくみたいのです。 データは毎週貰うのですが、件数は5件~50件程度までと幅はあります。データは2行目から連続して並んでいます。「列を挿入して」「LEFT関数で取り出すという関数をC2に入力」「数式をデータが終わるところまでコピー」「元のデータから〒番号を消去」というマクロを組みたいのです。お手数ですが、初心者にでも分かるようにマクロを教えて頂けませんでしょうか?

  • エクセル データベース 別シートで一覧表

    いつも大変お世話になっております。 現在、エクセル2007を使用して、 名前・住所・電話番号等のデータベースを作成しております。 データベースは完成し、 次に、プリントアウトしたいのですが、 データベースに入れているデータ量が多く、 一覧表として出そうと思うと、数枚に渡るか、切れてしまうか、 字がすっごく小さくなってしまいます。 必要なデータだけ、違うシートもしくはブックで一覧表を作成したいのですが、 その場合、何か良い方法はありますか? エクセルは普通に使えますが、マクロは組めません。 マクロを組む必要があるのでしょうか? ちなみに、個人情報は、●万件と多量な為、 エクセルの形を整えれば?という問題ではありません。。 どうか、お助けください!!

  • Excelのマクロ

    表中のところどころにあるセルのデータをいっぺんに消去するマクロを作成するには、いちいちそのセルの番号を記述していかなくてはならないのでしょうか?

  • Excelで表に任意データを入れたい

    いつもお世話になっています Excelで悩んでいるところがあるので、ご教授をお願いします。 ExcelにシートA,シートBを用意 シートAに表を作成しまして (例) | 名前  | 備考  | | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| | ̄ ̄ ̄ ̄| ̄ ̄ ̄ ̄| この表は1ページで30行分の名前データが綺麗に収まる表です。 別シートBに百数件の名前だけのデータが入っています。 (A列に数十件、B列に数十件とデータは複数列にわたって入っています) ※今はこのデータの形式ですが、データの持ち方はある程度妥協できます シートBの任意の名前データだけ複数選択し、シートAの形を使って印刷をしたいと考えています。 この時、選択したデータ件数によってはシートAの表は複数枚に渡って印刷される必要があります。 これを実現したいのですが、どのようにすればよいでしょうか? マクロでやるのか、はたまたマクロを使わずともできるのか・・・ 差し込み印刷のような感じでできないかと調べてはいるのですが、解決できそうな情報がみつかりません。 これを実現できる方法を分かる方がいましたら、お願いします。 マクロでという場合は、VBAの記述は初心者ですのでポイントだけでも詳しく教えて頂けると嬉しいです。 よろしくお願いします。

  • エクセルのマクロについて。

    携帯電話の発信明細書に氏名を、振り分けたいのですが、OCRで 明細書を読み取ったデータ(電話番号)をエクセルのマクロを使って 一発で氏名リストから、一致する番号に氏名を、振り分けるマクロプログラムは、どんな感じにしたら一番いいでしょうか? 登録リストは、1000人程あり、発信履歴は、500件程になります。