質問するログイン新規登録

質問編集履歴

7

追記

2015/10/30 03:43

投稿

cat_junko
cat_junko

スコア44

title CHANGED
File without changes
body CHANGED
@@ -54,6 +54,7 @@
54
54
  ⚫1→「10月度計測」と言うファイルがあり全シート11枚(1ヶ月分1ファイル)(各シートグラフ1つ、11シート以外にデータシートが4シート)
55
55
  ⚫2→「10月度a地点計測」と言うファイルがありその中にシートが「1」~「8」まであります。そのファイルを1セットにして16ファイルあります。
56
56
  (1ヶ月分16ファイル)(各シートグラフ2つ、8シート以外にデータシートが4シート)
57
+ ◎3→1シートに、3つと2つの混合(「3,3、2」×8)
57
58
 
58
59
  全ファイルを、一括と言うのは何かあってら大変なので1ファイルずつ全シート一括変更がせめて出来たらと思っています。
59
60
 

6

一部修正

2015/10/30 03:42

投稿

cat_junko
cat_junko

スコア44

title CHANGED
File without changes
body CHANGED
@@ -43,7 +43,7 @@
43
43
  If str2 = "" Then Exit Sub
44
44
 
45
45
  With ActiveChart
46
- For I = 1 To 11
46
+ For i = 1 To .SeriesCollection.Count
47
47
  .SeriesCollection.Item(I).Formula = Replace(.SeriesCollection.Item(I).Formula, "$" & str1, "$" & str2)
48
48
  Next I
49
49
  End With

5

追加

2015/10/30 03:40

投稿

cat_junko
cat_junko

スコア44

title CHANGED
File without changes
body CHANGED
@@ -6,26 +6,54 @@
6
6
  これは、全11シートしかないのですがもう一つ「1ファイル8シート」が16ファイル
7
7
  あるので短時間で変更したいのです。
8
8
  ---------------------------------------------------------------
9
- Sub graph_change()
9
+ Sub WorksheetLoop()
10
10
 
11
- Dim str1 As String, str2 As String, i As Integer
11
+ Dim WS_Count As Integer
12
+ Dim I As Integer
12
13
 
13
- str1 = InputBox("変更前の値を入力してください")
14
+ ' Set WS_Count equal to the number of worksheets in the active
15
+ ' workbook.
14
- If str1 = "" Then Exit Sub
16
+ WS_Count = ActiveWorkbook.Worksheets.Count
15
- str2 = InputBox("変更後の値を入力してください")
16
- If str2 = "" Then Exit Sub
17
17
 
18
+ ' Begin the loop.
19
+ For I = 1 To WS_Count
20
+
21
+ ' Insert your code here.
22
+ ' The following line shows how to reference a sheet within
23
+ ' the loop by displaying the worksheet name in a dialog box.
24
+ MsgBox ActiveWorkbook.Worksheets(I).Name
25
+ ChartObjects_Select
26
+ graph_change
27
+
28
+
29
+ Next I
30
+
31
+ End Sub
32
+ Sub ChartObjects_Select()
33
+
34
+ ActiveSheet.ChartObjects("グラフ 60").Activate 'グラフの選択
35
+ __↑ここのグラフ選択はマクロの記録でやってしまっているため”グラフ60”となっています。ここも、変更しないと他に対応が出来ません。__
36
+ End Sub
37
+ Sub graph_change()
38
+ Dim str1 As String, str2 As String, I As Integer
39
+
40
+ str1 = InputBox("変更前の値を入力してください")
41
+ If str1 = "" Then Exit Sub
42
+ str2 = InputBox("変更後の値を入力してください")
43
+ If str2 = "" Then Exit Sub
44
+
18
- With ActiveChart
45
+ With ActiveChart
19
- For i = 1 To .SeriesCollection.Count
46
+ For I = 1 To 11
20
- .SeriesCollection.Item(i).Formula = Replace(.SeriesCollection.Item(i).Formula, "$" & str1, "$" & str2)
47
+ .SeriesCollection.Item(I).Formula = Replace(.SeriesCollection.Item(I).Formula, "$" & str1, "$" & str2)
21
- Next i
48
+ Next I
22
- End With
49
+ End With
23
- End Sub
50
+ End Sub
51
+
24
52
  ---------------------------------------------------------------
25
53
  追加情報
26
- ⚫1→「10月度計測」と言うファイルがあり全シート11枚(1ヶ月分1ファイル)
54
+ ⚫1→「10月度計測」と言うファイルがあり全シート11枚(1ヶ月分1ファイル)(各シートグラフ1つ、11シート以外にデータシートが4シート)
27
55
  ⚫2→「10月度a地点計測」と言うファイルがありその中にシートが「1」~「8」まであります。そのファイルを1セットにして16ファイルあります。
28
- (1ヶ月分16ファイル)
56
+ (1ヶ月分16ファイル)(各シートグラフ2つ、8シート以外にデータシートが4シート)
29
57
 
30
58
  全ファイルを、一括と言うのは何かあってら大変なので1ファイルずつ全シート一括変更がせめて出来たらと思っています。
31
59
 

4

2015/10/29 22:40

投稿

cat_junko
cat_junko

スコア44

title CHANGED
File without changes
body CHANGED
@@ -30,4 +30,6 @@
30
30
  全ファイルを、一括と言うのは何かあってら大変なので1ファイルずつ全シート一括変更がせめて出来たらと思っています。
31
31
 
32
32
  グラフの変更範囲は、1の全シートについて同じ。2の全ファイルの全シートについて同じ。
33
- なので、1回指定したらシート毎に聞かれる事なく動いてくれるのが望ましいです。
33
+ なので、1回指定したらシート毎に聞かれる事なく動いてくれるのが望ましいです。
34
+
35
+ グラフは、今書かれてる位置のままで状況によって3~4日増えるのでそれを、なんとか自動化できないものかと思ってます。

3

2015/10/27 10:05

投稿

cat_junko
cat_junko

スコア44

title CHANGED
File without changes
body CHANGED
@@ -21,4 +21,13 @@
21
21
  Next i
22
22
  End With
23
23
  End Sub
24
- ---------------------------------------------------------------
24
+ ---------------------------------------------------------------
25
+ 追加情報
26
+ ⚫1→「10月度計測」と言うファイルがあり全シート11枚(1ヶ月分1ファイル)
27
+ ⚫2→「10月度a地点計測」と言うファイルがありその中にシートが「1」~「8」まであります。そのファイルを1セットにして16ファイルあります。
28
+ (1ヶ月分16ファイル)
29
+
30
+ 全ファイルを、一括と言うのは何かあってら大変なので1ファイルずつ全シート一括変更がせめて出来たらと思っています。
31
+
32
+ グラフの変更範囲は、1の全シートについて同じ。2の全ファイルの全シートについて同じ。
33
+ なので、1回指定したらシート毎に聞かれる事なく動いてくれるのが望ましいです。

2

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

2015/10/27 10:03

投稿

cat_junko
cat_junko

スコア44

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

1

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

2015/10/24 13:31

投稿

cat_junko
cat_junko

スコア44

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  毎月作成するグラフがあるのですが既にグラフは作成済なのですが月によって日数が増えます。
2
2
 
3
- 9/1 9/2 9/3 9/4 9/5 ・・・・・・・
3
+ 9/1 9/2 9/3 9/4 9/5 ・・・・・・・
4
4
 
5
5
 
6
6