| 
    
     |  | たびたびすみません;; 前回データラベルの取得方法について質問させていただいた超初心者です。
 (環境はExcel2000です。)
 コード表記についてまたまた質問させてください。
 
 
 アクティブなシートの、特定のグラフの全てのデータラベルの値を取得し、
 ラインフィードで分割して値を取得する下記のコードを書いています。
 
 Sub 作成中()
 
 Dim co As ChartObject
 Dim pp As Point
 Dim DT As Variant
 Dim bunrui As String 'ラベルの値を格納
 Dim suuchi As String 'パーセントの値を格納
 
 Set co = ActiveSheet.ChartObjects("グラフ 8") '任意のグラフを指定
 co.Activate
 For Each pp In co.Chart.SeriesCollection(1).Points
 DT = Split(pp.DataLabel.Caption, vbLf) '改行でラベルの文字列を分割
 bunrui = DT(0)
 suuchi = DT(1)
 
 Range("A265").Select '抽出した文字列を表示するセルの場所を指定
 
 If bunrui <> "" Then
 Do
 ActiveCell.FormulaR1C1 = bunrui
 ActiveCell.Offset(1, 0).Select
 ActiveCell.FormulaR1C1 = suuchi
 ActiveCell.Offset(-1, 1).Select
 Loop Until bunrui <> ""
 End If
 Next
 
 End Sub
 
 やりたいこととしては、取得した値を
 
 (例)
 A        B        C
 1    4月        5月        6月
 2    10%        15%        5%
 
 …のように、全てを表示させたいのです。
 
 
 上記コードでは「ActiveCell.Offset(-1, 1).Select」で右上のセルに移動し、
 If〜ThenとDo〜Loop処理で取得した値を順順に表示させようと思いましたが、
 何か勘違いをしているのか、うまくいきません(>_<)。
 上記のコードですと、最後のデータラベルの値のみ、
 A1、A2に表示して最後にB1にセルを選択。。。で処理が終わってしまいます。
 例えば、(例)でラベル「6月」が最後のデータラベルだとすると、A1に「6月」、A2に「5%」と表示され処理が終了します。
 
 なんだか当たり前のことを間違えているような気がして大変お恥ずかしい限りですが、
 なにとぞご教授お願いいたします。
 
 何か説明不足の場合はご指摘願います。
 
 
 |  |