• 締切済み

エクセル マクロで可能!?

エクセルで個人データを管理しています。マクロでできるのかわかりませんが、できるなら挑戦してみようと思い質問しました。 データは、縦に個人別に並べてあります。また1人のデータにつき4行を使って横長にその個人のデータを記入しています。よって左端に名前等の基本データが記入されていています。下のような感じです。 (シート1)  名前A データ ××○○○・・・・・・  名前B データ ×○○×○・・・・・・  名前C データ ○○××○・・・・・・   ・   ・ そこで、ある個人のデータの名前周辺部分を別シートにそのまま同じ形式でコピーをしたいのですが、それをマクロでできないのかなと思い質問しました。下のように全ての人をコピーする必要がないので解らなくなっています。 (シート2)  名前A   名前C  名前G   ・   ・ 考えているのはシート1の各名前の前にコマンドボタンを配置し、それに『指定部分をコピーしてシート2に貼り付け』というマクロを組めばいいのでないかと思っています。しかし、全ての個人をコピーする必要がないため、コピー先の場所をどう指定してやればいいのかがわかりません。コピーをした順番に上から順番に埋まってほしいのです。 以上、どなたかわかる方お願いします。 エクセルを文章で状況説明するのは難しいです…

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.3

#2です。 結局どのように選択するかでしょうけど、Ctrlキーを押しながら名前をクリックして 手作業かマクロかになるだけでは? 別案なら名前の左側に1を入力していき、オートフィルタで1を抽出しコピペする とかでも出来そうですし。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

名前だけをコピペするなら、Ctrlキーを押しながら名前をクリックしていき、 コピーを選択してシート2の任意のセルに貼り付けで出来そうですが。

stand-T-K
質問者

補足

はい。解らなければその方法しかないとは思っていました。選択してそのまま貼り付けではできました。他の人も使用するファイルなのでなるべく誰でもできるようにしたいと思いマクロを思いついたのです。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

こんにちは。 まずは、確認事項 >また1人のデータにつき4行を使って横長にその個人のデータを記入 >しています 例では、4行使っているようには見えませんが、4列とかそういうことでよいのでしょうか? >それに『指定部分をコピーしてシート2に貼り付け』というマクロ 指定方法はどのようにするのでしょうか? 1)シート2の名前欄に名前だけ並んでいる 2)シート1のコピーしたい行(あるいは名前のセルなど)を選択状態にしておいてマクロを実行する。 >できるなら挑戦してみようと思い質問しました 内容が一部不明ですが、一人1行使用ということで、↑の1)、または2)のようなものであれば、それほど難しくはありません。 挑戦してみてください。

stand-T-K
質問者

補足

すみません。4行です。どうやって書いていいのかわからず省略してしまいました。名前の下の行にもデータを記入しています。 コピーをする際にそのデータも移動したいです。(4行4列分のデータ) シート2へはそれらのデータをそのまま何も変えずにコピーしたいのです。

関連するQ&A

  • EXCELマクロ ループする方法について

    EXCELマクロ ループする方法についてです。 お世話になります。 教えてください。 EXCELのマクロについてです。 Sheet1のB4から下方に30程度の名前が並んでいます。 名前は毎回変わり、人数も変わります。 他に「原本」というSheetがあります。 行いたいことは、原本のシートをコピーしてシートの名前を Sheet1のB4から下に順番に変更していきたいのです。 当初、B4からの順番に新しいSheetを作りSheetの名前を変更して 原本からコピー(書式、数式、列幅、値等)しようと試みましたが 数式や値はコピーできましたが列幅などがコピーできません。 そこで原本を「シートのコピー」で新しいコピーした Sheetを作り名前をB4に変更する。 それをB列が空欄になるまでループさせる。という方法を 考えましたが、「空欄になるまで」という 記述がわかりません。 教えていただければ助かります。 よろしくお願いします。

  • エクセルのマクロに関する質問です。

    エクセル2010使用。 以下の動作をマクロで行いたいです。 「まとめ」という名前のシートを追加。 全てのシート(シート数は毎回違い、10~18くらいあります。シート名もバラバラです。 )のC列にあるデータ(データ数も毎回違います。)をすべて抜き出して、(C列のデータだけでいいです。他の列のデータはいりません。)追加した「まとめ」というシートのA列にまとめるというマクロを組みたいです。 どなたかご教示いただけないでしょうか?

  • 別のアプリケーションとエクセルマクロについて

    エクセルとは別のアプリケーションのデータの文字をコピーして エクセルのシートのある決まった位置に張り付ける、ということを 簡単に行いたいのですが、(マクロ的にボタン一つとか) どういった方法がありますか? エクセルのVBAマクロは作っていますが、 別のアプリからデータをコピーして持ってくるというのは、できないですよね。 (csvとかに落とすこともできないデータです。) 別のアプリの文字をコピーする段階で、VBAでは無理だと思うので、 他のプログラム言語だと、そういうことができますか? C言語は少し習いましたが、何か最適な方法や、 このプログラム言語だと、簡単にできるというのがあれば、教えてください。 よろしくお願いいたします。

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

    お世話になります。 エクセルのマクロ(VBA)について質問があります。 下記、わかりにくいと存じますが、お力添え下さい。 ある表があります。 項目としてA列「名前」B列「連絡先」C列「順番」とんでE列に 「乱数」があります。 2行目にこれら項目名が並んでおり、3行目から34行目までは データ入力範囲になります(32名入力出来る。1行目は表のタイトルです) 入力したデータを順不同に並べたく、「順番」項目は乱数を用いた数字を入力させます。 ここから、マクロの登録をします。 ~↓登録中↓~ ・「乱数」項目の1番上(E3)から一番下(E34)までドラッグ  (範囲指定)し、右クリック→コピー ・「順番」項目の一番上(C3)で右クリック→”形式を選択して貼り付け” ”値”にチェックを付けて「OK」 ☆「順番」項目の一番上(C3)から「名前」項目の一番下(A34)まで ドラッグ(範囲指定)し、”昇順で並べ替え”ボタンを押す ~ここまで~ (乱数は、毎回変化してしまうのを防ぐ為、別項目から引っ張ってきて 値だけをコピーするようにしています) このようにマクロを登録しました。 しかし、毎回32名を入力するわけではなく、時には32名未満の入力をする場合があります。 別のセルF40に、COUNTA関数より取った「名前」項目に登録されている数を表示させているのですが、 ☆部分の処理にてこの数だけ範囲指定して並べ替えたいのです。 (セルC3から登録されている人数分だけ範囲指定したい、ということです。20名だけ登録されていれば、 セルC3からセルA22を範囲指定する。指定した部分だけを並べ替える) 32名未満の時、乱数に元づく順番で並べ替える際、データの入って いない行も順番に並んでしまうのですが、空白の行はそのままにし、 データの入っている行だけを上(セルA3)から詰めて並べたいのです。 VBAの編集で、COUNTA関数の結果の数字を変数に代入して使用したいのですが、 そのやり方がわかりません。 どなたかお知恵をくださいますよう、お願い致します。 (わかりにくい記述なので、必要に応じて補足させて頂きます。)

  • エクセル マクロ

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

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

    エクセルマクロについて質問です。 質疑応答形式で、指定した列(6月在庫数)などを別のシートにコピーし貼付ける場合と別シートのシート名を指定した列の月名「6月」にしたくこれを毎月行うのですが、どうしたらいいの 補足 質疑応答形式とは、エクセルのVBAでユーサーフォームを使って「何月締めですか?」のように質問され、月数を入れるとコピーし貼付ける感じにしたいのですが....又、例として簡単な表を貼付しましたが実際にはもっとデーター量が大きいですのでどちらかというとセルの一つ一つの関数より VBAを使用したマクロの方がと思ったのですが.....

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

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

  • マクロでシートをまとめる

    EXCEL97で200枚くらいのシートのデータを1つのシートにまとめようと思っています。 例えばE2~Z2のデータ(ほかのセルにも計算の参照をしているデータあり)だけを1枚のシートに上から下に順番に並べていきたいと思っています。 この場合値コピーをするか元のシートのデータを計算の参照にしないといけないと思いますがそれはどちらでもいいです。この場合マクロでどうプログラムを組めばいいでしょうか?

  • EXCELのマクロにて

    EXCELのにて連続したデータを入力したデータベースがあります。(行が5000、列がAAまで) このデータベースのデータの最終行だけを指定して違うシートにコピー・貼り付けがしたいのです。 マクロにてこのような作業をするときにはどういった文をかけばよいですか。

  • EXCEL(マクロ機能あり)のコピー

    お世話になります。 現在、マクロ機能のあるEXCELファイルを別のPCへコピーし実行すると 思うような結果が返ってこない。 Sheetが2つあり、 ・Sheet1はDBより取得 ・Sheet2はSheet1を参照し集計 というように構成しています。 自分のPCでは全て問題なく実行できるが、 別のPCではSheet1のデータ取得は実行でき、Sheet2の参照集計ができない。 という点で悩んでいます。 お力添えをお願いいたします。 考えられる問題点は、 1.ファイルの作成時にマクロ機能を別のEXCELファイルよりコピー(ボタンの機能など)し、マクロの登録を行ったので参照がうまくいっていない。 2.マクロのコピーの仕方が正しくない 3.Excelファイルに何か設定をしなければならない(参照設定など) と考え調べていたのですが、解決に至りませんでした。 どなたかご教授をお願いいたします。

専門家に質問してみよう