VBAで項目軸ラベルの範囲を設定したいのですが分からないので教えてください。データ系列は以下で入れられるのですが・・・
Dim R1 as Range
Dim R2 as Range
Dim n as Integer
Range("a1").Select
n=range("h1").value
Set R1 =Range(Cells(1,1),Cells(n,1))
Set R1 =Range(Cells(1,2),Cells(n,2))
Sheets("グラフ").Select
With ActiveChart
.SetSourceData R1
たぶんここに入れるのでは・・・
End With
Set R1 = Nothing
Set R2 = Nothing
No.2ベストアンサー
- 回答日時:
>グラフを書くときにある値(変数)を参照させて(この場合n)
端にしたいので、この方法ではできないみたいなのです
>端にしたいので、とはどういう意味ですか。
項目軸に表示したいと解して下記。
ーー
自分に余程経験がない場合は、できないと、断定しないこと。色々やってみることが必要。
例データ
A1:B5
a43
s23
d34
f56
g21
h11
まず B1:B5 を範囲指定して、グラフを描く。
X軸(項目軸)は1,2,3、・・になっている。
ーー
下記コードを標準モジュールに入れる。
実行する。
結果は、X軸にa,s,d・・・が現れる。
Sub Macro1()
Worksheets("Sheet1").DrawingObjects(1).Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.PlotArea.Select
ActiveChart.SeriesCollection(1).XValues = ActiveSheet.Range("A1:A6")
End Sub
私が苦労したのは
Worksheets("Sheet1").DrawingObjects(1).Activate
の1行。
シート上のグラフの、捉え方は別にもあるかもしれないが。
ーー
質問者のコードには、Setが多いが、どこかの実例が、いまも影響しているのだろうが、この課題などでは必要ない。脱却した方が良い
とおもう。
もちろん書きでもできた。
Sub Macro2()
Dim rng As Range
Set rng = ActiveSheet.Range("A1:A6")
Worksheets("Sheet1").DrawingObjects(1).Activate
ActiveChart.Axes(xlCategory).Select
ActiveChart.PlotArea.Select
ActiveChart.SeriesCollection(1).XValues = rng
End Sub
No.3
- 回答日時:
XVvaluesプロパティはシート参照式以外でも使えます
配列定数や配列などを代入してやれば良いですよ
配列なら
Dim ar(1 to 5) as string, n as integer
for n=1 to 5
ar ( n ) = "s " & n * 10
next
ActiveChart.SeriesCollection(1).XValues = ar
配列定数なら
dim s as String, n as integer
for n=1 to 5
s = s & "S" & n *10 & ","
next
s = left( s, Len(s)-1)
ActiveChart.SeriesCollection(1).XValues = s
といった具合です
# やりたいことを具体的に質問しましょう
No.1
- 回答日時:
Excelなら『マクロの記録』を活用してみましょう
同じグラフを書かせるマクロを記録して片方では『項目ラベルに使用』を何も登録しないで記録、もう片方では設定して記録
こうして記録されたマクロを見比べればどの命令が希望の動作をするのかが分かります
.SeriesCollection(1).XValues = "=Sheet1!R2C4:R26C4"
系列のXValueプロパティを使うようです
この回答への補足
ありがとうございます。
マクロの記録は知っているのですが、
グラフを書くときにある値(変数)を参照させて(この場合n)
端にしたいので、この方法ではできないみたいなのです。
もしかしたら書き方しだいではできるんですかねぇ?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 2つのシートの任意のセルの番号が一致したら、一致した行をコピーする VBA 2 2023/06/19 20:48
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) エクセルVBAで教えて頂きたいのですが? 2 2022/12/31 20:28
- Visual Basic(VBA) 形式を選択して貼り付け 以下のコードで「元」シートと「先」シートのA列に同じ値があったら指定範囲をコ 5 2022/11/11 07:30
- Excel(エクセル) マクロで列を加えたら上手くいかなくなりました。 2 2022/05/23 17:59
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
<EXCELグラフ>データ取得範囲を最下行にしたい
Visual Basic(VBA)
-
VBA(excel)でグラフのデータ範囲の取得
その他(Microsoft Office)
-
横軸ラベルの追加に関するエラー(VBA)
Visual Basic(VBA)
-
-
4
VBA グラフX軸の変更
その他(プログラミング・Web制作)
-
5
エクセルのグラフのデータ系列の順序をVBAで変更する
Excel(エクセル)
-
6
EXCEL VBA----離れたセル範囲の指定
Excel(エクセル)
-
7
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
8
Excelのグラフ作成 『軸ラベルのサイズが変えたい』
Excel(エクセル)
-
9
EXCELでコピーしたグラフのデータ範囲変更について
Excel(エクセル)
-
10
Excel VBAで、グラフを特定のセルに移動させたい。
Visual Basic(VBA)
-
11
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
12
Excelのセルの色指定をVBAから配列を用いて効率的に行う方法はあり
Visual Basic(VBA)
-
13
ExcelのVBAについて(グラフ操作)
Visual Basic(VBA)
-
14
VBAで別モジュールへの変数の受け渡し方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#でbyte配列から画像を表示さ...
-
VBA 変数名に変数を使用したい。
-
構造体配列内の文字列検索のよ...
-
定数配列の書き方
-
VB6でやると構造体の配列になる...
-
Excelのメモリ(配列)の上限は2G...
-
OutOfMemoryExceptionの回避策...
-
Excel2010のinputboxで複数デー...
-
Dir関数で読み取り順を操作でき...
-
pictureboxの名前を変数で設定...
-
Segmentation Fault (メモリ制限?)
-
エクセルでXY座標に並べられた...
-
配列のペースト出力結果の書式...
-
RPG 配列宣言について
-
Excelマクロ:配列データからグ...
-
Variant型配列の文字コード変換
-
DBから取得した値を配列へ代入する
-
配列変数 インデックス番号の...
-
COBOLの基本的な事なので...
-
レコードセットの中身を配列に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
vba フィルター 複数条件 3つ以...
-
Dir関数で読み取り順を操作でき...
-
エクセルでXY座標に並べられた...
-
配列の中の最大値とそのインデ...
-
VB.NETの配列にExcelから読み込...
-
定数配列の書き方
-
Excel2010のinputboxで複数デー...
-
大量の変数を定義するにはどう...
-
構造体配列の特定のメンバーをF...
-
構造体配列内の文字列検索のよ...
-
Redim とEraseの違いは?
-
Segmentation Fault (メモリ制限?)
-
OutOfMemoryExceptionの回避策...
-
VBAでMODE関数をつくる
-
COBOLの基本的な事なので...
-
Excelのメモリ(配列)の上限は2G...
-
コンボボックスのインデックス...
-
VB6のメモリ解放に関して
おすすめ情報