[[20151005143921]] 『このマクロの修正の仕方』(正) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『このマクロの修正の仕方』(正)

いつもお世話になります。
以前に教えていただいたマクロ(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

それぞれ1行ずつ修正です

 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.