
下記のコードをご覧ください。
実行【ボタンをクリック】すると
A1セルに本日の日付が入力されます。
やりたい事は下記のように【ボタンを押すごとに】
A1セル、A2セルとしたのセルに日付が入力されるようにする事です
⇒ボタンを1回押すA1セルに本日の日付を入力
⇒ボタンを2回押すA1セルとB1セルに本日の日付を入力
【VBAコード】
Sub A1セルに本日の日付を入力()
Range("A1").Value = Date
End Sub
ご存じの方、おしえてください
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
他の回答者さんも指摘されておられますが、タイトルと質問本文の内容が一致していますせん。
タイトルの内容が正しい場合、enunokokoroさんの回答にあるコードを実行すれば、ご質問者のご希望は実現できるのではないかと思います。
なお、enunokokoroさんのマクロではA1セルが空白がどうか判定し、空白でなかったら、A列最終入力行の次行に日付が入力されます。つまり、空白を判定するのはA1セルのみです。
一方、A1セルの空白だけでなく、A1セル以下のセルについて順次空白かどうか判定し、空白を見つけたら本日日付を入力するという考えもあります。その場合のコードの例をあげれば、
Sub A1セルに本日の日付を入力()
Cells(1, "A").Select
Do Until ActiveCell.Value = ""
ActiveCell.Offset(1, 0).Activate
Loop
ActiveCell.Value = Date
End Sub
というコードになりますが、空白を順次検索する訳ですから遅くなります。
A1セルとA列最終入力行の間に空白があれば、そこに本日日付が入力されるという機能が付加されますが、enunokokoroさんのマクロの方が圧倒的に速いです。
No.2
- 回答日時:
「ボタンを2回押すA1セルとB1セルに本日の日付を入力」とは?
A2セルが空白だった場合、B2セルにも日付を入れるということ?
ダブルクリックのイベントについては、何をしたいのか明白ではないので回答しませんが、質問タイトルのような動作なら以下のようなもので対応します。
Sub A列空白セルに本日の日付を入力()
Dim n As Long
If Cells(1, 1).Value = "" Then
Cells(1, 1).Select
ActiveCell.Value = Date
Else
n = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & n).Select
ActiveCell.Value = Date
End If
End Sub
No.1
- 回答日時:
ん?
それは、入力後に入力した下のセルを選択するということでしょうか?
でもなぜかA1セルの次にB1セルなんだよね……意味不明です。
また、2回実行するとA1セルに入力されている日付を更新するという事になりますがよろしいでしょうか?
23:59に1回目の実行。
0:01に2回目の実行。
A1セルには2回目に実行したときの日付が入る。
間違いありませんか?
・・・
選択範囲を変えるのは
ActiveCell.Offset(1, 0).Activate
とでもすればいい。
この例は、実行すると一つ下のセルを選択し直す。
ActiveCell.Offset(0, 1).Activate
とすれば、一つ右のセルを選択し直す。
あとは自分でアルゴリズムを考えてコードを作成してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Excel(エクセル) Excleマクロ セル値の代入と文字列の結合について 3 2022/10/05 16:47
- Excel(エクセル) ExcelにてA1セルに1、B1セルに月と入力した際に、A列に日付、B列に曜日が入力される様になる為 1 2023/03/02 06:47
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) Excel 関数 数式 について 2 2022/09/02 21:45
- Excel(エクセル) エクセルで月末、月初の判定をしたい。 4 2022/05/18 23:22
- Excel(エクセル) 現時点の年齢を算出して、その年齢と一致したセルを色付けしたい。 4 2022/06/23 17:49
- Excel(エクセル) DATEVALUE関数がエラーになる 2 2022/07/12 19:30
- Excel(エクセル) エクセルで日付に続けて連番を表示したい 6 2022/05/25 23:33
このQ&Aを見た人はこんなQ&Aも見ています
-
[EXCEL]ボタン押す→時刻が表に入る方法
Excel(エクセル)
-
A1セルに入力したら、入力時間をA2セルに自動挿入
Excel(エクセル)
-
マクロボタンを押すたびに違う動作をしたい
Excel(エクセル)
-
-
4
マクロボタンを押すと、ファイル名を“日付(年月日)_文字.xlsx”にして指定ファイルに保存したいの
Excel(エクセル)
-
5
VBAコマンドボタンを押すたびに、データ取得させたい。
Visual Basic(VBA)
-
6
Excelのマクロでボタンを押すと数が1足されるようにするには?
IT・エンジニアリング
-
7
エクセルマクロで、現在の時刻を記録するには?
その他(Microsoft Office)
-
8
複数のマクロボタンをまとめて一つのマクロボタンにするということ。
Excel(エクセル)
-
9
マクロ無しで時間自動で記入をしていきたい
Excel(エクセル)
-
10
【Excel】クリックするとその日の日付が表示されるようにしたい
Excel(エクセル)
-
11
VBAでセルをクリックする回数で表示が変わる
その他(プログラミング・Web制作)
-
12
エクセルファイルを開く時、常に同じシートから開くようにするには?
Windows Vista・XP
-
13
ExcelでTODAY関数を更新させない方法
Excel(エクセル)
-
14
データが入力されている隣のセルに当日日付と時刻を入力するExcel VBAプログラム
Visual Basic(VBA)
-
15
【マクロ】マクロボタンをクリックしたら、セルに OK と表示される
Excel(エクセル)
-
16
エクセル ボタンに設定したマクロごとボタンをコピー
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
貼り付けで複数セルに貼り付けたい
-
(Excel)数字記入セルの数値の後...
-
セルをクリック⇒そのセルに入力...
-
エクセルで指定したセルのどれ...
-
エクセルのセルの枠を超えて文...
-
エクセル セルの中に縦線が入っ...
-
枠に収まらない文字を非表示に...
-
Excelで数式内の文字色を一部だ...
-
対象セル内(複数)が埋まった...
-
Excelで教えてください。 バー...
-
Excelで住所を2つ(町名迄と番...
-
エクセル オートフィルタで絞...
-
【エクセル】IF関数 Aまたは...
-
エクセルの書式設定の表示形式...
-
excelの特定のセルの隣のセル指...
-
Excel2003 の『コメント』の編...
-
Excel 例A(1+9) のように番地の...
-
数式を残したまま、別のセルに...
-
EXCEL VBA セルに既に入...
-
エクセルの一つのセルに複数の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
スプレッドシートで複数のプル...
-
excelで日付関数の文字列変換の...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセルの一つのセルに複数の...
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
エクセルの書式設定の表示形式...
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルのセルの枠を超えて文...
-
Excelでのコメント表示位置
-
エクセル オートフィルタで絞...
-
Excelで数式内の文字色を一部だ...
おすすめ情報