• ベストアンサー

EXCELで空白行にのみ、データをリンクさせたいです

EXCELで質問です。 シート1の表に入力したデータを、シート2の表の空白行にだけ、 上から順に自動的にリンクさせていくことは可能でしょうか? シート1とシート2の表のフォーマットは同じです。 シート1とシート2に、同時期に別のデータを入力していくのですが、 シート1の一部抽出したデータだけをシート2にリンクさせたいのですが。。。 回答よろしくお願いいたします。

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

  • ベストアンサー
  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.3

10月と11月の分です(シート名を"10月"と"11月"とします) A列とB列:日付 C列:予定の内容 B列の日付が、11月だと、シート"11月"にコピーします これ↓は、10月のシートのChangeイベントに書きます --------------------------- Private Sub Worksheet_Change(ByVal Target As Range)   tr = Target.Row   Application.EnableEvents = False   ch = (Cells(tr, 1) <> "") * (Cells(tr, 2) <> "") * (Cells(tr, 3) <> "") * (Month(Cells(tr, 2)) = 11)   If ch Then    Tensou Cells(tr, 1), Cells(tr, 2), Cells(tr, 3), "10月", "11月"   End If   Application.EnableEvents = True End Sub --------------------------- これ↓は、標準モジュールに書きます ------------------------- Sub Tensou(a, b, c, d, m)   Sheets(m).Select   aki = Range("A65535").End(xlUp).Row + 1   Cells(aki, 1) = a: Cells(aki, 2) = b: Cells(aki, 3) = c   Sheets(d).Select End Sub ----------------------- で、当初の目的(翌月にまたがる場合は、翌月のシートにコピーする)は、出来るのですが 実際には、変更や削除を行った場合はどうするか、という問題が有ると思います 自動で、対応するには、コピーしたデーターであることを、記憶させておく必要が有ります そのために、作業用の列を使う場合、表のフォーマットが変る事が有りますので 必要であれば、また質問してください

boscopure
質問者

お礼

丁寧なご回答ありがとうございます。 さっそく職場で試してみたいと思います。 自分でもVBAの勉強をしていこうと思いますが、 またわからないことがあった時はよろしくお願い致します。

その他の回答 (2)

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.2

VBAを使う事になると思います 追加質問 >縦軸 → 予定が入った期間の日付 (11/3 | 11/5 など2列で) 日付セルの書式は「日付」ですか?「文字列」ですか? >10月シートの日付に"11/○"と入力したときにだけ、11月のシートに >随時データが反映され、しかも表のデータの入ってる場所の次の行から >反映される・・・ 10月のシートに入力された内容をそのまま11月のシートにコピーする という事で良いでしょうか?

boscopure
質問者

補足

回答ありがとうございます。 補足いたします。 >日付セルの書式は「日付」ですか?「文字列」ですか? →縦軸、横軸ともに「日付」にしています。 >10月のシートに入力された内容をそのまま11月のシートにコピー>するという事で良いでしょうか? →10月シートで、"11/○"と入力された行のデータを、そのまま11月  シートの行にリンクしたいと思っています。もちろん内容が参照  できればよいので、コピーでも全く問題はありません。 よろしくお願いいたします。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

>シート1の表に入力したデータを、シート2の表の空白行にだけ、 >上から順に自動的にリンクさせていく と >シート1の一部抽出したデータだけをシート2にリンクさせたい の関係が解りません

boscopure
質問者

補足

わかりにくい説明で申し訳ありません。。。 補足いたします。 現在、 シート1 → 11月分のスケジュール シート2 → 12月分のスケジュール を作成しています。 縦軸 → 予定が入った期間の日付 (11/3 | 11/5 など2列で) 横軸 → カレンダーの日付 (11/1、2、3・・のように順番に) の表を作り、データ部分に条件つき書式を使うことで、スケジュールが 入った日付の部分のみに色がつき、視覚的にスケジュールを把握できる ようにしています。 ただ、予定のなかには10月末~11月初めにまたがっているものも ありますので、その場合に10月のシートに入力すると、そのデータが 11月のシートに反映され、10月のシート、11月のシート両方で スケジュールの把握ができるようにしたいのです。 11月のシートに10月シートとのリンクを貼ることも考えたのですが、 11月の予定も随時、他の人が上から順番に入力していくので、 事前にリンクを貼っておいても計算式が消えてしまいます。 10月シートの日付に"11/○"と入力したときにだけ、11月のシートに 随時データが反映され、しかも表のデータの入ってる場所の次の行から 反映される・・・という方法はないでしょうか?? もし、わかりにくいようでしたら、再度補足いたします。 よろしくお願いします。

関連するQ&A

  • エクセルで、データのある行だけを抽出したい。

    エクセルのSheet1にデータが入っており、セルが空白でない行のデータのみを、Sheet2に抽出したいと思っています。 Sheet2にあらかじめ関数を入れておく方法にしたいため、関数について教えてください。 タイムテーブルで予定を管理するような表で、A~Hまでにデータが入っています。 予定を入れる際にはE列には必ず入力をするため、E列が空白でない行のみを抽出したいです。 A|B|C|D|E|F|G|H 月|日|時間|… 11|22|10:00|… 11|22|10:30|… 時間枠は10:00~17:00の30分刻みで、1日15行使用するので、1年で5475行まで使用します。 1行目はタイトル行なので、データは2行目から入力しています。 フィルタオプションで抽出する方法や、それをマクロで登録しておく方法は分かったのですが、あとから予定を追加することがあるため、マクロを実行する度にデータが置き換わると困ってしまいます。 また、抽出したSheet2のI列以降には備考などを入力したいため、やはり後から列がずれると困るため、A~H列に関数を入れておく方法で実行したいと思います。 よろしくお願いいたします。

  • Excel 空白行を上に詰めるマクロ

    関数を使用して、sheet1からsheet2に必要なデータを抜き取りました。 sheet2のセルには関数が入っています。 sheet2の抽出データには1行単位(まれに2~3行続けて)空白が発生します。 この行を削除し、かつ上に詰めて表示をしたいのですが、下記の条件で実行可能でしょうか? (例) sheet1 ⇒ sheet2   A   B   C     A  B  C 1 あ  い  う   1 あ  い  か 2        か   2 (空白行) 3 き  く   け    3 き  く  し   4 こ  さ   し   4 (空白行) ●2行目、4行目を削除し、且つ5行目以降に入力されている関数は削除したくない ●空白行削除のマクロは自動?(sheet1のデータを変更したら)で実行できるようにしたい よろしくお願いします。

  • エクセルVBAでCSV出力する際、リンク0を空白に

    エクセル2019使用 シート名 「フォーマット」 「シート1」 「フォーマット」に入力されているデータを 「シート1」のセルB4:T100(行数は「フォーマット」データ量でその都度変わります) に =フォーマット!A63 のようにリンクさせております。 「シート1」をCSVで出力したところリンク元が空白のため「0」と表示されてしまいます。 詳細設定の「ゼロ値のを表示する」をオフにしてもだめでした。 関数で空白なら空白でもだめでした。 リンク元空白の状態で「シート1」のセルB4:T100をCSV出力。 「シート1」ではリンク元空白を空白にする方法はありますでしょうか。

  • エクセルのデータ抽出について

    エクセルのデータ抽出(?)について質問なのですが、 例えばシートで○○店、▲▲店、××店というように分かれていて、それぞれのシートの中に、同じような表があり、    A      B 1  氏名    更新日 2  鈴木太郎  2008/12/20 3  佐藤花子  2009/03/15 といったように、更新が必要な人だけがBのセルに更新日が入るとします。(更新不要の人は空白です。) この更新日が入力されている人の行を、抽出するような感じで別シートへ自動で出来るのでしょうか?(更新必要なくなって、更新日を空白にしたら、抽出したほうも自動で消えるような)

  • Excelの集計で65000行のデータが?

    Excelの集計で65000行のデータが? 時々、100行位の表の集計で約65000行のデータが出来てしまい、(Ctrl+End を押すと65***行に飛びます)ファイル容量が60Kが20M位になってしまいます。 集計の時に表データの範囲指定をしなくても自動的に範囲指定してくれるはづなのに、自動ではダメな時があるのでしょうか? 後の修復作業ですが、空白のいらない行を削除しても変わらず、範囲指定のコピーをして別のシートに貼りましたが、もっと簡単な方法はありませんでしょうか?

  • エクセルのマクロを知りたい

    エクセルで,たくさんのデータが入力された【シートa】があります。 新しく【シートb】を作成して,そこに空白の表(1)~(10)までを作成します。 (ちなみに表(1)は1行から始まり100行まで,表(2)は101行から始まり200行まで・・・・といった感じです) 【シートb】の表(1)には,【シートa】でA列に「1」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。同様に,表(2)には,【シートa】でA列に「2」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。・・・というのを表(10)まで続けます。 上記のような命令をボタン一つで操作できるようなマクロを教えて欲しいのです。 お願いします。

  • マクロでエクセルの空白行をアクティブにしたい

    データーを入力しているシートがあり、マクロのボタンをクリックする データの空白行をアクティブになるようにしたいのです。 具体的に B列のデーターが入力されていない行をアクティブにして他のシートのデーターを張り付ける作業をしたいのですが・・よろしくお願いします。

  • EXCEL データをコピーして別シートの最初の空白行に貼り付けたい

    EXCEL データをコピーして別シートの最初の空白行に貼り付けたい Sheet1はA列からR列までを使ったシートで、1行目は各項目があり、2行目からは当月のデータが入力されています。 Sheet2はSheet1の1行目と同じようにA列からR列までが項目になっていて、期中のデータを付け足していきたいと思っています。 マクロの記録でやってみたのですが、前月の最後の行(貼り付ける最初の空白行)の認識の仕方が分からず、Sheet2への貼付がうまくいきません。 どのような方法でやったらいいのか教えて下さい。

  • エクセルで1行ごとに空白行を挿入し、挿入した空白行に色をつけたいです

    タイトルの通りです。 エクセル(2000)で、データはシート毎に件数が違います。 各シート毎にそれぞれ1行毎、空白行を挿入し、挿入した空白行のA列~G列までに薄いグレーの色をつけるマクロを入れたいのですが、うまくいきません。 詳しい方、教えて下さい。

  • EXCELで1行のデータを4行に書くとき

    EXCELで表を作りました。 1行のデータをタイトル含め4行にしたいので計算式【=A2】でリンクさせました。 たとえば1行のデータを半分に切って、上から【タイトル、データ、タイトル、データ】という感じです。 その4行の表を下にコピペすると5行目のデータがリンクされてしまいます。 コピペした表にすぐ下の1行をリンクしたい場合どのようにすればいいでしょうか。 *画像がうまく添付できません、、、 *このような書き方で理解いただけましたでしょうか。 以上、教えていただけると助かります。

専門家に質問してみよう