返回列表 上一主題 發帖

請各位大大幫忙修改建立崁入圖表錯誤語法

請各位大大幫忙修改建立崁入圖表錯誤語法

請各位大大幫忙   我想在Worksheets(wr)工作表中繪製圖表(建立崁入圖表)請問正確語法為何

如果下列變數定義如下數值
WR=4
z_sr =120
lRow= 150
chart_sr     =156
chart_end=166
'設定要崁入圖表的位置
Dim GR As Range
   Set GR = Worksheets(wr).Range("A" & chart_sr & " :I" & chart_end)'
    With Worksheets(wr).ChartObjects.Add(GR.Left, GR.Top, GR.Width, GR.Height)
'設定工作表名稱+"值"為圖表名稱
               Worksheets(wr).ChartObjects.name= Worksheets(wr).name&"值"
' 設定資料範圍為儲存格   Worksheets(wr).   RANRE ("A" & z_sr & " :C" & xlRow)
         Worksheets(wr).ChartObjects.SetSourceData.RANRE ("A" & z_sr & " :C" & xlRow)
請問設定圖表名稱.和設定圖表的資料範圍正確的語法為何?

c_c_lai   大大謝謝幫忙 這程式對我來說還太難了.我只想用直線圖,在每一工作表最後儲存格Worksheets(wr).Range("A" & chart_sr & " :I" & chart_end)的範圍加入圖表,資料來源為同表格的
Worksheets(wr).   RANRE ("A" & z_sr & " :C" & xlRow),因為有10個工作表都要加入且每一個工作表最後空儲存格不一定所以列數用變數方式,工作表Worksheets(wr).   wr也是變數.因為我想用迴圈方式讓所有工作表一次完成,
ps  RANRE -> .RANGE 感謝提醒,確實粗心了

TOP

c_c_lai   大大回讀你的帖了看了GBKEE前輩的回覆其中下列的程式
03.    With ActiveSheet.ChartObjects(oShape.Name).Chart
改以用下列
With WORKSHEETS(WR).ChartObjects(1).Chart
就可以執行程式原來是物件的語法錯誤
08.    End With
感謝 兩位大哥的協助

TOP

c_c_lai 大哥請問水平軸類別目前是在繪圖區內顯示我想跟你一樣顯示在繪圖區外下方如同你上方圖表的時間顯示一樣,因我的圖表資料數列有+值也有-值 因此我的目前是顯示在中間0的下方請問語法要如何表達.才能跟一樣顯示在繪圖區外下方謝謝指導

TOP

回復 7# c_c_lai
c-c-lai 大哥我上傳了檔案,但我不會把檔名貼到帖子內,不知你是否可從附件叫出,

實驗室能力分析測試工作 (修改中2).rar (191.59 KB)

TOP

回復 10# c_c_lai

c_c_lai大哥:你太強了謝謝你,這兩天一定要好好研究你的程式,如有不懂的地方還請大哥多多指導,首先. 要請教大哥如何設定程式前面序號

TOP

回復 10# c_c_lai
c_c_lai大哥你實在太強了我發了好長的時間都劃不好,你竟然一下子能把它劃出來,這兩天不要出去瘋子一定要好好留在家,研究你的程式,因為有好多都看不懂,到時還請你多多指導
另外要請問你序列號留在程式中就不能執行,必須一行一行刪除才能執行,你的是不是也一樣,如果是這樣就不要序列號是不是比較好?

TOP

本帖最後由 lamihsuen 於 2012-7-21 12:28 編輯

實驗室能力分析測試工作 (修改中3.1).rar (188.19 KB) 回復 18# c_c_lai

c_c_lai大哥   我已經了解你的意思了.圖表區範圍會隨資料數列數而改變大小,我把程式作了一些改變再請大哥幫我看看,以下的問題
1,請大哥幫我注意水平軸類別是以"a"欄列數的值為依據,但現在是以數字為排列,例如"c"工作表的"a"欄列數的值(實驗室編號)是没有 3  的但圖表水平軸資料是有3
2 如果圖表的資料來源要改為執行最後一次outline的表格範圍時,以"c"工作表為例是"a"108到"a"152 跟"c"108 到"c"152 程式要如何改變,執行最後一次outline的表格列數我是以angin_sr作為起始值變數
    以"c"工作表為例angin_sr=109
   感謝大哥詳細解釋讓我受益良多,有你我不用怕會有白頭髮了

TOP

本帖最後由 lamihsuen 於 2012-7-21 20:24 編輯

回復 18# c_c_lai


c_c_lai 大哥, 我要使用倒數第二個區間,
以"c"來說是109-152, 以"ni"是49-84, 而"mo"是91-125
另外7/20日新增的列是要取代下列程式因此下列程式我已經刪除了
19.            ' 本次 "C" 欄 Z-SCORE 值計算

20.            ' .Range("C" & z_sr & " :C" & xlRow).Formula = "=(b" & z_sr & "-$B$" & z_sr - 3 & ") /$C$" & z_sr - 3

21.            ' .Range("D" & z_sr & " :D" & xlRow).Formula = "=IF(C" & z_sr & ">=3,""異常"",IF( C" & z_sr & "<=2,""ok"",""有質疑""))"


另外我想加入水平軸標題與垂直軸標題 加入下列語法(水平軸標題"實驗室編號")垂直軸標題"z_score"


        With .Axes(xlCategory)                                  ' X座標軸

             .CategoryType = xlCategoryScale

             ' .TickLabels.NumberFormatLocal = "hh:mm"

            .MajorTickMark = xlNone

            .Border.Weight = xlHairline

             .Border.LineStyle = xlNone

             .TickLabelPosition = xlLow

             .TickLabels.Font.Size = 10
              .HasTitle = True                       **********  '這是我加入的  *********
              AxisTitle.Text = "實驗室編號"
            
         End With
這樣可以嗎?

TOP

回復 30# c_c_lai
c_c_lai 大哥  對不起還没完成最終目標,可以看看再現在傳給你檔案是我要用vba語法完成的最終目標整個過程如下敍述
  1 先初始分析結果表  
   2  再執行outline判別  , 如果合格就記錄"ok"不合格就記錄"ng"  
   3  如果有"ng"值去除"ng"該列,  把"ok"列copy 到下一次表格區間再執行outline判別,(因為列數(家數)減少,判別值會改變)
  4  一直到全部都"ok"時這個表格區間是我圖表資料的來源5 最後再增加一表格區間(稱為執行z_score)把全部列數(家數)copy 到最後表格區間 (執行z_score)作z_score判別
5 再完成報告書
    11C1.rar (47.98 KB)

TOP

        靜思自在 : 真正的愛心,是照顧好自己的這顆心。
返回列表 上一主題