VBA カッコの内の文字列を抜き出す



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

どうも、taka(@takabou63)です(^^♪

さて、Excelファイルでたまーにカッコで囲まれているデータってありませんか?

ExcelSampleimage

こんな感じに

こんな感じになっていた時って本当にめんどくさいですよね?

今回はそんなときに便利かもしれない【カッコ内の文字列を抜き出す方法】についてご紹介していきます(^^)/

カッコ内の文字列を抜き出すプログラムの流れ

今回のプログラムの流れは大きく分けて

  1. カッコと閉じカッコがある文字の位置をInStr関数で取得
  2. カッコがない場合の処理をしておく
  3. 1で取得した位置の間の文字をMid関数で抜き出す

の流れをとっております。カッコがない場合の処理は必要な場合でいいと思います。

カッコ内の文字列を抜き出すサンプルコード

今回はA列のデータの【()】の中にあるデータをB列に転記するプログラムです。

簡単な解説はコメントアウトにしておきますので参考にしてください!

Sub Sample()

  Dim i As Long
  Dim row As Long
  Dim start As Long  '【(】の位置
  Dim goal As Long  ' 【)】の位置
  
  row = Cells(Rows.Count, 1).End(xlUp).row
 
 For i = 1 To row

  '①:カッコと閉じカッコがある文字の位置をInStr関数で取得
  start = InStr(Cells(i, 1).Text, "(") '【(】の位置を取得
  goal = InStr(Cells(i, 1).Text, ")") '【)】の位置を取得
  '②:カッコがない場合の処理
  If start = 0 Or goal = 0 Then 'かっこがなかった場合は処理をしない
   GoTo Skip
  End If
  
 '③:①で取得した位置の間の文字をMid関数で抜き出す
 Cells(i, 2).Value = Mid(Cells(i, 1).Text, start + 1, goal - start - 1)

Skip: '


Next i

End Sub

フォロー・チャンネル登録お願いします

VBA以外についてのブログはこちら↓

https://yb-log.com/

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です