Board logo

標題: [發問] 讓每次新產生的Shape.name 能以順序命名 [打印本頁]

作者: kerochen    時間: 2014-6-18 21:47     標題: 圖表命名

各位大大 現在是這樣
每當我按一下 產生新圖案的時後,在名稱上 excel 自動命名為 圖表1, 下次再呼叫的時後會自動變成圖表2
能否在呼叫圖表的時後,就定義他的名字呢?
我試過下列程式碼 都不行
=================
Private Sub CommandButton1_Click()
With ActiveSheet.ChartObjects.Add _
        (Left:=100, Width:=375, Top:=75, Height:=225)
    With .Chart
        .ChartType = xlXYScatterLines
        .SetSourceData Source:=Sheets("Sheet1").Range("F6:J7")
        .Parent.Name = "Name of this Chart"
    End With
End With
End Sub
==========================
charts.add
ActiveSheet.Chart.name="test"
===========================
Charts.name="test"
=============
都不行, 請好心人士幫忙解答 謝謝
作者: GBKEE    時間: 2014-6-19 11:12

回復 1# kerochen
  1. Option Explicit
  2. Private Sub CommandButton1_Click()
  3.     Dim i As Integer
  4.     With ActiveSheet
  5.         i = .ChartObjects.Count
  6.         With .ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225).Chart
  7.             .ChartType = xlXYScatterLines
  8.             .SetSourceData Source:=Sheets("Sheet1").Range("F6:J7")
  9.             .Parent.Name = "Name of this Chart " & i + 1
  10.         End With
  11.         MsgBox .ChartObjects(ChartObjects.Count).Name
  12.         .ChartObjects("Name of this Chart " & i + 1).Select
  13.     End With
  14. End Sub
複製代碼

作者: kerochen    時間: 2015-9-28 08:49     標題: 讓每次新產生的Shape.name 能以順序命名

Hi 高手們,疑問如下, 當按下Button時, 會一次讀取這15個欄位並同時產生15個shape, 而我須要分別命名1A、2A....到15A, 而當我清除這15個shape之後, 再次重新產生15個Shape 時, 名稱也是一樣是從1A.、2A.到15A... 請高手指導一下. 謝謝.

Private Sub commandbutton

pos=15
for index 3 to 7
for indexb = 6 to 10
dim second as double
second=val(cells(index + 1, indexb).value)
dim text as string
text=cells(index,indexb).value
call drwa(second,text,pos)
next
next
end sub
Public sub------------
activesheet.shapes.addshape(msoshaperectangle,shape_left,shape_top,sec*5.1,30).select
selection.name="1A"
作者: kerochen    時間: 2015-9-28 08:50

回復 2# GBKEE


   感謝回復!
作者: GBKEE    時間: 2015-9-28 13:42

回復 1# kerochen

Index 是VBA的關鍵字,變數名稱不要用到.  
  1. pos = 15
  2. For Index = 3 To 7  '7-3= 4 + 1  要跑5次
  3.     For indexb = 6 To 10  '10-6= 4 + 1  要跑5次
  4.     ' 5 * 5  要跑25次 迴圈
複製代碼
請附檔看看
作者: 准提部林    時間: 2015-9-28 14:23

回復 3# kerochen


for index 3 to 7 step 2  → 應為〔6列5欄〕,一次讀〔上下〕格 

〔Index Second Text〕皆為VBA內建字碼(屬性.方法.函數.常數),不要設為〔變數〕,以免造成錯誤! 
作者: kerochen    時間: 2015-9-28 14:43

了解, 我待會附檔上來. 謝謝二位大大.




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)