返回列表 上一主題 發帖

[發問] 關於動態範圍定義名稱

回復 10# t76725


    我試了一下, 問題點:
1. A1是空格 請補個標題如"data", 再將游標停在data(即A1) 插入=>名稱=>定義 data  =OFFSET(Sheet1!$A$1,,,COUNTA(Sheet1!$A:$A),COUNTA(Sheet1!$1:$1))
2. 您雖是畫XY散佈圖, 可是X與Y坐標軸恰好相反, 雖用我的方法可以一次將多筆資料設入,可是電腦會自動把您的圖倒過來(如下)

TOP

回復 11# infoverdad


    這問題解決了 但是變成說 我按右鍵>來源資料>數據>新增>名稱點選9/1日,X值=Sheet1!$M$2:$M$26 Y值=Sheet1!$A$2:$A$26
    名稱正確但是X值跟Y值跟我要的方好是相反 所以圖形上全部都變掉了 我也試了好多方式都行不通也!
版主說:要有不恥下問 打破砂鍋問到底的精神..我一定要搞懂他!!!!!!!!

TOP

回復 12# t76725


    X值=Sheet1!$M$2:$M$26 Y值=Sheet1!$A$2:$A$26
    如果Y值可以是X值=Sheet1!$A$2:$A$26  Y值=Sheet1!$M$2:$M$26
    那這問題就圓滿了
版主說:要有不恥下問 打破砂鍋問到底的精神..我一定要搞懂他!!!!!!!!

TOP

回復 13# t76725


    我所說的第2個問題點正是如此!

TOP

本帖最後由 infoverdad 於 2011-9-5 18:31 編輯

回復 14# infoverdad

可能須以VBA來解決了!!
可我的功力不夠,只能做到下面的重畫,代碼及檔案附上,看是否有人可以做到只處理新增某欄資料的部份.
Redraw.rar (11.21 KB)
  1. Sub RedrawXYchart()

  2. '編製一個循環分別為每個系列(點)指定數據區域(X,Y坐標)
  3. Dim i As Integer

  4. Dim myRange As Range
  5. Set myRange = Sheet1.UsedRange
  6. myRange.Select

  7. Charts.Add
  8. ActiveChart.ChartType = xlXYScatterSmooth
  9. ActiveChart.SetSourceData Source:=myRange, PlotBy:=xlColumns

  10. For i = 1 To Sheet1.UsedRange.Columns.Count - 1

  11. ActiveChart.SeriesCollection(i).Name = "=Sheet1!R1C" & i + 1
  12. ActiveChart.SeriesCollection(i).XValues = "=Sheet1!R2C" & i + 1 & ":R26C" & i + 1
  13. ActiveChart.SeriesCollection(i).Values = "=Sheet1!R2C1:R26C1"

  14. Next
  15.     ActiveChart.ChartArea.Select
  16.     ActiveChart.HasLegend = True
  17.     ActiveChart.Legend.Select
  18.     Selection.Position = xlBottom

  19. End Sub
複製代碼

TOP

哇! 謝謝妳infoverdad  
今天又研究了一下 我發覺說
這樣好像不太能符合公司的需求
我倒是覺得VBA 比較可以解決這一切
對你的這程式碼 很有興趣
不曉得如果只是很單純的我第一頁PO的那些圖片
VBA是否可以輕而一舉得把它寫出來?
版主說:要有不恥下問 打破砂鍋問到底的精神..我一定要搞懂他!!!!!!!!

TOP

回復 16# t76725


    您可以自行測試吧 只要邏輯是類似的話

TOP

        靜思自在 : 人生最大的成就是從失敗中站起來。
返回列表 上一主題