- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excelvba セルの中のデータの取得)
ExcelVBAでセル内のデータを取得する方法
このQ&Aのポイント
- Excel2010 VBAを使用して、特定のセル内の文字データを取得する方法を教えてください。
- セル内に入っている複数の文字列から、特定の文字から特定の文字までの間の文字を取得したいです。
- セルA1に入力された文字列から、「始まり」と「終わり」の間の文字を取得したいです。取得したい文字は、12345678、56789と56789-784545、FDSDSDです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
a = ActiveSheet.Cells(1, 1) i = InStr(a, "始まり") + 4 ’始まり+改行の次の位置 j = InStr(a, "終わり") '「終」の位置 b = Mid(a, i, j - i) Debug.Print "/" & b & "/"
その他の回答 (1)
- mt2008
- ベストアンサー率52% (885/1701)
回答No.1
ちゃんとやるなら正規表現を使うべきですね。 手抜きならSplit関数で済ます方法もあります。 以下のコードでは、(改行)+「終わり」の文字列を一旦「始まり」+(改行)に置換し、「始まり」+(改行)を区切り文字としてSplit関数で分割。 分割した文字列の2番目を「始まり」と「終わり」で区切られた文字列として返しています。 Function Sample(rTarget As Range) As String Dim sTraget As String Dim sAnser sTarget = Replace(rTarget.Text, vbLf & "終わり", "始まり" & vbLf) sAnser = Split(sTarget, "始まり" & vbLf) Sample = sAnser(1) End Function
お礼
ご教授ありがとうございました。 おかげで解決する事ができました。