返回列表 上一主題 發帖

高手求救 請問如何用vb取得趨勢線的公式(F8逐步執行是可以,但按F5就沒反應)

高手求救 請問如何用vb取得趨勢線的公式(F8逐步執行是可以,但按F5就沒反應)

wb.zip (17.31 KB)

回復 1# jysun1

試試看是否符合需求:

'畫數據圖取趨勢線計算式
'======================
Sub test()
      Dim sh As Worksheet
      Set sh = ActiveSheet
      
    '刪除己有之圖案、圖表
    '=============================
      For Each ChartObject In sh.Shapes
            ChartObject.Delete
      Next
      
      With sh.ChartObjects.Add(100, 100, 200, 200).Chart
            With .SeriesCollection.NewSeries
                  .Values = sh.Range("C4:C7").Value
                  .ChartType = xlLineMarkers
           
                  With .Trendlines.Add
                        .Type = xlPolynomial
                        .Order = 2
                        .DisplayEquation = True
                        sh.Cells(1, 1) = .DataLabel.Text
                  End With
             End With
            
      End With
      
End Sub

TOP

回復 1# jysun1

'增加時間控制
    Sub test()
      Dim sh As Worksheet
       Dim tt!
           .
           .
                .DisplayEquation = True
               '停頓一點時間
               '==============
               tt = Timer:  Do: DoEvents: Loop While Timer - tt < 0.05
               '==================================
               sh.Cells(1, 1) = .DataLabel.Text
        .
        .
    End Sub

TOP

回復 3# Scott090
感謝您的回覆F8逐步執行是可以,但按F5就沒cell(1,1)還是帶不出公式

TOP

回復 4# jysun1


   
wb.rar (16.31 KB)

TOP

回復 4# jysun1


    上面是我這邊 F5 執行的結果。
再不行,請把下面的 0.05 改為 2 試試看

  '停頓一點時間
  '==============
  tt = Timer:  Do: DoEvents: Loop While Timer - tt < 0.05

TOP

回復 6# Scott090
太太感謝了,試到0.5就跑的出來了:lol

TOP

回復 7# jysun1
不好意思,請問一下 為什麼用 Application.Wait Now + TimeValue("00:00:05") 不行呢?也是停頓一點時間!!

TOP

回復 8# jysun1


    Application.wait  好像是停著等待、除了計時外,甚麼事都沒做。不甚理解。
    Do: DoEvents ; ............Loop,是有釋出控制權的循環。
   
    以下的碼比較不受程式執行的環境的影響:
    Do: sh.Cells(1, 1) = .DataLabel.Text: DoEvents: Loop Until sh.Cells(1, 1) <> ""

請試試看

TOP

回復 9# Scott090
謝謝 :)

TOP

        靜思自在 : 盡多少本份,就得多少本事。
返回列表 上一主題