質問編集履歴

7

追記

2015/10/30 03:43

投稿

cat_junko
cat_junko

スコア44

test CHANGED
File without changes
test CHANGED
@@ -110,6 +110,8 @@
110
110
 
111
111
  (1ヶ月分16ファイル)(各シートグラフ2つ、8シート以外にデータシートが4シート)
112
112
 
113
+ ◎3→1シートに、3つと2つの混合(「3,3、2」×8)
114
+
113
115
 
114
116
 
115
117
  全ファイルを、一括と言うのは何かあってら大変なので1ファイルずつ全シート一括変更がせめて出来たらと思っています。

6

一部修正

2015/10/30 03:42

投稿

cat_junko
cat_junko

スコア44

test CHANGED
File without changes
test CHANGED
@@ -88,7 +88,7 @@
88
88
 
89
89
  With ActiveChart
90
90
 
91
- For I = 1 To 11
91
+ For i = 1 To .SeriesCollection.Count
92
92
 
93
93
  .SeriesCollection.Item(I).Formula = Replace(.SeriesCollection.Item(I).Formula, "$" & str1, "$" & str2)
94
94
 

5

追加

2015/10/30 03:40

投稿

cat_junko
cat_junko

スコア44

test CHANGED
File without changes
test CHANGED
@@ -14,45 +14,101 @@
14
14
 
15
15
  ---------------------------------------------------------------
16
16
 
17
- Sub graph_change()
17
+ Sub WorksheetLoop()
18
18
 
19
19
 
20
20
 
21
- Dim str1 As String, str2 As String, i As Integer
21
+ Dim WS_Count As Integer
22
+
23
+ Dim I As Integer
22
24
 
23
25
 
24
26
 
25
- str1 = InputBox("変更前の値を入力してください")
27
+ ' Set WS_Count equal to the number of worksheets in the active
26
28
 
27
- If str1 = "" Then Exit Sub
29
+ ' workbook.
28
30
 
29
- str2 = InputBox("変更後の値を入力してください")
30
-
31
- If str2 = "" Then Exit Sub
31
+ WS_Count = ActiveWorkbook.Worksheets.Count
32
32
 
33
33
 
34
34
 
35
- With ActiveChart
35
+ ' Begin the loop.
36
36
 
37
- For i = 1 To .SeriesCollection.Count
37
+ For I = 1 To WS_Count
38
38
 
39
- .SeriesCollection.Item(i).Formula = Replace(.SeriesCollection.Item(i).Formula, "$" & str1, "$" & str2)
40
39
 
41
- Next i
42
40
 
43
- End With
41
+ ' Insert your code here.
44
42
 
43
+ ' The following line shows how to reference a sheet within
44
+
45
+ ' the loop by displaying the worksheet name in a dialog box.
46
+
47
+ MsgBox ActiveWorkbook.Worksheets(I).Name
48
+
49
+ ChartObjects_Select
50
+
51
+ graph_change
52
+
53
+
54
+
55
+
56
+
57
+ Next I
58
+
59
+
60
+
45
- End Sub
61
+ End Sub
62
+
63
+ Sub ChartObjects_Select()
64
+
65
+
66
+
67
+ ActiveSheet.ChartObjects("グラフ 60").Activate 'グラフの選択
68
+
69
+ __↑ここのグラフ選択はマクロの記録でやってしまっているため”グラフ60”となっています。ここも、変更しないと他に対応が出来ません。__
70
+
71
+ End Sub
72
+
73
+ Sub graph_change()
74
+
75
+ Dim str1 As String, str2 As String, I As Integer
76
+
77
+
78
+
79
+ str1 = InputBox("変更前の値を入力してください")
80
+
81
+ If str1 = "" Then Exit Sub
82
+
83
+ str2 = InputBox("変更後の値を入力してください")
84
+
85
+ If str2 = "" Then Exit Sub
86
+
87
+
88
+
89
+ With ActiveChart
90
+
91
+ For I = 1 To 11
92
+
93
+ .SeriesCollection.Item(I).Formula = Replace(.SeriesCollection.Item(I).Formula, "$" & str1, "$" & str2)
94
+
95
+ Next I
96
+
97
+ End With
98
+
99
+ End Sub
100
+
101
+
46
102
 
47
103
  ---------------------------------------------------------------
48
104
 
49
105
  追加情報
50
106
 
51
- ⚫1→「10月度計測」と言うファイルがあり全シート11枚(1ヶ月分1ファイル)
107
+ ⚫1→「10月度計測」と言うファイルがあり全シート11枚(1ヶ月分1ファイル)(各シートグラフ1つ、11シート以外にデータシートが4シート)
52
108
 
53
109
  ⚫2→「10月度a地点計測」と言うファイルがありその中にシートが「1」~「8」まであります。そのファイルを1セットにして16ファイルあります。
54
110
 
55
- (1ヶ月分16ファイル)
111
+ (1ヶ月分16ファイル)(各シートグラフ2つ、8シート以外にデータシートが4シート)
56
112
 
57
113
 
58
114
 

4

2015/10/29 22:40

投稿

cat_junko
cat_junko

スコア44

test CHANGED
File without changes
test CHANGED
@@ -63,3 +63,7 @@
63
63
  グラフの変更範囲は、1の全シートについて同じ。2の全ファイルの全シートについて同じ。
64
64
 
65
65
  なので、1回指定したらシート毎に聞かれる事なく動いてくれるのが望ましいです。
66
+
67
+
68
+
69
+ グラフは、今書かれてる位置のままで状況によって3~4日増えるのでそれを、なんとか自動化できないものかと思ってます。

3

2015/10/27 10:05

投稿

cat_junko
cat_junko

スコア44

test CHANGED
File without changes
test CHANGED
@@ -45,3 +45,21 @@
45
45
  End Sub
46
46
 
47
47
  ---------------------------------------------------------------
48
+
49
+ 追加情報
50
+
51
+ ⚫1→「10月度計測」と言うファイルがあり全シート11枚(1ヶ月分1ファイル)
52
+
53
+ ⚫2→「10月度a地点計測」と言うファイルがありその中にシートが「1」~「8」まであります。そのファイルを1セットにして16ファイルあります。
54
+
55
+ (1ヶ月分16ファイル)
56
+
57
+
58
+
59
+ 全ファイルを、一括と言うのは何かあってら大変なので1ファイルずつ全シート一括変更がせめて出来たらと思っています。
60
+
61
+
62
+
63
+ グラフの変更範囲は、1の全シートについて同じ。2の全ファイルの全シートについて同じ。
64
+
65
+ なので、1回指定したらシート毎に聞かれる事なく動いてくれるのが望ましいです。

2

グラフ範囲変更については解決。

2015/10/27 10:03

投稿

cat_junko
cat_junko

スコア44

test CHANGED
@@ -1 +1 @@
1
- エクセル VBAで、グラフ範囲自動変更について
1
+ 全シート対して連続実行する方法について
test CHANGED
@@ -1,55 +1,47 @@
1
- 毎月作成するグラフがあるのですが既にグラフは作成済なのですが月によって日数が増えます
1
+ 追加したいこと
2
2
 
3
3
 
4
4
 
5
- 9/1 9/2 9/3 9/4 9/5 ・・・・・・・
5
+ 1、グラフ選択機能(グラフの名前がそれぞれ違うのでそれ をどう解決すれば良いのか…)
6
6
 
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
- ・(11まで続きます)
7
+ 2、次シートへの自動移動
18
-
19
- このような並びになっていて「月日」と「1」でワンセットのグラフで全11シートあります。
20
8
 
21
9
 
22
10
 
23
- 毎回ちまちま範囲変更のでがこの際マクロでやろと思ったのです縦に増える場合は出来るのですが横に増えた場合のマクロの指定が分かりません。
11
+ これは全11シートかないので一つ「1ファイル8シート」16ファイル
24
12
 
25
- ご教示願す。
13
+ あるので短時間で変更したのです。
26
14
 
15
+ ---------------------------------------------------------------
16
+
27
- 宜しくお願いいたします。
17
+ Sub graph_change()
28
18
 
29
19
 
30
20
 
31
- Sub Sample()
21
+ Dim str1 As String, str2 As String, i As Integer
32
22
 
33
- Dim LastCell As Range, i As Long
34
23
 
35
- Set LastCell = Cells(Rows.Count, 1).End(xlUp)
36
24
 
37
- With ActiveSheet.ChartObjects(1).Chart
25
+ str1 = InputBox("変更前の値を入力してください")
38
26
 
39
- For i = 1 To .SeriesCollection.Count
27
+ If str1 = "" Then Exit Sub
40
28
 
41
- .SeriesCollection(i).Formula = _
29
+ str2 = InputBox("変更後の値を入力してください")
42
30
 
43
- "=SERIES(" & Cells(1, i + 1).Address(External:=True) & "," & _
31
+ If str2 = "" Then Exit Sub
44
32
 
45
- Range(Cells(2, 1), LastCell.Offset(0, 0)).Address(External:=True) & "," & _
46
33
 
47
- Range(Cells(2, i + 1), LastCell.Offset(0, i)).Address(External:=True) & "," & _
48
34
 
49
- i & ")"
35
+ With ActiveChart
50
36
 
51
- Next i
37
+ For i = 1 To .SeriesCollection.Count
52
38
 
53
- End With
39
+ .SeriesCollection.Item(i).Formula = Replace(.SeriesCollection.Item(i).Formula, "$" & str1, "$" & str2)
54
40
 
41
+ Next i
42
+
43
+ End With
44
+
55
- End Sub
45
+ End Sub
46
+
47
+ ---------------------------------------------------------------

1

表を、分かりやすくしました。

2015/10/24 13:31

投稿

cat_junko
cat_junko

スコア44

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 9/1 9/2 9/3 9/4 9/5 ・・・・・・・
5
+ 9/1 9/2 9/3 9/4 9/5 ・・・・・・・
6
6
 
7
7
 
8
8