プロが教えるわが家の防犯対策術!

エクセル 入力フォームのデータを別シートに書き込む方法

1.シート1のA2に日付、B2に文字列、C2に金額、D2に個数、E2に合計金額を入力する。

2.内容確認後、入力ボタンを押すと、 Sheet2の集計表リンクさせ、尚且つシート2内で1か月分の集計を取ります。

つまりシート1は入力シートで、同じセルに値を入力します(次回はデータが上書きされる)が、シート2では、集計表の1列ずつ下に新しく記録され1か月分の入力がされていく。

このような入力フォーム(マクロ)を作りたいと思っています。

初めて投稿するので、質問がよく分からないかもしれませんが、 よろしくお願いします。

A 回答 (3件)

回答2に対する質問についてお答えします。

マクロ1の代わりに下のマクロ2を実行してください。不具合がありましたら質問をしてください。
Sub Macro2()
'
' Macro2 Macro
' マクロ記録日 : 2012/11/10 ユーザー名 :
'
Dim mygyo As Integer, kijitsu As Variant, koumoku As String, tanka As Variant, kosuu As Variant, kingaku As Variant
Sheets("Sheet2").Select
mygyo = Cells(1, 8) + 1

Sheets("Sheet1").Select
kijitsu = Cells(5, 3)
koumoku = Cells(4, 5)
tanka = Cells(15, 3)
kosuu = Cells(20, 4)
kingaku = Cells(20, 5)

Sheets("Sheet2").Select
Cells(mygyo, 1) = kijitsu
Cells(mygyo, 2) = koumoku
Cells(mygyo, 3) = tanka
Cells(mygyo, 4) = kosuu
Cells(mygyo, 5) = kingaku


Cells(1, 8) = mygyo
Sheets("Sheet1").Select
End Sub
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。本当に凄いですね♪感謝しきれないぐらい感謝してます。勉強して私もこんな風に作れるように頑張ります。今後ともご教示賜りますようよろしくお願いします。本当にありがとうございました。

お礼日時:2012/11/10 17:14

すみません。

回答に間違いがありました。まくろ4の代わりに下のまくろ5を使ってください。


Sub Macro5()
'
' Macro5 Macro
' マクロ記録日 : 2012/11/9 ユーザー名 :
'

'
Dim kei As Variant, kazu As Integer, mygyo As Integer, i As Integer
Sheets("Sheet2").Select
kei = 0
kazu = Cells(1, 8)
For i = 1 To kazu
kei = kei + Cells(i, 5)
Next
mygyo = Cells(1, 8) + 1
Cells(mygyo, 5) = kei
End Sub
    • good
    • 0
この回答へのお礼

本当にありがとうございました。丁寧にご回答いただき感謝してます。
参考書までご教示いただき、感激です。ぜひ勉強してみたいと思います。

2つ聞いていいですか?
1 今後入力するセルを次のように変えた場合も同じように集計することは可能でしょうか?
入力フォームのC5に日付、E4に文字列、C15に金額、D20に個数、E20に合計金額

2 Macro1を実行すると、コピーした状態(ずっと点滅した状態)になりますが、これを解消する方法はあるでしょうか?

お礼日時:2012/11/10 00:18

マクロを作って下の二つのマクロをこぴーはりつけをしてから、マクロ1とついでマクロ2を実行すれば合計が得られます。

ツールバーボタンにマクロを登録すれば、ボタンを押すだけでそれぞれのマクロが動きます。ツールバーボタンのつくり方は例えば平成16年技術評論社発行の大村あつし著簡単プログラミングEXCELVBA基礎編の82ページ以下を参照してください。


Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2012/11/8 ユーザー名 :
'

'
Dim mygyo As Integer
Sheets("Sheet2").Select
mygyo = Cells(1, 8) + 1

Sheets("Sheet1").Select
Range("A2:E2").Select
Selection.Copy
Sheets("Sheet2").Select
Cells(mygyo, 1).Select
ActiveSheet.Paste
Cells(1, 8) = mygyo
Sheets("Sheet1").Select
End Sub

Sub Macro4()
'
' Macro4 Macro
' マクロ記録日 : 2012/11/9 ユーザー名 :
'

'
'
Dim mygyo As Integer
Sheets("Sheet2").Select
mygyo = Cells(1, 8)


Range(Cells(1, 1), Cells(mygyo, 5)).Select

Range("E1:E5").Select
Range("E5").Activate
ActiveCell.FormulaR1C1 = "=SUM(R[-4]C:R[-1]C)"
Range("E1:E5").Select
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す