• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:条件について)

右から4文字を選択し、条件によって3文字にする方法についての質問

このQ&Aのポイント
  • 質問者はExcelで特定の条件に基づいて文字を選択し、その文字の存在によって処理を変えたいと考えています。
  • 現在、質問者は右から4文字を選択し、その文字がXであるかどうかを確認しています。
  • しかし、文字の存在に関係なく全ての文字を4文字減らしてしまっています。質問者は、条件に応じて3文字に減らす方法はあるのか疑問に思っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

If InStr(1, r.Value, "X", vbBinaryCompare) = 4 Then r.Value = Left$(r.Value, 4) else r.Value = Left$(r.Value, 3) End If これでよいのでは? 後はうまく修正してください。 InStrは文字列を前から検索します、見つかった文字の位置を返してくれます。 InStrRevは後ろから検索し、前から数えて何文字目にあるかを返してくれます。 Right(String,4) は Stringを4文字に編集しているだけです。 したがって、 4文字目を抜き出したいのでしたら、 st = Right$(r.Value, 4) dim work as string 'stにセットしてしまうと、 'r.Value = Left$(r.Value, Len(r.Value) - Len(st)) 'で困ります work = Right$(st, 1) となります。

DEC2010
質問者

お礼

AKARI0418さんへ わかりやすい解説で回答有難うございます! 他にもいろいろ応用できそうで助かります。

関連するQ&A