このサイトのすべての例と回答を見てきました。しかし、 "802722AA"を含む2行だけを置き換えるのではなく、文字列を含まない他のすべての文字列を置き換えます。なぜこのようなことが起こるのか、アイデアがありません。どんな助けもありがとうございます。Excel VBA長いテキスト文字列の列を検索し、その中の文字を置換します
Sub FindAndReplaceAGF()
Dim Loc As Range
Dim RowNum As Integer
Dim LastRow As Long
With Sheets(2).UsedRange
Range("A1").Select
Set Loc = .Cells.Find(What:="802722AA")
If Not Loc Is Nothing Then
Do
Loc.EntireRow.Select
Selection.Replace What:="AGF", Replacement:="AGN", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
RowNum = Loc.Row
Set Loc = .FindNext(Loc)
Loop While Loc.Row > RowNum
End If
End With
Set Loc = Nothing
私のデータはこのように見えますが、私は400+のラインリストであるため、私はそれを編集しています。
802722AA SANTA ROSA LEASING LLC2 AGF
59511VAA MICRON SEMICONDUCTOR AGF
973204AA WINDERMERE AVIATION LLC AGY
92242VAB VCK LEASE SA AGF
68839PAB OSPREY AIRCRAFT LEASING AGF
79977TAC SANDALWOOD 2013 LLC AGN
02154QAA ALTITUDE INVEST 16 LLC AGF
802722AA SANTA ROSA LEASING LLC AGF
45170$88 ILLINOIS FACILITIES FUND ACM
これはすべてExcelの列Aにダンプされるテキストファイルです。私はそれをコラムにすることはできませんし、入力を拒否する独自のプログラムにフィードしているので、何の公式も何もできません。そこにはいくつかのAGFがあり、それがテキスト802722AAを含んでいればAGNに変更したいだけです。
上記のvbaマクロは、あなたが望むことをしません。すべてのAGFをAGNに置き換えます。私は答えでそれを解決しようとします – Blenikos
ええ、それはまさにこの時点で私の苦境です - それは私が置き換えたくないものを含むすべてを置き換えます。私は、次の試合を探して交換する必要があるので、ロジックが健全であることを意味します。私はちょうどそれがマッチを持っていない行を置き換えている理由を得ることはありません。ありがとう! –