Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


13288 / 13646 ツリー ←次へ | 前へ→

【6134】InstrRev ぴぽぽ 03/6/17(火) 13:34 質問
【6135】Re:InstrRev つん 03/6/17(火) 13:54 回答
【6136】Re:InstrRev Jaka 03/6/17(火) 14:06 回答
【6137】Re:InstrRev ぴぽぽ 03/6/17(火) 14:17 お礼
【6138】私信ですが・・・ つん 03/6/17(火) 14:53 発言

【6134】InstrRev
質問  ぴぽぽ  - 03/6/17(火) 13:34 -

引用なし
パスワード
   はじめまして。
エクセル初心者です。
InStr関数でInStrRev関数と同等の機能を実現するには、どうしたらよいのでしょうか?
最後の検索文字列になるまで、ループ処理を行なう必要があるのは、予想できたのですが、わかりません。
ご教授願います。
excel97を使用しています。

【6135】Re:InstrRev
回答  つん E-MAIL  - 03/6/17(火) 13:54 -

引用なし
パスワード
   ぴぽぽ さん、こんにちは
はじめまして♪

こんな感じかなあ?
もちっとスマートに出来るかもしれんけど・・・・

Sub test()

  Dim strWord As String
  Dim i As Long
  Dim k As Long
  
  strWord = "ABCABCABC"
  
  MsgBox InStrRev(strWord, "A")
  
  k = 0
  i = 0
  Do
    k = InStr(k + 1, strWord, "A")
    If k = 0 Then Exit Do
    i = k
  Loop
  
  MsgBox i

End Sub

試してちょ

【6136】Re:InstrRev
回答  Jaka  - 03/6/17(火) 14:06 -

引用なし
パスワード
   こんにちは。
おじゃまします。
つんさん、自律神経はお元気ですか?
回答されているのに気づかず、作っちゃったんで...。
ごめんなさい。

stad = "11111\2222\333\444\555"
i = 0
Do Until InStr(i + 1, stad, "\") = 0
  i = InStr(i + 1, stad, "\")
Loop
MsgBox Mid(stad, i + 1)

【6137】Re:InstrRev
お礼  ぴぽぽ  - 03/6/17(火) 14:17 -

引用なし
パスワード
   ▼Jaka さん:
>こんにちは。
>おじゃまします。
>つんさん、自律神経はお元気ですか?
>回答されているのに気づかず、作っちゃったんで...。
>ごめんなさい。
>
>stad = "11111\2222\333\444\555"
>i = 0
>Do Until InStr(i + 1, stad, "\") = 0
>  i = InStr(i + 1, stad, "\")
>Loop
>MsgBox Mid(stad, i + 1)


早速のレスありがとうございます。
無事解決しました。
感謝感謝です!

【6138】私信ですが・・・
発言  つん E-MAIL  - 03/6/17(火) 14:53 -

引用なし
パスワード
   Jaka さん、こんにちは

>つんさん、自律神経はお元気ですか?
ありがとうございます。
時々へたってたりして、それを言い訳にぐーたらな毎日を送ってます。
いや、一応仕事はしてますが(^^;
一時より、元気になりました♪

>回答されているのに気づかず、作っちゃったんで...。
>ごめんなさい。

いえいえ、Jakaさんのが変数が1個少なくていいかも。

ぴぽぽさん

解決した良かったです♪

13288 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free