2014-02-28 22 views
0

我想更改Excel中的圖表工作表中的替代文本。如何在沒有選擇Excel圖表的工作表中更改替代文本

當我錄製宏時,這是錄製的代碼。

Sheets("Chart1").select 
ActiveChart.ChartArea.Select 
ActiveSheet.Shapes("Chart 1").AlternativeText = "asdasd" 

我想在不執行.select方法的情況下執行此操作。 這將允許我編輯未隱藏而隱藏的圖表。

這是我如何做同樣的工作表中的圖表

Set sht_Sheet = Application.ActiveWorkbook.Sheets(i_SheetCount) 
For Each shp_Shape In sht_Sheet.Shapes 
s_TitleText = shp_Shape.AlternativeText 
next 

注意我在這裏編輯圖表工作表,而不是在工作表中的圖表

回答

0

看起來像兩個工作表和圖表被命名爲Chart1?如果是這樣,應該這樣做:。

表( 「Chart1」)形狀( 「Chart1」)AlternativeText = 「asdasd」

+0

當然,但我不想通過他們的名字來指代形狀(如圖1),因爲這會經常變化,可能是任何事情。 –

+0

那麼您希望在那之後提及他們?他們通常在一個集合中。只要您不添加或刪除它們,或者說明這些活動,就可以使用該索引。 – Reganator

+0

當然 - 他們肯定是在一個集合。他們收藏了什麼?這就是我遇到的問題,讓我看看循環,它可以循環查看圖表上的所有對象,而無需直接引用它們。喜歡的東西: 對於每個MySheet的工作在Workbook.sheets 對於每個在MyShape的MySheet的工作 MYTEXT = MyShape.AlternativeText 接着 接着 除了以上明顯的代碼不工作。 –

0

當然 - 他們絕對是一個集合中。他們收藏了什麼?這就是我遇到的問題,讓我看看循環,它可以循環查看圖表上的所有對象,而無需直接引用它們。例如:

For each MySheet In Workbook.sheets 
For each MyShape In MySheet 
    MyText = MyShape.AlternativeText 
Next 
Next 

除了上面的代碼顯然不起作用。

相關問題