| 
    
     |  | ▼amatsuno さん: >F列を参照し、F列に指定の文字列があったらE列にF列の値を入力したいと思っています
 >
 >現在、以下のようなカラム構成になっています
 >
 >AAA1,BBB1,CCC1,DDD1,0:01:01,10:20:30
 >AAA2,BBB2,CCC2,DDD2,0:02:02,10:20:31
 >AAA3,BBB3,CCC3,DDD3,0:03:03,10:20:32
 >AAA4,BBB4,CCC4,DDD4,0:04:04,10:20:33
 >AAA5,BBB5,CCC5,DDD5,0:05:05,10:20:34
 >AAA6,BBB6,CCC6,DDD6,0:06:06,23:59:58
 >AAA7,BBB7,CCC7,DDD7,0:07:07,10:20:30
 >AAA8,BBB8,CCC8,DDD8,0:08:08,23:59:58
 >AAA9,BBB9,CCC9,DDD9,0:09:09,10:20:30
 >
 >このとき、F列が「23:59:58」の行に関しては、E列を「23:59:58」にしたいと思っています
 >※下記のように、AAA6とAAA8のE列を23:59:58にしたい
 >
 >AAA1,BBB1,CCC1,DDD1,0:01:01,10:20:30
 >AAA2,BBB2,CCC2,DDD2,0:02:02,10:20:31
 >AAA3,BBB3,CCC3,DDD3,0:03:03,10:20:32
 >AAA4,BBB4,CCC4,DDD4,0:04:04,10:20:33
 >AAA5,BBB5,CCC5,DDD5,0:05:05,10:20:34
 >AAA6,BBB6,CCC6,DDD6,23:59:58,23:59:58
 >AAA7,BBB7,CCC7,DDD7,0:07:07,10:20:30
 >AAA8,BBB8,CCC8,DDD8,23:59:58,23:59:58
 >AAA9,BBB9,CCC9,DDD9,0:09:09,10:20:30
 >
 >下記のコードで書いたのですが、
 >AAA6のほうだけが変換されてしまいます。
 >どのように修正すればいいのでしょうか?
 >
 >Dim C As Long
 >Dim c2 As Range
 >'検索語
 >Const MYTXT As String = "23:59:58"
 >
 >For C = 1 To Cells(Rows.Count, "F").End(xlUp).Row
 >Set c2 = ActiveSheet.Columns("F:F").Find(What:=MYTXT, _
 >LookIn:=xlValues, _
 >LookAt:=xlPart, _
 >MatchCase:=False)
 >If Not c2 Is Nothing Then
 >c2.Offset(0, -1).Value = "23:59:58"
 >End If
 >Next C
 
 
 すいません。
 解決しました
 
 Dim c2 As Range
 '検索語
 Const MYTXT As String = "23:59:58"
 Dim firstRow As Long
 firstRow = 1
 
 Set c2 = ActiveSheet.Columns("F:F").Find(What:=MYTXT, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False)
 If Not c2 Is Nothing Then
 firstRow = c2.Row
 Do
 c2.Offset(0, -1).Value = c2.Value
 Set c2 = ActiveSheet.Columns("F:F").FindNext(c2)
 Loop Until firstRow = c2.Row
 End If
 
 
 |  |