線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4395
推到 Plurk!
推到 Facebook!

請問EXCEL VBA語法 要整翻DELPHI 語法

缺席
julian
一般會員


發表:3
回覆:10
積分:7
註冊:2002-07-18

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-09-04 11:02:45 IP:218.211.xxx.xxx 訂閱
VBA 語法
Sub Macro1()
'
ActiveChart.ChartArea.Select
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A6:A10,E6:F10"), _
PlotBy:=xlColumns
ActiveChart.SeriesCollection(2).Select
ActiveChart.SeriesCollection(2).AxisGroup = 2
End Sub

DELPHI
const
xlChart = -4109;
var
cellrange:='A6:A10';

ExcelSheet:=ExcelApp.Workbooks[1].Sheets.Add(,,1,xlChart);
ExcelApp.Workbooks[1].Sheets['Chart1'].name:='XXXXX;
ExcelApp.Sheets.SetSourceData(ExcelApp.worksheets['Sheet1'].cells[cellrange].value);

ERROR: 類型不相符

我是建立 Chart1 資料來源要從Sheet1的表格

請問我應該要如何翻呢
julian
一般會員


發表:3
回覆:10
積分:7
註冊:2002-07-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-09-04 14:36:02 IP:218.211.xxx.xxx 訂閱
謝謝大家 我以解決了 感謝
===================引 用 julian 文 章===================
VBA 語法
Sub Macro1()
'
ActiveChart.ChartArea.Select
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A6:A10,E6:F10"), _
PlotBy:=xlColumns
ActiveChart.SeriesCollection(2).Select
ActiveChart.SeriesCollection(2).AxisGroup = 2
End Sub

DELPHI
const
xlChart = -4109;
var
cellrange:='A6:A10';

ExcelSheet:=ExcelApp.Workbooks[1].Sheets.Add(,,1,xlChart);
ExcelApp.Workbooks[1].Sheets['Chart1'].name:='XXXXX;
ExcelApp.Sheets.SetSourceData(ExcelApp.worksheets['Sheet1'].cells[cellrange].value);

ERROR: 類型不相符

我是建立 Chart1 資料來源要從Sheet1的表格

請問我應該要如何翻呢
careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-09-04 15:00:05 IP:218.210.xxx.xxx 訂閱
您是怎麼解決的呢? 可否 Po 出來讓其他有興趣的有個學習的機會呢?

那也請記得把提案設成【缺席】唷~~!
------
價值的展現,來自於你用哪一個角度來看待它!!
julian
一般會員


發表:3
回覆:10
積分:7
註冊:2002-07-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-09-05 09:04:35 IP:218.211.xxx.xxx 訂閱
謝謝前輩們的資訊結晶,站內搜尋及google和Excel的VBA參考下,我的source code

const
xlChart = -4109;
var
cellrange:String;
inct :integer;

// 範圍
//cnt 是data的筆數,加六再減一,是Excel為我的標題抬頭文字
cellrange:='=Sheet1!$A$6:$A$' IntToStr(6 cnt-1) ',Sheet1!$B$6:$C$' IntToStr(6 cnt-1) '';
ExcelSheet:=ExcelApp.Workbooks[1].Sheets.Add(,,1,xlChart);
ExcelApp.Workbooks[1].Sheets['Chart1'].name:='MynameXXX;
ExcelApp.Workbooks[1].Worksheets['Sheet1'].Range[cellrange]; //選取資料位址
ExcelSheet.ChartObjects.add(60, 80, 600, 300); //左離圖60 高離圖80 圖寬600 圖高300
ExcelSheet.ChartObjects[1].Activate;

ExcelSheet.ChartObjects[1].Chart.charttype := xlLine; //折線圖
ExcelSheet.ChartObjects[1].Chart.seriescollection.ADD[cellrange]; //建立新數例
ExcelSheet.ChartObjects[1].Chart.seriescollection[2].AxisGroup := 2; //座標軸(副座標圖)
ExcelSheet.ChartObjects[1].Chart.seriescollection[2].charttype := xlLine; //(副座標圖)為折線圖
ExcelSheet.ChartObjects[1].Chart.Axes[xlValue].HasMinorGridlines := False ; //座標軸主格線
ExcelSheet.ChartObjects[1].Chart.Axes[xlValue].HasMajorGridlines := False ; //座標軸次格線
ExcelSheet.ChartObjects[1].Chart.Legend.Position := xlBottom; //顯示圖例為下方
ExcelSheet.ChartObjects[1].Chart.SeriesCollection(1).Name := '=Sheet1!R5C2';//顯示圖例標題
ExcelSheet.ChartObjects[1].Chart.SeriesCollection(2).Name := '=Sheet1!R5C3';//顯示圖例標題
ExcelSheet.ChartObjects[1].Chart.Axes[xlValue,xlSecondary].TickLabelPosition := xlNone; //座標軸右邊刻度不要
ExcelSheet.ChartObjects[1].Chart.ChartArea.Fill.Visible := true; //圖表區域填滿
ExcelSheet.ChartObjects[1].Chart.ChartArea.Fill.ForeColor.SchemeColor := 34; //前景色彩﹔
ExcelSheet.ChartObjects[1].Chart.HasTitle := True; // 圖表標題要設TRUE才可
ExcelSheet.ChartObjects[1].Chart.ChartTitle.Characters.Text:='XYZ; //圖表標題
系統時間:2024-03-28 22:48:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!