Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1548 / 13645 ツリー ←次へ | 前へ→

【73625】初期化のコマンドボタン suu 13/1/29(火) 3:29 質問[未読]
【73627】Re:初期化のコマンドボタン ウッシ 13/1/29(火) 8:22 回答[未読]
【73677】Re:初期化のコマンドボタン suu 13/2/1(金) 13:48 質問[未読]
【73678】Re:初期化のコマンドボタン ウッシ 13/2/1(金) 22:26 回答[未読]

【73625】初期化のコマンドボタン
質問  suu  - 13/1/29(火) 3:29 -

引用なし
パスワード
   VBA初心者です。
シート1に日々のデータを入力するためだけの記入用紙があります。

その記入したデータをコマンドボタンをクリックした際にシート2のそれぞれの日付へコピーし保存したあと、シート1のデータは初期化したいのですが、どのようなコードを組めばよろしいでしょうか??
(シート2のA1セルには1日、A2セルには2日、A3セルには3日のデータを記録したい)

大変わかりずらい文章で恐縮ですが、ご教授頂けると幸いです。
よろしくお願い致します。

【73627】Re:初期化のコマンドボタン
回答  ウッシ  - 13/1/29(火) 8:22 -

引用なし
パスワード
   こんにちは

1日がA1、2日がA2〜
なら、日付の行が決まっているので、コピー処理とクリア処理をマクロに記録して
対象の日付の行に転記するようなコードに変更すればいいです。

【73677】Re:初期化のコマンドボタン
質問  suu  - 13/2/1(金) 13:48 -

引用なし
パスワード
   ▼ウッシ さん:

ご考察ありがとうございます。

また、ご迷惑をお掛けしますがお尋します。

データを入力するデータベースはそれぞれの日付があり、そこにデータを入力します。

ただ、そのデータを日々の記録として提出するための用紙が一枚です。
該当する項目にセルを覚えさせると1日は良いのですが、2日目からはデータが重複してしまい、エラーになってしまいます。

そこで、指定した日のみのデータを抽出できる方法などあればご教授頂けないでしょうか。

何卒よろしくお願い致します。

【73678】Re:初期化のコマンドボタン
回答  ウッシ  - 13/2/1(金) 22:26 -

引用なし
パスワード
   こんばんは

新規ブックで試して下さい。

「jyunbi」でテストデータを作ります。
数値の入ったセルが日々のデータを入力する位置と仮定します。

「test」で転記しクリアします。
本日(2/1)であればSheet2の 1行目に転記されます。

(シート2のA1セルには1日、A2セルには2日、A3セルには3日のデータを記録したい)
というsuuさんの説明を拡大解釈してます。

月を跨る入力があるのならそのような説明をして下さい。

Sub jyunbi()
  With Worksheets("Sheet1")
    .Range("B4").Value = 1
    .Range("D8").Value = 2
    .Range("D10").Value = 3
    .Range("D12").Value = 4
    .Range("B18:F18").Value = 5
    .Range("B20:F20").Value = 6
  End With
End Sub

Sub test()
  Dim i As Long
  i = Day(Date)
  With Worksheets("Sheet1")
    Worksheets("Sheet2").Cells(i, 1).Value = .Range("B4").Value
    Worksheets("Sheet2").Cells(i, 2).Value = .Range("D8").Value
    Worksheets("Sheet2").Cells(i, 3).Value = .Range("D10").Value
    Worksheets("Sheet2").Cells(i, 4).Value = .Range("D12").Value
    Worksheets("Sheet2").Cells(i, 5).Resize(, 5).Value = .Range("B18:F18").Value
    Worksheets("Sheet2").Cells(i, 10).Resize(, 5).Value = .Range("B20:F20").Value

    .Range("B4,D8,D10,D12,B18:F18,B20:F20").ClearContents
  End With
End Sub

1548 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free