• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル VBA 数値のみの個別抽出方法)

エクセル VBA 数値のみの個別抽出方法

このQ&Aのポイント
  • エクセルのグラフ参照範囲の文字列から、数字のみを抽出する方法を教えて下さい。
  • 条件の判定回数が要素数を上回った場合のエラーを回避するために、要素数の数だけ判定し、エラーにならずに系列を順次繰り上げたいです。
  • 参照範囲の取得のために使用しているコードは、Chartオブジェクトを使用して各系列のFormulaを取得するものです。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

WEB記事に https://oshiete.goo.ne.jp/qa/9263013.htmlがある。 一部修正したが。 Sub test02() Dim i As Long Dim s As String Dim rng As Range: Set rng = ActiveSheet.Range("A30") Dim objChart As Chart Set objChart = ActiveSheet.ChartObjects(1).Chart With objChart.SeriesCollection For i = 1 To .Count MsgBox "系列" & i & "のソースデータ範囲は ⇒" _ & vbCrLf & .Item(i).Formula s = .Item(i).Formula s = Replace(s, "=SERIES(,", "") 's = Right(s, Len(s) - 1) ' 左端の=を削除 s = Left(s, Len(s) - 3) rng.Value = s Set rng = rng.Offset(1, 0) Next i End With Set objChart = Nothing End Sub ーー この結果は Sheet1!$A$1:$C$1,Sheet1!$A$2:$C$2 Sheet1!$A$1:$C$1,Sheet1!$A$3:$C$3 Sheet1!$A$1:$C$1,Sheet1!$A$4:$C$4 だが、 あと何が出したいのか? ーー 参考に 私の例ではデータが、A1:C4で a b c 10 25 40 30 15 60 50 45 80 のグラフを描いたものを対象にすると A30以下に Sheet1!$A$1:$C$1,Sheet1!$A$2:$C$2 Sheet1!$A$1:$C$1,Sheet1!$A$3:$C$3 Sheet1!$A$1:$C$1,Sheet1!$A$4:$C$4 とでる。

jyaramanti
質問者

お礼

Replace関数によって不要な文字を取り除けるのですね。 とても参考になる回答を下さり、ありがとうございました。

関連するQ&A