|
まこすけ さん、おはようございます
>さっそく試してみたのですが、全てE11になってしまいました。
>E22のある行からは、E22にしたいのです。
B列がE**のときに入れ替わるようにしていますが、もしかしてE**出現時のAがカラということがあるのでしょうか。
上のデータで試した時は正しく入っていたので、半角+空白抜き追加してみます。
>>Sub test()
>> Dim r1 As Range
>> Dim RR As Long, Rmax As Long, s1 As String
>> 'A列のデータ範囲
>> With Application.ActiveSheet
>> Set r1 = Application.Intersect(.Columns("A:A"), .UsedRange)
>> End With
>> '
>> Rmax = r1.Count
>> ReDim cdat(1 To Rmax, 1 To 1) As Variant
>> '
>> 'B列にExxが出たら入れ替え?
>> s1 = "E11" '一応初期値
>> For RR = 1 To Rmax
'B列をチェック
With r1.Cells(RR).Offset(0, 1)
If StrConv(Left(Trim(.Text), 1), vbNarrow) = "E" Then _
s1 = StrConv(Trim(.Text), vbNarrow) 'E**なら入替え
End With
>> 'A列に何か入ってたら
>> If r1.Cells(RR).Value <> "" Then
>> 'C列に入れる文字列
>> cdat(RR, 1) = s1
>> End If
>> Next
>> '一括で範囲に渡す。
>> r1.Offset(0, 2).Value = cdat()
>> '
>> Erase cdat
>> Set r1 = Nothing
>>End Sub
|
|