お世話になっております。
タイトルにございます、Excel VBAのプログラムについてご教授をお願いいたします。
[B4セル]から下記にデータが入力されており、その隣の[C4セル]から下には、[B4セル]から下にデータが入力されているセルだけに、普段はCtrl+(れ)キーの当日日付+半角スペース+20:00と入力しております。(例)2019/10/06 20:00)
注文件数が多いのでこの操作を自動化したく、どなたか分かる方、よろしくお願いいたします。
No.7ベストアンサー
- 回答日時:
No.5 No.6 の追記
☆ データをまとめて張り付けてリアル処理するならば
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim セル As Range
Application.EnableEvents = False
For Each セル In Target
If セル.Value <> "" Then
If セル.Row >= 4 Then
If セル.Column = 2 Then
Cells(セル.Row, 3).Value = DateAdd("h", 20, Date)
End If
End If
End If
Next
Application.EnableEvents = True
End Sub
☆ 全データ入力後にまとめて処理するならば
Sub まとめて処理()
Dim 行 As Long
For 行 = 4 To Cells(Rows.Count, 2).End(xlUp).Row
If Cells(行, 2).Value <> "" Then Cells(行, 3).Value = DateAdd("h", 20, Date)
Next
End Sub
GooUserラック様、ご回答いただきましてありがとうございます。
リアルタイムで反映させられるこの様なVBAのプログラムがあるのですね。
感動いたしました。
複数いただきました回答の中から「データをまとめて張り付けてリアル処理」のプログラムが、
この度の私の理想とするプログラムなのでベストアンサーとさせていただきます。
回答いただきました皆様へこの場を借りて感謝申し上げます。
ありがとうございました。
また質問させていただくこともあると思いますが、その際にはよろしくお願いいたします。
No.9
- 回答日時:
No.7 の追記
「☆ 全データ入力後にまとめて処理するならば」は複数回実行を考えると以下のようにした方が良いかもしれません。
Sub まとめて処理()
Dim 行 As Long
For 行 = 4 To Cells(Rows.Count, 2).End(xlUp).Row
If Cells(行, 2).Value <> "" Then
If Cells(行, 3).Value = "" Then
Cells(行, 3).Value = DateAdd("h", 20, Date)
End If
End If
Next
End Sub
No.8
- 回答日時:
Sub Sample()
Range("B4", Cells(Rows.Count, "B").End(xlUp)).Offset(0, 1).Value = Now()
End Sub
とか。
データが1件もないとうまくいきませんが。
運用でカバー。(^^;)
No.6
- 回答日時:
No.5 の補足
データがすでに入力されていたり、データを複数同時に張り付けるような使い方ではチャント動作しません。
「Target.Column + 1」はもちろん「3」でも問題ありません。
No.5
- 回答日時:
VBAでしたらVBEの画面を開いて図を参照に左側の対象のシートをダブルクリックして「Worksheet」「Change」の部分に下記のコードを書き込めば良いと思います。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row >= 4 Then
If Target.Column = 2 Then
Application.EnableEvents = False
Cells(Target.Row, Target.Column + 1).Value = DateAdd("h", 20, Date)
Application.EnableEvents = True
End If
End If
End Sub
No.4
- 回答日時:
マニュアル操作であれば、こんな感じでしょうか。
①C4:C12を選択
②Ctrl+;
③半角空白
④Ctrl+:
⑤Ctrl+Enter
上記の操作をマクロにすると、こんな感じです。
Sub sample()
Range("B4:B" & Rows.Count).SpecialCells(xlCellTypeConstants, 23).Offset(, 1).Select
SendKeys "^; ^:^{ENTER}"
End Sub
No.2
- 回答日時:
マクロは必要ありません。
とりあえず時間入力に該当する一番上のセルに日時を入力してください。
そして
[←]
で、商品名の列のセルを選択、
続いて、
[Ctrl]+[↓]
のショートカットで「氷」までジャンプすることができます。
続いて
[→]
で、隣の列のセルを選択し、
続いて、
[Ctrl]+[Shift]+[↑]
で、日時を入力したセルまでを範囲選択できます。
最後に
[Ctrl]+[D]
で、選択査定る範囲の一番上の値を下のセルに複製します。
このように、ショートカットを使うだけで簡単に処理できますよ。
それにこのほうが事細かに応用できます。
マクロは条件を付けて処理を分けることができますが、質問者さんのスキルでは条件が加わる都度修正することは無理と思うんです。
(「代わりに作って」…のような作業依頼は疑問の解決ではありません)
・・・余談・・・
ちなみに「NOW関数」は、計算させる都度、演算が行われ結果が変わるのでお勧めできません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) Excleマクロ セル値の代入と文字列の結合について 3 2022/10/05 16:47
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) 特定の文字を条件に指定範囲のデータを貼り付けるVBA 3 2023/01/15 06:14
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) 【マクロ】ボタンを押すごとに、A1セル、A2セル、A3セルに日付を入力 3 2023/01/25 00:12
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- Excel(エクセル) ExcelにてA1セルに1、B1セルに月と入力した際に、A列に日付、B列に曜日が入力される様になる為 1 2023/03/02 06:47
このQ&Aを見た人はこんなQ&Aも見ています
-
あなたの「必」の書き順を教えてください
ふだん、どういう書き順で「必」を書いていますか? みなさんの色んな書き順を知りたいです。 画像のA~Eを使って教えてください。
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
【お題】逆襲の桃太郎
【大喜利】桃太郎が1回鬼退治に失敗したところから始まる新作昔話「リベンジオブ桃太郎」にはこんなシーンがある
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
A1セルに入力したら、入力時間をA2セルに自動挿入
Excel(エクセル)
-
エクセルで、日付を入力すると、別のセルに文字を自動的に表示させるようにするには。
Excel(エクセル)
-
特定セルの内容を更新したら、その更新日を自動的に表示する方法について
Excel(エクセル)
-
-
4
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
5
EXCEL:特定の文字が入力された日付を表示する方法
Excel(エクセル)
-
6
A列に文字列または数字を入力したら隣接するD列に今日の日付が入るようにしたいです
Excel(エクセル)
-
7
vba 隣のセルに値がある行だけ関数をコピー&ペーストしたい A1 100001 A2 100002
Visual Basic(VBA)
-
8
☆Excelエクセルで入力した日の日付を表示したいです☆
Excel(エクセル)
-
9
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
10
値を入力後、自動的にアクティブセルが移動するマクロ
Excel(エクセル)
-
11
VBA Cのセルが空白でなかったら、Aのセルに順番に数値を入力
Visual Basic(VBA)
-
12
エクセル セルに文字を入力したら別のセルに入力した時間が表示されるようにしたい
Excel(エクセル)
-
13
Excel VBA あるセルでENTERを押すと特定のセルへ移動したい
Excel(エクセル)
-
14
VBA A1セルが空白になったら隣のセルも空白に
Excel(エクセル)
-
15
vba:特定のセルに入力したと同時に隣のセルの値を特定のセルの下の行に自動入力したい_No.2
Excel(エクセル)
-
16
エクセルVBAで、値が入っている最終行の、右隣の値をコピーして、別のセルに貼り付けるコード
Excel(エクセル)
-
17
【マクロ】ボタンを押すごとに、A1セル、A2セル、A3セルに日付を入力
Excel(エクセル)
-
18
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
19
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
20
vba セルに入力した時間をマクロで受け取るには?
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データが入力されている隣のセ...
-
【VBA】InputBoxで文字をセルに...
-
Swing 編集不可でも選択可能なJ...
-
セル色を5秒間隔で変える
-
Windowsで動くVBAがmacOSで動か...
-
Excel VBA ダブルクリックで入...
-
マクロを使って画像を貼り付け
-
Excelのセル内にある図形を削除...
-
ダブルクリックすると現在の時...
-
VBAでの入力
-
VBAで、貼り付け禁止命令を実現...
-
ファイルパスの汎用性について...
-
エクセル: セルの枠を超えて表示
-
Excelで 分:秒 と表示させる...
-
EXCELで特定のセルに表示...
-
エクセルでの計算式で求められ...
-
エクセルのセル内の余白の設定...
-
エクセル:マクロ「Application...
-
エクセルで表示形式の時刻の「0...
-
【エクセル】関数で「A1が0でな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELマクロ 保護されているシ...
-
データが入力されている隣のセ...
-
VBAで、貼り付け禁止命令を実現...
-
エクセルVBA(実行時エラー438...
-
エクセルテキストボックスの文...
-
VBA セルに合わせて移動するが...
-
ハイパーリンクされているファ...
-
メッセージを1度だけ表示したい。
-
Windowsで動くVBAがmacOSで動か...
-
ダブルクリックすると現在の時...
-
エクセルVBA セル選択後にカレ...
-
StringGridでの文字入力制限
-
(VBA)アクティブセルを起点に...
-
エクセルのVBAでダブルクリック...
-
セル色を5秒間隔で変える
-
VBAで丸をつけたいです。
-
Jtableの特定のセルの背景色や...
-
VBAのListBoxで複数選択して...
-
Excelのセル内にある図形を削除...
-
Excel VBA セルを指定個数ラン...
おすすめ情報