- ベストアンサー
【EXCEL VBA】頭の5文字と語尾の5字が一致する語の検索方法について
- EXCEL VBAで頭の5文字と語尾の5字が一致する語の検索方法について教えてください。
- A列の各データの最初の3文字と最後の3文字が一致するD列の行数をA列に対応する行に記載する方法をEXCEL VBAで教えてください。
- A列のセルの最初と最後の3文字が一致するD列のデータが2つある場合はA列に対応する行に記載する処理をEXCEL VBAで行うにはどうしたらいいのでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでしょうか? ※D列は南部線ではなく、南武線でいいでしょうか? 処理効率は考えてません Sub AAA() Dim wRowA As Long wRowA = 1 Do Until Cells(wRowA, "A").Text = "" Call BBB(wRowA) wRowA = wRowA + 1 Loop MsgBox ("A") End Sub Sub BBB(wRowA As Long) Dim wRowD As Long wRowD = 1 Do Until Cells(wRowD, "D").Text = "" If Left(Cells(wRowA, "A"), 3) = Left(Cells(wRowD, "D"), 3) And _ Right(Cells(wRowA, "A"), 3) = Right(Cells(wRowD, "D"), 3) Then If Cells(wRowA, "B").Text = "" Then Cells(wRowA, "B").Value = wRowD Else Cells(wRowA, "C").Value = wRowD End If End If wRowD = wRowD + 1 Loop End Sub
お礼
おおっ!!出来ました!! ありがとうございます。 なるほど Do Until で Call BBB(wRowA) を導くのですか。 マニュアル本だと Do Until Cells(wRowA, "A") = Cells(wRowd, "D") というように一つにまとめるやり方しか載っていないので 強引にこのやり方を引っ張って四苦八苦していました。 処理効率は教えていただいた式で十分速いので問題になりません。 どうもありがとうございました。