• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「8桁の数字」を表現したい。)

8桁の数字の表現方法と要素の取り出し方

このQ&Aのポイント
  • 8桁の数字の表現方法として、連続する8桁の数字は存在せず、要素の中には日付が含まれている。
  • ファイルから1件目のレコードを取り出すためには、instr関数を使用して2番目の頭を見つけ、その位置を全体の長さから引くことができる。
  • 質問者は「8桁の数字」の具体的な表現方法について質問しており、他に効率的な方法があれば教えてほしいとしている。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

こんなのはどうでしょう。 1件目のレコードは要素3つで構成されていると決まっているなら、"<>"を区切り文字としてSplit関数で分割し、先頭の3つを合体させる。 要素数が決まっていないなら、やっぱりSplitで分割して8桁の数字が2回目に出てくるまでの要素を合体。 Sub Sample()   sStr = Split(Range("A1"), "<>")      '要素が三つと決まっている場合   sSample1 = sStr(0) & "<>" & sStr(1) & "<>" & sStr(2) & "<>"      '要素数が決まっていない場合   Sample2 = sStr(0) & "<>"   For i = 1 To UBound(sStr)     If IsNumeric(sStr(i)) And Len(sStr(i)) = 8 Then Exit For     Sample2 = Sample2 & sStr(i) & "<>"   Next i End Sub

nagahaha
質問者

お礼

早速有り難うございました。 やはり、ズバリはないみたいですね。 正規表現を調べましたが、ちょっとそぐわない感じです。 ヒントを頂いたので、 やはり、instrでloopさせました。

その他の回答 (1)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

<>の後の8桁の数字の部分で改行したいという意味なら、以下のようなWordを使ったワイルドカード置換で簡単に文章を整形できます。 テキスト文書をワードに貼り付け、Ctrl+Hで置換ダイアログを出して、「オプション」ボタンをクリックして、検索する文字列の欄に「\<\>([0-9]{8})」置換後の文字列に「^13\1」と入力して「すべて置換」してください。

nagahaha
質問者

お礼

わざわざ有り難うございました。 やりたいことは質問のとおりで、ちょっと方向が違います。 お世話になりました。

関連するQ&A