C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: セルを編集した時にその日付を自動で表示する方法


(過去ログ 116 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■68428 / inTopicNo.1)  セルを編集した時にその日付を自動で表示する方法
  
□投稿者/ あき (1回)-(2013/10/21(Mon) 11:51:09)

分類:[Microsoft Office 全般] 

VIZUAL BASICについてどなたかご教授をお願いします。
EXCELでたくさん行がある表で1列目にセルの編集があった場合に3行目にその編集日を表示させたい。
また編集した行であっても後から1列目のセルをクリアした場合は編集日を空白を表示したい。
理想は入力とクリアを繰り返しても入力時には編集日をクリア時には空白を表示させたい。
そこで下記のVBAを作ったのですが
入力時には編集日を表示→そのセルをクリアした場合は空白を表示→またそのセルに入力した時に編集日が表示してくれません。

Private Sub worksheet_change(ByVal target As Range)

   Dim gyo As Long
   Dim ret As Long
   Dim nex As Long
   
   gyo = target.Row
   
   If (gyo <= 5) Then Exit Sub
   
   ret = target.Column
   
   If (ret <> 1) Then Exit Sub
   
   nex = gyo
   
   Application.EnableEvents = False
   
   Do Until Cells(nex, 1) = ""
     
         Cells(nex, 3).Value = Date
              
              nex = nex + 1
                    
    Loop
       
       nex = gyo
       
       Do While Cells(nex, 1) = ""
               
            Cells(nex, 3).Value = ""
               
            nex = nex + 1
            
            If Cells(gyo + 1, 1) = "" Then Exit Sub
               
        Loop
           
    Application.EnableEvents = True

End Sub

お手数をお掛けしますが当方初心者にて宜しくお願いします。

引用返信 編集キー/
■68430 / inTopicNo.2)  Re[1]: セルを編集した時にその日付を自動で表示する方法
□投稿者/ shu (400回)-(2013/10/21(Mon) 12:27:44)
No68428 (あき さん) に返信

こんな感じどうでしょう?
EnableEvents など要件に直接関係ない部分は省略してあります。
編集時の変化をみるためDateではなくTimeにしてあります。

    Dim rg As Range
    For Each rg In Target
        If rg.Column = 1 Then
            If IsEmpty(rg.Value) Or rg.Text = "" Then
                Cells(rg.Row, 3) = Empty
            Else
                Cells(rg.Row, 3) = Time
            End If
        End If
    Next


引用返信 編集キー/
■68436 / inTopicNo.3)  Re[2]: セルを編集した時にその日付を自動で表示する方法
□投稿者/ あき (3回)-(2013/10/21(Mon) 13:21:48)
No68430 (shu さん) に返信

ありがとうございました。うまくいきました。
こんなに短時間で解消できるのであればもっと早く質問すべきでした。
もっと勉強します。

また何かありましたら宜しくお願いします。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -