VBAでマクロを走らせた日時をSheet2のAセルに入力する
はじめまして。
現在、ファイルを整理するマクロを使っています。
そのマクロを使った履歴を残す意味で、
いつマクロを走らせたかすぐにわかるように、
Sheet2のAのセル(2行目から)に走らせた日時を示したいと思っています。
マクロでの処理が終わったら、
毎回Sheet2に日時が入力されるようにするには、
どんな命令文を追記したらよいのでしょうか。
マクロに関しては知識がなく、
インターネットで調べて、
Sheets("Sheet2").Cells(R, "A").Value = Now
というのを追記してみたのですが、
Sheet2に入力はされるものの、
Aセルの行がとびとびに入力されたり、
整理したファイルの数だけ(複数)入力されてしまいます。
マクロを1回走らせたら1つの日時が入力されるようにしたいです。
Sub ()とEnd Subの間にFor RとNext Rがあり、
作業が繰り返されているようです。
転記ができないため、マクロを示すことができません。
さすがに、これだけの情報では難しいでしょうか。
わかるかたがいらっしゃいましたら、
よろしくおねがいします。
No.4
- 回答日時:
こんばんは
指定した列の「データが入っている一番下の行」を取得する便利な方法があります。
まずは以下の操作をしてみてください。
1.sheet2を選択
2.A1~A5に適当に文字を入力
3.A列の一番下の行を選択(Excelのバージョンが2003以前ならA65536、
2007以降だともっと大きな行数)
4.マクロの記録開始
5.キーボードの「Ctrl」を押しながら「↑」を押す
6.マクロの記録終了
で記録されたマクロを確認しますと
Selection.End(xlUp).Select
が記録されていなす。
これを応用しますと、
Sheets("Sheet2").Range("A65536").End(xlUp).Row
で、Sheet2の最後の行を取得できます。
また、
Sheets("Sheet2").Range("A65536").End(xlUp).Offset(1, 0) = Now()
としますと、Sheet2のA列の一番下に、現在の時刻を記録できます。
p(^^)q
やってみました。
こういう考え方もあるんですね。
まったくの初心者ですので、
とても勉強になりました。
ほんとうにありがとうございます。
No.3
- 回答日時:
すみません。
バグってました。m(__)m
Dim MaxRow As Long
Dim Max As Long
:
:
:
Max = Rows.Count
MaxRow = Sheets("Sheet2").Range("A1").End(xlDown).Row
If MaxRow = Max Then MaxRow = 2
Sheets("Sheet2").Cells(MaxRow + 1, "A").Value = Now
End Sub
ご回答ありがとうございます。
頂いた文を追記したところ、
Sheet2に日時が表示されますが、
(1)3行目から入力されてしまう
(2)2回目までしか記入されない
という問題が発生しました。
(2)の2回目までしか記入されない
というのは、2回目分は4行目に入力されるのですが、
以降、4行目が更新されていき、
前の履歴に上書きされてしまっているようです…
改めて、2行目から記入が始まり、
3回目以降もマクロを走らせた日時の履歴を
4行目、5行目…というように、
Sheet2のAセルにバーーっと入力していくには
どう変えたらよいでしょうか。
ご存知でしたらよろしくお願い致します。
No.1
- 回答日時:
END Sub の直前(For RとNext Rの外)に下記のように記述してみてください。
下記マクロの動作条件が1つあって、Sheet2のA1セルが空白だと
エラーになります。
:
:
MaxRow = Range("A1").End(xlDown).Row
Sheets("Sheet2").Cells(MaxRow + 1, "A").Value = Now
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2022/06/20 09:22
- Visual Basic(VBA) Excel VBA マクロ ある列の最終行迄を参照し、別の列の空白セルに値を入力したいです 2 2023/03/05 02:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/13 08:41
- Excel(エクセル) スプレッドシートのマクロで値の入力があるセルの範囲を指定する方法を教えて下さい 2 2022/04/05 17:29
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
メッセージボックスのOKボタ...
-
ExcelのVBA。public変数の値が...
-
一つのTeratermのマクロで複数...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで別のセルにあるふり...
-
Excel VBAからAccessマクロを実...
-
ExcelVBAでPDFを閉じるソース
-
Excel2013 VBA マクロ実行中に...
-
エクセルに張り付けた写真のフ...
-
IF関数を使ってマクロを実行さ...
-
Excel 改ページのVBAうまくい...
-
エクセルのマクロについて教え...
-
ExcelVBA 図形をクリックした...
-
EXCELのVBAでRange("A1:C4")を...
-
Excelのマクロについて教えてく...
-
有効数字N桁のマクロについて
-
MSアクセスのマクロ・モジュー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
エクセルで別のセルにあるふり...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
ExcelVBAでPDFを閉じるソース
-
EXCELのVBAでRange("A1:C4")を...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
マクロ実行時、ユーザーフォー...
-
Excelのマクロについて教えてく...
-
ソース内の行末に\\
おすすめ情報