[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『このマクロの修正の仕方』(正)
いつもお世話になります。
以前に教えていただいたマクロ(20141024115500)ですが、少し修正したいのですが、
マクロが全く分かりませんので、よろしくお願いします。
[[20141024115500]]
Sub 下方向に()
Dim cht As Chart Dim i As Long Dim s As String Dim xRng As Range
Private Sub CommandButton1_Click() If 2 < iP Then iP = iP - 1 Else iP = 2 End If
Set cht = ActiveSheet.ChartObjects("株価").Chart
With cht.SeriesCollection For i = 1 To .Count With .Item(i) If i = 1 Then s = Split(.Formula, ",")(1) Set xRng = Range(s) If xRng(xRng.Count).Row = xRng.End(xlDown).Row Then Exit Sub End If .XValues = xRng.Offset(1) .Values = xRng.Offset(1, i) End With Next End With Application.ScreenUpdating = False Application.Goto xRng(xRng.Count).Offset(1, -1), True ActiveWindow.LargeScroll up:=1 cht.Parent.Select Application.ScreenUpdating = True
End Sub
Sub 上方向に() Dim cht As Chart Dim i As Long Dim s As String Dim xRng As Range Const データ開始行 = 27
Private Sub CommandButton2_Click() Dim iMax As Long
iMax = Cells(Rows.Count, "A").End(xlUp).Row
If iP < iMax - RMAX + 1 Then iP = iP + 1 Else iP = iMax - RMAX + 1 End If
Set cht = ActiveSheet.ChartObjects("株価").Chart
With cht.SeriesCollection For i = 1 To .Count With .Item(i) If i = 1 Then s = Split(.Formula, ",")(1) Set xRng = Range(s) If xRng(1).Row = データ開始行 Then Exit Sub End If .XValues = xRng.Offset(-1) .Values = xRng.Offset(-1, i) End With Next End With Application.ScreenUpdating = False Application.Goto xRng(xRng.Count).Offset(-1, -1), True ActiveWindow.LargeScroll up:=1 cht.Parent.Select Application.ScreenUpdating = True
End Sub
'// 最初にグラフの日数を (B27:F40) 範囲指定してローソク足のグラフを作図します (実務的には2000行ほどのデータ数でローソク足に移動平均をつけています。 そして半年ぐらいの日数の範囲をずらしてグラフを見ていきます。) この状態でグラフを選択するとB27からF40の範囲がブルーの線で囲まれまています グラフ名 グラフ1を株価 に変更します
現在のマクロではCommandButton1またはCommandButton2をクリックしていくと、 表示されているグラフの範囲に対して、データの範囲が一行隠れているのです。 表示されているグラフの最後の日付と、データの表示している日付が同じになるようにするには、 どのように変更すればよろしいでしょうか。
26行目に項目名を入れて、データは27行目からです 27行目で先頭行の固定をしています。
CommandButton1をクリックするたびにデータが1行づつ上に上がり、 CommandButton2をクリックするたびにデータが1行づつ元に戻ります。 '//
三菱UFJ 8306 日付 Open High Low Close 8306 2001/6/25 1060 1070 1030 1040 8306 2001/6/26 1020 1030 1010 1020 8306 2001/6/27 1020 1070 1010 1060 8306 2001/6/28 1080 1080 1020 1020 8306 2001/6/29 1040 1050 1020 1040 8306 2001/7/2 1030 1040 1000 1040 8306 2001/7/3 1050 1060 1030 1040 8306 2001/7/4 1040 1040 1020 1030 8306 2001/7/5 1020 1030 1010 1030 8306 2001/7/6 1010 1020 998 1000 8306 2001/7/9 993 1010 987 1010 8306 2001/7/10 1000 1040 991 1040 8306 2001/7/11 1010 1020 1000 1010 8306 2001/7/12 1020 1050 1000 1050 8306 2001/7/13 1040 1050 1010 1030 8306 2001/7/16 1030 1030 1010 1020 8306 2001/7/17 1010 1020 999 1000 8306 2001/7/18 999 1000 972 973 8306 2001/7/19 973 984 961 967 8306 2001/7/23 965 965 886 889 8306 2001/7/24 909 923 895 917 8306 2001/7/25 910 982 910 941 8306 2001/7/26 951 970 940 970 8306 2001/7/27 980 983 952 954
< 使用 Excel:Excel2010、使用 OS:Windows7 >
>2014/10/25(土) 03:53 >マクロを勉強してやってみますので、もし解らないときはよろしくお願いします。
リンク先でもマクロは全然わからない、と連呼されてますが、少しは理解するように 努めましたか? (カエムワセト) 2015/10/05(月) 15:34
Application.Goto xRng(xRng.Count).Offset(1, -1), True ↓ Application.Goto xRng(xRng.Count).Offset(2, -1), True
Application.Goto xRng(xRng.Count).Offset(-1, -1), True ↓ Application.Goto xRng(xRng.Count).Offset(0, -1), True
(マナ) 2015/10/05(月) 20:05
ありがとうございます。
やっぱり(マナ)さんが教えて下さいました。
昨年は長々といろいろ教えていただきありがとうございました。
その後自分なりにあちこち変更してみましたがうまくいかず、ついに教えていただきたくお願いしました。
思い通りに直りました。
今後ともよろしくお願いします。
(正)
(正) 2015/10/05(月) 21:04
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.