
A2~A20までのセルに文字を入力した段階で、それぞれB2~B20に入力日時を入れるVBAを以下のように組んでいます。
しかし、同様の条件を同一シートのE2~E20・F2~F20にも入力・自動表示できるようにしなければならなくなり、困っています。
どのように記述を変えればよいのか、教えていただけたらと思います。
宜しく御願いいたします。
Sub Worksheet_change(ByVal Target As Range)
Dim Rng As Range
Dim c As Range
Set Rng = Range("A2:A20")
If Intersect(Target,Rng) Is Nothing Then Exit Sub
For Each c In Intersect(Target,Rng)
If Not IsEmpty(c) Then
c.Offset(, 1).Value = Now
Else
c.Offset(, 1).ClearContents
End If
Next
Rng.Offset(, 1).EntireColumn.AutoFit
End Sub
申し訳ありませんが、何卒、宜しく御願いいたします。
No.3ベストアンサー
- 回答日時:
Private Sub Worksheet_change(ByVal Target As Range)
Application.EnableEvents = False
Dim Rng As Range
Dim c As Range
Set Rng = Range("A2:A20,E2:E20")
If Intersect(Target, Rng) Is Nothing Then GoTo ext
For Each c In Rng
If Not IsEmpty(c) Then
c.Offset(, 1).Value = Now
Else
c.Offset(, 1).ClearContents
End If
Next
Rng.Offset(, 1).EntireColumn.AutoFit
ext:
Application.EnableEvents = True
End Sub
---
(1)範囲拡張
Set Rng = Range("A2:A20,E2:E20")
(2)Application.EnableEvents = Falsewo
をいれた。
c.Offset(, 1).Value = Now
でChangeイベントの中にこないように
同時にIf Intersect(Target, Rng) Is Nothing Then GoTo ext
に変えてApplication.EnableEvents = True
を通るように
(3)For Each c In Intersect(Target,Rng)
を無駄を省いた。
For Each c In Rng
で良いようだ。
No.4
- 回答日時:
#3です。
もっとコードを省いて
Private Sub Worksheet_change(ByVal Target As Range)
Application.EnableEvents = False
Dim Rng As Range
Set Rng = Range("A2:A20,E2:E20")
If Intersect(Target, Rng) Is Nothing Then GoTo ext
Target.Offset(, 1).Value = Now
Rng.Offset(, 1).EntireColumn.AutoFit
ext:
Application.EnableEvents = True
End Sub
で良いのではないかと思いました。これで結果が、都合悪いですか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
autocad 数値が表示されなくな...
-
Excelについて
-
エクセルのリストについて
-
excelのInputBoxで日本語入力OF...
-
博子の旧字体を入力するには
-
エクセルVB ポップアップウィ...
-
エクセルのマクロの使い方
-
求人情報で「SAP入力可能な方」...
-
エクセルで半角カナや特殊文字...
-
ドロップダウンリストを2列で...
-
excelで第二金曜日を…
-
accessテキストボックスで月日...
-
excel、VBA、フォーム、コ...
-
Googleドキュメントで数式を書...
-
メアド入力不要な日程調整ツー...
-
エクセル 日付超過でポップアッ...
-
pdfの文字入力で一文字ずつしか...
-
マクロ 入力規則は残し文字の...
-
エクセルで同列のセルに同じ文...
-
囲い文字の単語登録
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのリストについて
-
ドロップダウンリスト 自動表...
-
Excelについて
-
autocad 数値が表示されなくな...
-
エクセルVB ポップアップウィ...
-
VBAの日付チェックでオーバーフ...
-
excelのInputBoxで日本語入力OF...
-
マクロ 入力規則は残し文字の...
-
ドロップダウンリストを2列で...
-
エクセル 日付超過でポップアッ...
-
エクセルで半角カナや特殊文字...
-
小数点以下の入力規則
-
Googleドキュメントで数式を書...
-
アクセス2000 クエリ抽出でBet...
-
EXCEL VBAの入力規則で小数点桁...
-
【スプレッドシート】時間入力...
-
エクセルのマクロの使い方
-
pdfの文字入力で一文字ずつしか...
-
弥生会計05、「摘要」入力について
-
求人情報で「SAP入力可能な方」...
おすすめ情報