[[20250307155201]] 『part(2)以降を文字列として表示したい』(中高年) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『part(2)以降を文字列として表示したい』(中高年)

 excelで文字列をスペースで分割し
 part(2)以降を文字列として表示したい

 以下のコードを利用していますが
 他のコードの書き方は有りますか?

            If UBound(parts) >= 2 Then
                  For ii = 2 To UBound(parts)
                        result = result & parts(ii) & " "
                  Next ii
                  wsFFmpeg.Cells(i, 3).Value = result
            End If
            result = ""

< 使用 Excel:Microsoft365、使用 OS:Windows11 >


 365なら
 Dim Str As String
 Str = "ああ いいい うう えええ おお"
 wsFFmpeg.Cells(i, 3).Value = Evaluate("TEXTAFTER(""" & Str & ""","" "",2)")

(んなっと) 2025/03/07(金) 18:02:08


 Splitする時点で2つ目のスペース以降を取得する。

 sを文字列の変数と仮定して

 If s Like "* * *" Then wsFFmpeg.Cells(i, 3).Value = Split(s, " ", 3)(2)
(jindon) 2025/03/07(金) 18:41:43

 なるほど。jindonさんのほうがいいですね。私のはなしで。

(んなっと) 2025/03/07(金) 18:52:11


 んなっとさん、
 いつもとても見事な数式を楽しみに拝見しております。

 はじめは If s Like "* * *" Then の部分を省いていましたが
 >If UBound(parts) >= 2 Then
 という条件があったので、スペースが2個以上ない場合はスキップすると理解しました。
(jindon) 2025/03/07(金) 19:01:50

文字列がワークシート上にあり、ワークシートに返すのならVBAでなくワークシート関数だけでやることもできるかと。
A1セルにスペースで分割した文字列があるとして、下記の数式で目的の値になってませんか。
=IFERROR(TEXTJOIN(" ",FALSE, DROP(TEXTSPLIT(A1," "),,2) ),"")
(abec) 2025/03/07(金) 19:25:35

 見識者の皆さん、アドバイスを頂き感謝いたします。

 お陰様でひとつ引き出しが多くなりました。

(中高年 ) 2025/03/08(土) 07:44:35


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.