• ベストアンサー

エクセルで自動的に・・・

ある表を作っています。作業を自動化したいです。 詳細は次の通りです。 ●1行目はタイトルです。 ●D列に数字を上書きすると、その行を表の一番下に並び替えたいです。 ●その行のH列に今日の日付を入れたいです。 このようにするには、どのようなことをすればいいですか? よろしくおねがいします。

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

  • ベストアンサー
  • wildcard
  • ベストアンサー率54% (54/100)
回答No.3

これでどうでしょうか? 処理対象のシートがSheet1であると仮定した場合、 まず他にファイルを開いている場合は、閉じてください。 次に、Alt+F11でVisual Basic Editorを起動し、左上部のプロジェクトウィンドウでSheet1をダブルクリックし、右側のコードウィンドウに下記コードを貼り付ければokです。 Private Sub Worksheet_Change(ByVal Target As Range)   If Target.Column <> 4 Then Exit Sub   Dim a, b As Long   a = Target.Row   b = Range("A1").CurrentRegion.Rows.Count   Cells(a, 8).Value = _     CStr(Year(Now())) & "/" _     & CStr(Month(Now())) & "/" _     & CStr(Day(Now()))   Rows(a).Copy Rows(b + 1)   Rows(a).Delete Shift:=xlUp End Sub

commune
質問者

お礼

wildcardさん、ありがとうございます~! カンペキです!! こういうのって、どうやっておぼえたら良いんでしょう。。。 いつもOKwebに頼りっぱなしです・・・ ありがとうございました!

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

その他の回答 (2)

noname#7099
noname#7099
回答No.2

マクロを作成すればいいと思います。 1行目をタイトル行のための行とします。 1行目に特定のセルを決めて、数字を入れてから動作するようにします。 セルに書式が必要な場合は列単位に書式設定をしておくといいでしょう。 1)2行目に行を追加。 2)H2のセルに本日日付を代入。 3)D2のセルに特定のセルの数字を代入。 4)1行目をタイトル行にしてH列の日付を昇順にするなどの指定をして、並び替えを行います。 ってことをしたらいいと思います。  マクロの使い方や記述方法がわからない場合、 ツール->マクロ->マクロの記録で、やりたい手順をマクロに自動記録させて、マクロを解析していくと理解が早いでしょう。  マクロが入っているエクセルのファイルはウイルスの攻撃対象となりやすいため十分注意してくださいね。

commune
質問者

補足

説明が不充分でスミマセンでした。 D列に入力するのは何行目かは場合によって異なります。 例えば、D22に入力することもあればD4に入力することもあるのですが、教えてくださったマクロでうまくいきますでしょうか? 知識不足でスミマセンm(__)m よろしくお願いします。

全文を見る
すると、全ての回答が全文表示されます。
  • news_0203
  • ベストアンサー率27% (98/352)
回答No.1

●3は関数を使うといいと思います。 日付の関数は、 =today() と入力すると表示されます。 その日付はパソコンの中の日付がつくので、日にちなどが違うときは 「スタート」→「設定」→「コントロールパネル」→「日付と時刻」で訂正すると解決すると思います。 しかしながら●1と●2の内容ですが、 一行目のタイトルというものは、どうするのですか? あとD列に数字を上書きするとその行の一番下に並べ替えるというのは具体的には・・・? すいません・・・。 「並び替え」となると「ツールバー」のなかの「データ」から「並び替え」を選択すればいいのですが・・・? よろしいでしょうか? また何か補足の方がいただけるともう一度書き込みをしたいと思います。 宜しくお願いします。 最後にですが先ほどのtoday関数は 2003/1/18 という形で表示されますが宜しかったでしょうか?

commune
質問者

補足

さっそくのご回答ありがとうございます 1行目はタイトルですので、2行目以降のD列に数字を入力した場合にデータの並び替えをいちいち選択しなくても、入力した時点で自動的に並び替えたいのです。 ちなみに、現在は46行まで表にしていますがこれも変動がありますので「表の最終行」に移したいのです。 today関数ですが、昨日以前にD列に入力した行のH列も今日の日付になってしまいませんか? あくまでも、D列に入力した日付にしたいのですが。。。 面倒な事ばかりでスミマセン。よろしくお願いします。

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

関連するQ&A

  • エクセル関数の自動表示について

    自動表示についてご質問いたします。 シート1 (3月入力時)       A列  B列  C列  D列  E列  F列  G列  H列 1行目  1月   2  10  11  12  30  31  33 2行目  2月   1   2   5   8   9  10  48 3行目  3月   3   5  10  11  30  31  32 4行目  4月   こういうシート1の表があったとします。 シート1で3月入力した時点で、シート2では以下の表があったとします。        A列  B列  C列  D列  E列  F列  G列   1行目    3   5  10  11  30  31  32 と、自動で表示され。 4月(シート1)に数値を入力すれば、シート2の数値が最新数値に自動で入れ替わる・・・と、いう関数を作りたいのですが、いい関数ありますでしょうか? この場合、シート1ではB列~H列の数字の個数は固定(今回は7個)であり、毎回ランダムで数字が入力されていきます。 これをシート2の1行目、A列~G列に最新数値を毎回反映させて、表示したいのです。 どなたか、ご存知の方よろしくお願いします^^;

  • エクセル2007:シート内のデータの自動転記

    Excle2007を使用しています。 シート1のデータをシート2に自動で転記したいと思っています。 シート1 作業件名ごとにその内容、作業者名が書いてある表。 1行ににつき作業1件 A列:日付 B列:作業件名 C列:内容 D列:作業者名 シート2 作業者ごとに従事した作業をまとめた一覧表で、ひとりにつき1ページ。 表の形式(見た目)はシート1とはまったく別のもの。 作業者ごとに空欄の表が既に作られており、 1ページ目:Aさん 2ページ目:Bさん という風に、1シートに改ページしながら全ての作業者について1ページずつ一覧表になっている。 1ページは25行を使用しており、 Aさん(1ページ目)は1~25行(Bさん(2ページ目)は26~50行)となる。 1ページ目の表のうち、シート1のデータを入れられる行は11~21行。 3件あれば3行使って残り8行は空欄ということになります 日付欄はシート2のA11~A21 件名欄はシート2のB11~B21 内容欄はシート2のD11~D21 シート2には、作業者の住所や生年月日など、シート1にない項目があらかじめ入力されている。 いつもはシート1を入力後に作業者基準で並べ替えをして印刷し、 シート2の該当する作業者のページに手打ちでデータ入力しています。 シート1のデータをシート2の該当箇所に転記するだけなので、シート1が完成した段階で シート2を自動で作れたら作業時間の短縮になると思い、考え始めました。 が、VBAに詳しくないため、どこからどう手をつけたらいいものかわかりません。 お詳しい方、お知恵をいただけましたらと思います。 不足情報等ございましたらご指摘いただけましたら補足をさせていただきますので どうぞよろしくお願いいたします。

  • Excelで列の操作の自動化をしたいです

    列、C列、E列、G列・・・の1行目にはタイトルが入力されており、 B列、D列、F列、H列・・・には不特定の文字列が入力されており、それぞれ行数も不特定です。 A列、C列、E列、G列・・・の1行目のタイトルはA列にまとめ、B列、D列、F列、H列・・・の文字列はB列にまとめたいです。 下の例の場合だと、C列の1行目のタイトルをB列の下端の左下にあたる(A7)に移動させ、 D列の2行目から入力された文字列を右となりの(B7)に移動させたいです。これの繰り返しをマクロで自動化したいです。     A列     B列     C列     D列 1    あ       A       い       2             B                a   3            C                b 4              D               c 5             E                6              F                            ↓     A列     B列     C列     D列 1    あ       A              2             B                   3            C                 4              D                5             E                6              F      7      い      a 8             b 9             c よろしくお願いします。

  • エクセルで予定表を管理。

    たとえば、下のような(1)の表を元に、別のシートの(2)のカレンダーの日付と、 1)の日付と担当者が、一致したセルへ、”開始”という文字をを自動で入れる事はできるのでしょうか? また表示後にも、”開始”が目立つようにセルに色が入ると見やすいのですが・・・。 こういった場合は、どうしたらいいのでしょうか?良い知恵をお願い致します。 よろしくお願いいたします。m(_ _)m (1)      A 列    B 列     E列  1    日付   担当者     開始 2   2007/6/7  あ 3   2007/6/1  い 4   2007/6/10  う (2)カレンダー    A列  B  C  D... G  H  I  J  K 1行 担当者 6/1 6/2 6/3,,,6/6 6/7 6/8 6/9 6/10........ 2行  あ             開始 3行  い  開始 4行  う                      開始

  • セルに自動的入力させたい

    EXCEL2010を使用しています。 「表1」のような表があるのですが、D列が「子」である、C列のオレンジの部分が空欄なので 手動で入力しないといけません。 条件は装置名が同じである「親」と同じ日付が入ります。 なので結果は「表2」のようになります。 これを関数かVBAで自動的に入力されるようにできないでしょうか? もし関数できたとしてもC列には予め数字が入っている行があるので 空欄に飛び飛びで数式を設定するしかないでしょうか? 何か良い方法があればよろしくお願いします。

  • Excel 数式

    Excelについての質問 1)組み合わせ表 J6 M35 があります(4列30行の表) 2)作業表C3D26(2列24行の表)があります   作業表のC列に組み合わせ表の1列2列3列の何れかの文字列を記入すると 作業表のD列に上記C列に記入した文字列に対応した組み合わせ表の4列の文字列が自動的に表示されるように作業表のD列に数式(関数)を挿入したい Vlookupとうでトライしたがどうしてもできません 教えて頂きたいお願いします

  • Excelで品番が一致する行の色を変えたい

    「詳細表」のd列に品番が入っています。 この品番が別シート「指定」に載っている品番のどれかと一致する場合、「詳細表」のその行全体を赤くしたいんですが、やり方を教えて頂けないでしょうか。 「詳細表」は、300行から800行くらいで、d列の品番は同じものが何度も出てきます。 「指定」はA列のみ普通15行ほど品番が載っています。 品番はアルファベット混じりの数字です。

  • エクセルでの、「条件付き合計値の自動入力」について

    いつもお世話になっております。 エクセルの工数表の作成に関して、御相談させて下さい。 エクセルで、 A列に「日付」、 B列に「その作業内容」、 C列に「作業時間」、 D列に「当日の総作業時間」を入力するような、 作業工数表を作成したいと思っています。 (具体例) 2/1 事務処理 2.0 2/1 資料作成 2.5 2/1 伝票処理 0.5 5.0 2/2 事務処理 3.0 2/2 資料作成 4.0 7.0         以上のような状態にしたいのですが、 D列の「総作業時間」を、 自動で入力されるようにするには、どうすればよいでしょうか…。 具体的には、 「A列が同日の日付の場合、その「作業時間(C列)」を合計し、 同日日付の最後の日の、D列に合計値を記入する。 という流れになるのかな、と考えているのですが、 具体的なコードが思いつきませんでした…。 アドバイスを頂けると助かります。 よろしくお願いいたします。m(_ _)m

  • 日付の同じものを並べる。(エクセル2000)

    エクセル2000で表1は2行目を先頭行として、下の数字が入力されています。     A         B 2  2005/7/15     4 3  2005/7/8      5 4  2005/7/1      3 5  2005/6/24     5 6  2005/6/17     8 7  2005/6/10     8 また10行目を先頭行として表2は下の数字が入力されています。 10 2005/7/8 10 11 2005/7/1 12 12 2005/6/24 13 13 2005/6/17 21 14 2005/6/10 22 表1と表2で日付の同じものをまとめたいと思います。 ただし、表2における日付は固定していないので、必ずしもA3=A10とはなりません。 最終的には下の表を作りたいのですが、ご存知の方がいらっしゃいましたらよろしくお願いします。 2 2005/7/15 4      3 2005/7/8 5 10 4 2005/7/1 3 12 5 2005/6/24 5 13 6 2005/6/17 8 21 7 2005/6/10 8 22

  • エクセルで競艇に勝つ!

    次のような表があります。下にどんどん続きます。   A列  B列 1行 D-1  1 2行 D-2  0 3行 D-3  2 4行 D-1  0 5行 D-2  0 6行 D-3  4 7行 D-1  1 ・ ・   ・ ・ ・   ・ ・ ・   ・ D-1、D-2、D-3の0の個数の合計を求めたいのです。 趣味で競艇の結果をエクセルで集計しています。、D-1、D-2、D-3はレース開催第1日目、第2日目、第3日目のことで(12レース/日)、数字は1番人気が来た数で、0は1番人気が来なかった日という意味です。どうすればよいでしょうか?よろしくお願いします。