[[20160206203744]] 『同じシートの2列で同じ処理をしたい』(初心者) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『同じシートの2列で同じ処理をしたい』(初心者)

エクセルで日記をつけています。
H列に文字を入力すると、F列に日にち、G列に時間が表示されています。
また、H列を消すと、F列、G列の表示も消えます。
これは、検索してしらべました。
これと同じことを別の列でも行いたいのです。
具体的には、K列に文字を入力すると、I列に日にち、J列に時間が表示されるようにしたいです。同じくK列を消すと、I列、J列の表示も消したいです。

ご教授よろしくお願い致します。

下記にコードを書かせていただきます。


Private Sub Worksheet_Change(ByVal Target As Range)

 Dim rng, r As Range
 If Target.Column <> 8 Then Exit Sub
 Set rng = Intersect(Target, Range("H:H"))
 If rng Is Nothing Then Exit Sub
 For Each r In rng
 If r.Value <> "" Then
 Range("F" & r.Row).Value = Format(Now(), "yyyy/mm/dd")
 Range("G" & r.Row).Value = Format(Now(), "hh:mm:ss")
 Else
 Range("F" & r.Row).Value = ""
 Range("G" & r.Row).Value = ""

 End If
 Next r
 End Sub

< 使用 Excel:Excel2007、使用 OS:Windows8 >


 こういうこと?

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Range
    If Intersect(Target, Union(Columns("f"), Columns("k"))) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    For Each r In Intersect(Target, Union(Columns("f"), Columns("k")))
        r(, -1).Resize(, 2).ClearContents
        If r.Value <> "" Then r(, -1) = Date: r(, 0) = Time
    Next
    Application.EnableEvents = True
End Sub 
(seiya) 2016/02/06(土) 21:12

seiyaさん

早速のお返事ありがとうございます。

書き換えて試してみましたが、Kに入力すると、Iに日にち、Jに時間は表示されましたが、Kを消したとき
にIとJは消えません。
また、Hに入力しても、FとGに表示されなくなりました。

よろしくお願い致します。
下記にイメージを載せました。


 F  | G | H | I | J | K |

 2月6日 | 21:00|  あ  |  2月6日 | 21:00 |  あ     | 

(初心者) 2016/02/06(土) 21:56


 おっと f を h に変えてください。
 2箇所あります。
(seiya) 2016/02/06(土) 22:05

seiyaさん

早速のお返事ありがとうございます。

できました。
ありがとうございます。

今後もよろしくお願い致します。
(初心者) 2016/02/06(土) 22:34


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.