- ベストアンサー
エクセルで、書き換えられるデータを残したい
エクセルで、次のマクロを作っていただけませんか。 日々変わるデータだから、その時のデータを記録したいのです。 ボタンを押すと(ボタンの設定は出来ます)、 「sheet1のE5」のデータを「sheet3のA2」に 「sheet1のF8」のデータを「sheet3のB2」に 「sheet1のF10」のデータを「sheet3のC2」に (ここまでなら何とか・・という気もするのですが、この先がさっぱりです) もう一度ボタンを押すと、 sheet3のA列の空白(この場合A3ですね)から、前記のように。 もう一度ボタンを押すと、 sheet3のA4からと記録していきたいのです。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1のご回答のコードをお借りして、セルが増えても、コード行数を 増やさないように考えました。 対象セルが増える場合、 t1 = Array("E5", "F8", "F10")のF10の後にカンマで、”セル番地”を追加してください。 同じく対応して、累積記録する列を t2 = Array("A", "B", "C")の”C”の後にカンマで列記号を追加してください。t1の順と対応をとって並べてください。 そしてコマンドボタンやシェイプ図形のマクロの登録(クリックイベント)に下記モジュールを登録してください。 t1のセルが空白の場合は累積されません。 ーーー Sub test01() t1 = Array("E5", "F8", "F10") '変動セル t2 = Array("A", "B", "C") '記録を累積する列 For i = 0 To UBound(t1) '変動セル数だけ繰り返し With Worksheets("Sheet3") If Range(t1(i)).Value <> "" Then .Range(t2(i) & "65536").End(xlUp).Offset(1).Value = Range(t1(i)).Value End If End With Next i End Sub 以上を少数データでテストしました。
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 ボタン(コントロールツール・ボタン)のある場所のモジュールに以下を取り付けてください。このような内容でいかがでしょうか?Endプロパティというものを使って、列の最終セルを求めます。 Private Sub CommandButton1_Click() With Worksheets("Sheet3") If Range("E5").Value <> "" Then .Range("A65536").End(xlUp).Offset(1).Value = Range("E5").Value End If If Range("F8").Value <> "" Then .Range("B65536").End(xlUp).Offset(1).Value = Range("F8").Value End If If Range("F10").Value <> "" Then .Range("C65536").End(xlUp).Offset(1).Value = Range("F10").Value End If End With End Sub
お礼
ありがとうございました。 おかげで完成しました。 実際は、NOW関数で書いてあるものを「値の貼り付け」にしたり、小数点の桁数を整えたりと半日以上かかりましたが、目的は達成しました。
補足
新年明けましておめでとうございます。 今年もよろしくお願いいたします。 今までは出荷伝票を2部印刷し、1部を残すようにしていたのですが、PCに残すようになり、今年定年のおっちゃんには一列目は書けますが、二列目(空白セル)の設定というのがわからず、質問をさせていただきました。 5日に出勤したら実機で試しますから、「できたよ!!」という返事はそれまで待ってくださいね。
- marbin
- ベストアンサー率27% (636/2290)
作って、というのでしたら、 お金を払ってプロに頼みましょう。 ここのようなQ&Aサイトは勉強の場です。 プログラム作成依頼のサイトではありません。
お礼
ありがとうございました。 おかげで完成しました。 実際は、NOW関数で書いてあるものを「値の貼り付け」にしたり、小数点の桁数を整えたりと半日以上かかりましたが、目的は達成しました。
補足
新年明けましておめでとうございます。 今年もよろしくお願いいたします。 今までは出荷伝票を2部印刷し、1部を残すようにしていたのですが、PCに残すようになり、今年定年のおっちゃんには一列目は書けますが、二列目(空白セル)の設定というのがわからず、質問をさせていただきました。 5日に出勤したら実機で試しますから、「できたよ!!」という返事はそれまで待ってくださいね。