• ベストアンサー

[エクセル2003] 入力された日付に対応するセルの内容を変える方法 

マクロ初心者で、ご協力お願いします。 シート名=入力  A1=2007/6/9  A2=数値  コマンドボタン シート名=1月~12月  C3:AG3 日が表示(入力内容は2007/6/9形式)  C4:AG4 数値が入る行 入力シート内のボタンをクリックすると、A1で入力されている月のシート内のA1の日の下の行のセルにA2の数値が入る ということをやりたいのですが、可能でしょうか? よろしくお願い致します。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 日付がちゃんと1日ずつ並んでいるなら、簡単に書けば以下のようなもので動くはずです。 日付を探すとか、正しい日付が入っているかとか、チェックする項目を入れるとすると、もう少し手を加えなくてはなりません。 Private Sub CommandButton1_Click()   Dim myDate As Variant   Dim myMonth As Variant   myDate = Worksheets("入力").Range("A1").Value   If IsDate(myDate) Then     myMonth = Month(myDate)     myDate = Day(myDate)     Worksheets(myMonth & "月").Cells(2, myDate + 2).Value = _     Worksheets("入力").Range("A2").Value     'Beep ' 音を鳴らせる   End If End Sub

nikipo
質問者

お礼

早速のご回答有難う御座いました! おかげさまで無事解決・理解できました。 有難う御座います。

関連するQ&A

  • エクセルで入力済みのセルのみ見つけて・・

    エクセルで入力済みのセルだけを見つけ出して、 指定した場所に並べる作業をマクロで1発で出来るようにしたいのですが、その方法を教えてください。 シートが37シートあります。(sheetA1~sheetA12,sheetB1~sheetB12,sheetC1~sheetC12,sheet37) それぞれセルC5からC20まで数値が入っていますが、 最終行はC20とは限りません。(sheet37はまとめるためのシートで空白) C15が最終行の場合もあれば、C18が最終行の場合もあります。 各シートそれぞれ最終行が違います。(列は同じですスタートもC5です) 各シートのC列の入力済みのセルの数値をsheet37のB1セルから順番に縦に並べたいのです。 A,B,Cのシート順にC列に入力された数値を縦に並べます。 空白は無しで詰めて並べます。 これを1回の作業でできるマクロを教えてください。 それから入力済みの最終行を見つけ出すマクロの部分を表示して頂けるとありがたいです。 宜しくお願いします。

  • Excelでセル入力してEnterを押せば同時にシート名も変える方法は

    Excelでセル入力してEnterを押せば同時にシート名も変える方法は? Excelのシート名を下記のような式をコマンドボタンに入力して、C6に日付を入力後、コマンドボタンを押してシート名を変更しています。それを、C6セルに入力し、Enterを押した時点でシート名を変更するにはどういう式を入れれば良いのでしょうか? ご教授お願いいたします。 Private Sub CommandButton1_Click() ' ' Macro1 Macro ' マクロ記録日 : 2010/6/21 ユーザー名 : ○○○○ ' Range("C6").Select Application.CutCopyMode = False Selection.NumberFormatLocal = "yyyy""年""m""月""d""日"";@" Sheet1.Name = Range("C6").Text & "~" End Sub

  • エクセルのセル移動について

    まずボタンを作成して、セルA1に条件1、セルA2に条件2を入力して、ボタンを押せばその条件1と条件2に合致するセルに移動するようにするには、やはりマクロとか組まなくてはいけないのでしょうか?何か方法を教えてください。宜しくお願いいたします。 【例】 例えばセルA1に【高橋】と入力して、セルA2に【4月1日】と入力します。 セルA30に【4月1日】があり、同じ行のF30に【高橋】があるとして、そのF30にセルを移動させたいのです。 解りづらくてすみません。

  • エクセルのセル参照、一つずつ参照セルをずらしていきたい

    エクセルのセル参照の方法について教えてください。 2つのシートがあって、 ひとつのシートにはC4,D5,E6…というように行と列がひとつずつ増えていくところに値が入力されています。 このシートから、C4,D5,E6…のセルの値を取り出して 別のシートのA1,A2,A3…に縦に並んで表示させたいのですが、どのようにセルを参照させればC4,D5,E6…という 行と列がひとつずつ増えていくセルを参照できるでしょうか? よろしくお願いいたします。

  • セルの値により入力を制限したい

    EXCEL2013を利用しています。 セル入力の制限方法について助言賜りたく投稿させていただきました。 行いたいこととしまして、 ・セルA1には数値を入力します。 ・セルA1に2ケタ以上の数値が入力された場合はメッセージを表示させます。  ただし入力はできます。 ・セルA2に"済"と入力された場合は、セルA1は入力できません。 ・シート全体としては、奇数行は数値入力、偶数行は”空欄”か”済”とします。  ”済”の参照は、A1はA2を参照、A3はA4を参照、B1はB2を参照、C3はC4を参照、・・・といった具合に、範囲はA1~NG200、同様のシートが30枚、に対し上記条件を適用させたいです。 といったことを行いたいのですが、可能でしょうか? 自分では、 A1の入力規則へ、A2=" " と設定する。(A1~NG200のすべてに適用させる) A1~NG200の範囲に対し、>10 の場合はメッセージを出す としたいのですが、手段を思いつけせんでした。。。

  • EXCELのワークシート名とセルの値の取得に付いて

    EXCEL2000を使用しておりますが、ワークシート名と、そのシート内の複数のセルの値を取得し、別シートにマトリックス表示出来るように 入力フォームを設計したいのですが、固定の名称を予め組み込むのではなくフォーム上で入力したテキストをワークシート名及び、セルの位置として扱えるようにするのには、どのようなマクロを書けばよいでしょうか?例えばシート名A~Fの各シートのA1~F1のセルに10~15の数値が 入っていて、Gのシートでマクロを動かすと、シート名とセルの位置を 入力するフォームが現れ、それぞれ入力すると、指定されたシート名と セルの中の値が、Gシートに、1行ずつ追加されて行く処理をイメージ しています。何卒、宜しくご指導の程、お願いいたします。

  • エクセルでの表記方法について質問いたします。

    初めて質問いたしますので宜しくお願いいたします。 エクセル2007での表記についての質問です。 (1)シート1のセルA1の入力数値が“3”であった場合、シート2のセルA1にその“3”を自動表示します。 そのシート2の2行目にセルA2から数値1から順番に5迄を固定準備しておきます。 (2)シート2のA1に表記された“3”を固定されたシート2の2行目のセル2C(表記は固定数値3)の固定された数値と同じ場所の下の行(3行目のセルC3)に自動で表記し、その数値を基準に(この場合セルC3が3)3行目のC4から“4・5”と並び、1・2はセルA3・B3に自動表記する。 (3)シート2で固定された数値2行目の下に自動表記された数値(この場合3)のみ自動でセルの色を変える。 以上3件をシート1に数値入力したときに項目1~3を自動で出来ないでしょうか。 私ほぼ素人で、仕事で急を要しています。 検索等しましたが、理解できるものがありませんでした。 (私のレベルの低さの為) 初歩的な質問で、誠に申し訳ありません ご回答を宜しくお願いいたします。

  • Excelでの日付の表示

    同じシートに家計簿を作成するとします。 40行で1頁とし、例えば、A1セルに3月10日として、1~40迄をコピーして、A41セルに3月11日と自動に日付が変わるようにするにはどうしたらいいですか?マクロは使えませんので、関数でお願いします。

  • セルに入力した数値をもとに参照するセルを決めるには

    数式で、セルに入力された数値をもとに参照するセルを決定する方法が知りたいです。 セルに入力された数値をもとに参照するセルを決定したり Sheet1のセルA1に「300」と入力したら、 Sheet2のA列から「300」を検出し、C4の位置にある「バナナ」を Sheet1のセルB2に反映させるにはどうしたらよいでしょうか? イメージ画像添付しました。 Sheet2のA列は順不同で、並び替えることができません。 エクセル2010を使用しています。 どなたかご存じでしたら、ぜひお教え下さい。 よろしくお願いします

  • Excelで入力が反映されるものを作りたい

    助けてください。 作りたいプログラムは、まずエクセルで入力画面を作ります。 (1)名前(2)生年月日(3)住所(4)備考 の入力画面がほしいです。マクロかなんかでできるでしょうか? マクロでなくてもだれでも簡単に入力できればいいのですが・・・ その後、これらの入力がされて決定ボタンを押すと、 別シートに作成した表の中にこれらを順に表示していきたいのです。 (1)名前で入力された項目はシート2のA1セル (2)生年月日で入力された項目はシート2のB1セル (3)住所    〃   項目はシート2のC1セル (4)備考    〃   項目はシート2のD1セル に入力されるようにしたいのです。 その他、最初の入力画面に 『 』行目 という項目を作って、そこに『2』と打てばそれぞれシート2の2行目に同じことを出力したいのですがどうすればいいのでしょうか? 手順等、作り方まで教えていただけると本当に嬉しいです。 どなたか知っている方がいましたら助けてください。 お願いします。

専門家に質問してみよう