• ベストアンサー

エクセルの表を自動的に、項目毎に別シートへ分ける方法

nishi6の回答

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.5

できるまで頑張りましょう。 ●まず、分類が10まであったら、シートはSheet11まで必要です。(シート数は分類数+1です) ●それに、Sheet1の1行目は表題で、空白セルはなく連続して入力されていて、そのどこかに「分類」という表題があることを前提にしています。 ●マクロを動かして、開始、終了入力には半角数値で入力してください。 ●標準モジュールを挿入されていれば、先頭行に「Option Explicit」と入力して動かしてみて下さい。スペルミスがあるかもしれません。 いままでに作成したシートをコピーして別名で保存して下さい。そのコピーしたシートを使用しましょう。 1.VBE画面で挿入→標準モジュールで標準モジュールを挿入します。既に標準モジュールがあって入力されていれば削除かコメント行にして下さい。  ※コメント行にするには、表示→ツールバー→編集をチェック。出てきたツールバーの「手」の右のアイコンがコメントブロックです。既に入力した行を選んで(反転させて)コメントブロックのアイコンを押します。行頭に「'」が付いてコメントになります。 2.標準モジュールの先頭行に「Option Explicit」がなかったら「Option Explicit」を入力します。 3.ANO.#4のマクロ部分を選んでコピーして下さい。   Public Sub から End Sub までです。 4.これを標準モジュールに貼り付けます。  ※文章から判断して、マクロを入力されたと思いますので、スペルミスをなくすために貼り付けてください。マクロの行を見て、「xxx」と「End xxx」、「For xxxx」と「Next」に挟まれた行を選択してTABキーを押していくと見やすくなります。(インデントをつける)okwebからメールが届いていれば、そちらを貼り付ければ見やすくなると思います。 5.Excelシートに戻って、ツール→マクロ→マクロで「BunruiSheetPrint」を選んで実行します。 6.開始行と終了行を半角数値で入力してください。 うまくいきますように。 うまく動いたら   Dim rw → Dim rw As Long '行カウンタ   Dim br → Dim br As Integer '各データの分類   Dim ws → Dim ws As Worksheet '印刷をするシート に修正して下さい。今のままでも動きますが、ここはこう書くべきでした。 >やっぱり、初心者では無理ですか? そんなことはないと思います。最初はみんな初心者ですし。ruru-Kさんもこれだけ考えていれば上達しているはずです。基本を身に付けること(本とかで)と考えることでどんどん上達していくはずです。多分もう少しで動きます。(私の方に間違いがなければ?)頑張って下さい。

ruru-k
質問者

お礼

nishi6さん!! うごきました!! ありがとうございます。感動の一瞬でした! これから、いろんな機能等をつけて暑中見舞いに間に合うように完成させます。 HLOOLUPを使わずに、シートに飛ばせば!? と言うアドバイスを頂いたおかげでVBAの事も少しずつ分かってきました。なんだか自信がでてきました。やれば出来る! とはいっても、まだ理解できているわけではありません。もっと勉強していきたいと思います。本当にありがとうございました。 で・・・ソフトとして使い易いように、いろいろ考えているのですが、いきなり問題が出来ました。それは、各分類のシート(はがきのフォーム)を表示させて、1枚ずつ体裁を確認しながら印刷させる事も出来るようにしたい。ということです。 「(次の宛名→印刷)を繰り返していく」のように・・・ 1回の質問でいろいろ聞くのも、なんだか申し訳なくなってきましたので、一旦締め切ります。この後すぐ、「 分類に分けられたシートの表示 」と言うタイトルで質問をさせていただきますので、宜しくお願い致します。

関連するQ&A

  • EXCEL VBA 保護したシートを読込みしたい

    お世話になります。 EXCEL VBAで「データ」というシートあります。ここの100件ほどのデータが入っており、もう1つの「集計」というシートにフォームを作成してそのフォームからVBAを使って集計するのですが、この「データ」シートはユーザーにいじられたくないので保護もしくは非表示にしたいと思っています。 しかし「データ」シートを保護してしまうとVBAで「データ」シート読み込む際にエラーになってしまいます。 何かよい方法はありますでしょうか? 環境 WindowsXP SP3 Excel2003

  • Excelのシートを隠す方法

    Excelにて表作成をしえおります。 1枚のシートに定価と掛け率を入れて隠したデータを作りたいのですが、シートを隠す+保護+パスワード設定をしましたが、VBAにてシートがあることがわかってしまいます。VBA画面でもシートがあることがわからないようにする方法はありませんでしょうか?できればマクロは使わない方法にてお願いいたします。

  • エクセルで別シートから内訳を反映させる方法。

    エクセルで簡易な合計請求書を作成しました。 しかし別シートから内訳を引っ張ってくる方法がわかりません。 知恵をお貸しください。 下記の画像で上画面のシートが合計請求書のフォームになります。 下画面の別シートに売上が入力しておりその入力した売上を店舗ごとに 集計して表示されるような関数が上シートの金額部分に入っています。 上のシートの緑色部分にはマクロが登録されており押すと金額と店舗の住所が 合計請求書のフォームに反映されるようになっております。 ここで緑のボタンを押した時に住所と一緒にその合計請求書のフォームの下に金額の内訳が入るように関数を入れたいのですがそういった関数はありますでしょうか? 分かり辛い説明で申し訳ありません。 宜しくお願いいたします。

  • エクセルでデータを別シートに表示する方法。

    エクセルでの質問です。 運送会社に勤めてまして、乗務員の拘束時間を管理できる表の作成を頼まれました。 シート1には記入表があって、名前をリストで選択しデータ入力、そのデータを名前別に シート2に蓄積し、保存されます。 シート1の記入表の名前を他の名前にリストから変更したら、記入表の数字はクリアにされますが シート2には前回の名前のデータはそのまま保存。また名前を選択したら随時更新が出来るように したいです。 名前のリストは500人程度です。 一人一人のシートを作成したのでは非常に時間がかかるため、マクロやVBAで効率よく分類、 またはそれ以外の方法がありましたら、ご教授いただければと思います。 よろしくお願いいたします。 表は画像にあります。

  • エクセルデータを別のエクセルファイルに自動で書き込む方法

    Excel 2003を利用している初心者です。 質問させていただきます。 エクセルのシートのデータを別のエクセルに自動で書き込んでくれるような仕組み(マクロ?)の作成方法を教えてください。 具体的には、 A.xls内の ---------------------------------------------------------------- 名前       住所     電話番号    登録日 山田太一    東京都豊島区  0309990999   2005/11/01 宮田太一    東京都港南区  0309990999   2005/11/01 ・          ・      ・      ・  ・          ・      ・      ・ ---------------------------------------------------------------- のようなのデータを、横列単位で ---------------------------------------------------------------- 名前:山田太一    登録日2005/11/01 住所:東京都豊島区  電話番号:0309990999   ---------------------------------------------------------------- のように、項目のみを記載してある、B.xlsファイルに、自動で書き込むしたいのですが、その場合、どのような方法があるのでしょうか? エクセルに関しては、ずぶの素人なので、どのような方法があるかもわからず、漠然と質問してしまいましたが、 何卒よろしくお願いいたします。

  • VBA シート毎にユーザーフォームを作成する方法

    VBAの初心者です。記載内容に不備があるかもしれませんが、ご了承下さいませ。 エクセルのシート毎に異なったデータを簡単に入力したいと思っています。それをVBAを使って作成したいのですが、シート毎のユーザーフォーム作成方法(オブジェクトのWorksheetやモジュールの記載内容など)がわかりません。一つのシートに対しては、なんとかユーザーフォームを作成でき、データ集計できています。 ネットで検索しても、思い通りのサイトが見つかりませんでしたので、質問させていただきます。 教えて下さい。宜しく御願い致します。

  • Excel VBAで抽出したデータを別シートに表示する方法。

     Excelで20分類された3000行くらいの商品DBシートから名前の定義を利用して分類別のリスト選択(入力規則)しています。  内容は分類シートで商品DBシートから分類列別で抽出し(関数で分類)分類列ごとに名前の定義を設定し入力シートでリスト化(入力規則)を行っております。  商品DBシートにデータを追加すれば自動的に分類シートに反映はされますが、各セルに関数が入っており、再計算が非常に時間がかかります。  VBAで効率よく分類、またはそれ以外の方法がありましたら、ご教授いただければと思います。  よろしくお願いいたします。

  • エクセル データをシート別に分けたい

    現在 エクセルにてその日入荷商品を仕分しています。データ入力シートに商品番号を入れると単価と重量と分類が出てきます(化粧品なので口紅、香水など) 1 1234 香水 1000円 100グラム 分類 3303.00 2 5645 口紅 900円  50グラム 分類 3304.00 3 2256 香水 3000円 250グラム 分類 3303.00 データ入力した際の1番目に来た商品(香水)は別の1番シート、香水を除いた2番目に来た商品(口紅)を2番シートに・・・のようにしたいのですが、現在はオートフィルで摘出してコピーをしています。 シート1 1 1234 香水 1000円 100グラム 分類 3303.00 2 2256 香水 3000円 250グラム 分類 3303.00 シート2 3 5645 口紅 900円  50グラム 分類 3304.00 順番はその日によって違い何が1番目に来るのかわかりませんが、必ず1番上から仕分をしなくてはいけません。 摘出後、1番シートに1番から番号を振り最後まで振ったら続きを2番シートというようなものを作成したいと思っております。商品は大体8種類から14種類に分類されます。 どのように作成すればいいのか、どなたかご教授ください。よろしくお願いいたします。

  • EXCELで自動的にデータレコードを追加する方法について

    EXCELシートのレコードを自動的に追加して生きたいのです。というのは2枚のEXCELシートがあって1枚のシートは入力フォームになっていて他のフォームにアクセスのようなレコードを作り1行目のレコードにリンクさせます。この場合1枚目の入力シートにデータ追加するたびに2枚目のシートにレコードが追加される方法がないでしょうか。マクロを使ってコピー貼り付けではできません。もちろんデータのフォームではデータ貼り付けを受け付けませんのでだめです。アクセスまがいのことをEXCELでしようとしているのですが。どなたかヒントいただけませんでしょうか。

  • エクセルで項目ごとに新しい別のシートにしたい

    エクセルで名簿を作成しています。 C列に生徒番号、D列に氏名、E列にクラスがAからFまでランダムに入っています。 この名簿を新しいファイルに、クラスごとに別のシートにしたいです。 できればシート名も「A」「B」となっていれば助かります。 A,B列にもデータが入っていますが、今回は生徒番号、氏名、クラスのみの ファイルにしたいです。 良い方法を教えてください。よろしくお願いします。