看板 Visual_Basic 關於我們 聯絡資訊
請問大家 我用VBA來畫一個直條圖 我的直條圖 X 軸為日期,Y 軸為次數 每一天我的資料來源會有變動 我就會執行一次重新畫圖的動作 我的程式碼如下: Dim i as Integer, j as Integer, EQR as Range, CountR as Range '設定 i 值 i = WorksheetFunction.CountA(Columns("A:A")) '設定 j 值 If EQ1 = "PA1" Then j = 2 ElseIf EQ1 = "PA2" Then j = 3 ElseIf EQ1 = "PA3" Then j = 4 . . . ElseIf EQ1 = "PA15" Then j = 16 '設定日期為直條圖的 X 軸 Set EQR = Sheets("機台").Range(Cells(2, 1), Cells(i + 1, 1)) '設定次數為直條圖的 Y 軸 Set CountR = Sheets("機台").Range(Cells(2, j), Cells(i + 1, j)) '畫圖 ActiveSheet.ChartObjects("圖表 1").Activate ActiveChart.ChartArea.Select ActiveChart.SetSourceData Source:=Sheets("機台").Range(EQR, CountR)_ , PlotBy:=xlColumns With ActiveChart .HasTitle = True .ChartTitle.Characters.Text = EQ1 End With ****************************************************************************** 我遇到的問題是 假設現在 i = 4 , j =4 那 EQR 的範圍是 Range("A2:A5") CountR 的範圍是 Range("D2:D5") 可是畫圖時,圖呈現出來的的範圍變成 Range("A2:D5") A B C D 1 2 3 4 5 也就是我只要 A3:A5 以及 D3:D5 兩行資料來畫圖 但是執行程式碼後的圖卻畫成 A3:D5 的情況 中間的B1 , B2 , ... , C1 , C2 , ...我不要的也畫出來 請問我的程式碼是否哪裡有問題呢? 可以請大家幫我解惑一下嗎? 感謝大家的回答 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.85.159
foreverkn:我想應該是我在畫圖的時候Range設的不好 04/26 14:32
foreverkn:真的沒有人可以回答我的問題嗎? 04/26 14:33