• ベストアンサー

関数の数式について教えて下さい。

たとえば=母在!H$1の数字を毎日カウントして別シートに日付ごとの表にしたいのですがどうすればいいかわかりません。教えて頂けませんか。お忙しいところすみません。よろしくお願いいたします。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

母在シートのシート見出しを右クリックして「コードの表示」を選択します。 表示された画面の右の窓には次のコードを入力します。 なお、ここでは別シートをシート2としてAは日付の列B列は母在シートのH1セルのデータを表示させることにします。 A1セルには日付と文字を入力しておいてもよいでしょう。 その日のH1データの最新のデータがシート2に記録されることになります。 日付が変われば新たに行が追加されて日付とH1データが入力されることになります。 Private Sub Worksheet_Change(ByVal Target As Range) Set WS1 = Worksheets("母在") Set WS2 = Worksheets("Sheet2") Dim Row2 As Integer If Target = WS1.Range("H1") Then Row2 = WS2.Cells(Rows.Count, 1).End(xlUp).Row If WS2.Cells(Row2, 1).Value = Date Then WS2.Cells(Row2, 2) = WS1.Range("H1").Value Else WS2.Cells(Row2 + 1, 1) = Date WS2.Cells(Row2 + 1, 2) = WS1.Range("H1").Value End If End If End Sub

その他の回答 (1)

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

初心者さんから結構しばしば寄せられる「ヤリタイ事」のご相談の一種ですが,通常のエクセルの使い勝手では出来ません。 ●ふつーの使い方では 毎日所定のセルをコピーし,一覧のシートに順繰り貼り付けるという操作で行います。 ○別の方法では ご利用のエクセルのバージョンが不明ですが,「データ追跡機能付きテンプレートウィザード」という機能を使うと,毎日の蓄積を自動で一覧に書き出して保存してくれる機能を利用することができます。 参考: http://allabout.co.jp/gm/gc/297739/2/ ×ふつーではない危険な使い方では 次のように仕込んでおくと,出来ます。 一覧シートのA列に「日付」を順繰り入れておく。 2012/1/1 2012/1/2 2012/1/3  : のように。 ご利用のエクセルのバージョンも不明ですが, Excel2003まではツールメニューのオプションの計算方法で Excel2007以降ではエクセルのオプションの数式欄で 反復計算を行うのチェックを入れる 一覧シートのB2に =IF(A2=TODAY(),母在!H$1,B2) という式を入れ,リストの下端までコピー貼り付ける。 #何かの拍子でエクセルが記憶を飛ばすと,毎日の蓄積が瞬時に喪失する危険な方法です。 こういう事が出来るというだけの知識として確認し,実際のお仕事には使わないでください。 #余談 >…の数字を毎日カウントして 「数字を毎日カウントする」とは,具体的に一体ナニをしたいのかイミフメイです。 上述の回答はカウントするのではなく,H1の値を転記して毎日の記録としたいと言いたかったのだとしています。

関連するQ&A