Help in making a simle column/line chart in excel using vb6

Hi,

I want to make a simple column or line chart in excel 
using vb6.
I have created instance of excel and in the sheet1, I am 
able to populate some data. Now using that data, say the 
range is A2-B6, I want to use that range and make a chart.

Pls help by giving me code, step by step.

Thx
Sandeep

0
anonymous (74719)
8/11/2004 11:18:31 AM
excel.charting 18370 articles. 0 followers. Follow

1 Replies
439 Views

Similar Articles

[PageSpeed] 40

Sandeep -

Step 1. In Excel, turn on the macro recorder while making the kind of 
chart you want.

Step 2. Refine the recorded code.

Here is some recorded code, which creates an embedded column chart, adds 
axis and chart titles, and does a little formatting:

'' START RECORDED CODE
Sub SimpleChartForVB()
'
' SimpleChartForVB Macro
' Macro recorded 8/11/2004 by Jon Peltier
'
     Charts.Add
     ActiveChart.ChartType = xlColumnClustered
     ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:B6")
     ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
     ActiveChart.PlotArea.Select
     With Selection.Border
         .ColorIndex = 1
         .Weight = xlThin
         .LineStyle = xlContinuous
     End With
     With Selection.Interior
         .ColorIndex = 2
         .PatternColorIndex = 1
         .Pattern = xlSolid
     End With
     ActiveChart.Axes(xlValue).MajorGridlines.Select
     With Selection.Border
         .ColorIndex = 15
         .Weight = xlThin
         .LineStyle = xlContinuous
     End With
     ActiveChart.PlotArea.Select
     With ActiveChart
         .HasTitle = True
         .ChartTitle.Characters.Text = "My Chart Title"
         .Axes(xlCategory, xlPrimary).HasTitle = True
         .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = _
             "Categories"
         .Axes(xlValue, xlPrimary).HasTitle = True
         .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Values"
     End With
     ActiveChart.SeriesCollection(1).Select
     With Selection.Border
         .Weight = xlThin
         .LineStyle = xlAutomatic
     End With
     Selection.Shadow = False
     Selection.InvertIfNegative = False
     With Selection.Interior
         .ColorIndex = 3
         .Pattern = xlSolid
     End With
     ActiveChart.ChartArea.Select
End Sub
'' END RECORDED CODE

This procedure is cleaned up a little; I've removed some defaults and 
streamlined the code a bit:

'' START ADJUSTED CODE
Sub SimpleChartForVB()
     Charts.Add
     With ActiveChart
         .ChartType = xlColumnClustered
         .SetSourceData Source:=Sheets("Sheet1").Range("A1:B6")
         .Location Where:=xlLocationAsObject, Name:="Sheet1"
     End With
     With ActiveChart
         With PlotArea.Border
             '' black border
             .ColorIndex = 1
         End With
         With PlotArea.Interior
             '' white fill
             .ColorIndex = 2
             .PatternColorIndex = 1
         End With
         With .Axes(xlValue).MajorGridlines.Border
             '' light gray lines
             .ColorIndex = 15
             .Weight = xlThin
             .LineStyle = xlContinuous
         End With
         .HasTitle = True
         .ChartTitle.Characters.Text = "My Chart Title"
         With .Axes(xlCategory, xlPrimary)
             .HasTitle = True
             .AxisTitle.Characters.Text = "Categories"
         End With
         With .Axes(xlValue, xlPrimary)
             .HasTitle = True
             .AxisTitle.Characters.Text = "Values"
         End With
         With .SeriesCollection(1).Interior
             '' red fill
             .ColorIndex = 3
             .Pattern = xlSolid
         End With
     End With
End Sub
'' END ADJUSTED CODE

For more about using VBA with charts, check out this web page:

   http://peltiertech.com/Excel/ChartsHowTo/QuickChartVBA.html

You also have to keep in mind that you have to reference everything for 
VB. This is easier if you use object variables. For example:

dim xlApp as Excel.Application
dim xlWB as Excel.Workbook
dim xlWS as Excel.Worksheet
dim xlCht as Excel.Chart
dim xlChOb as Excel.ChartObject

Set xlApp = <whatever>
set xlWB = <whatever>
set xlWS = <whatever>

set xlChOb = xlWS.ChartObjects.Add _
     (<left, top, width, height in points>)
set xlCht = xlChOb.Chart

with xlCht
     .SetSourceData Source:=xlWS.Range("A1:B6")
     .ChartType = xlColumnClustered

     ' you don't need .Location
     ' .ChartObjects.Add puts it into xlWS

     ' do whatever formatting you need
end with

etc.

- Jon
-------
Jon Peltier, Microsoft Excel MVP
Peltier Technical Services
Tutorials and Custom Solutions
http://PeltierTech.com/
_______

Sandeep wrote:

> Hi,
> 
> I want to make a simple column or line chart in excel 
> using vb6.
> I have created instance of excel and in the sheet1, I am 
> able to populate some data. Now using that data, say the 
> range is A2-B6, I want to use that range and make a chart.
> 
> Pls help by giving me code, step by step.
> 
> Thx
> Sandeep
> 

0
8/11/2004 12:21:45 PM
Reply:

Similar Artilces:

Access data into Excel across columns
Is there a way to create an Access report that would take the field 'names' and expand the records from left to right (text vertical) rather than from top to bottom? The other alternative would be to bring the data into Excel and have it populate pre-formatted cells from left to right (across columns). I'm using Office XP Thanks in advance! ...

Gantt Chart issue.
I have had a number of users complain that they make customizations to their Gantt charts (color coding, text and drawings) and from time to time their customizations seem to disappear after a save and publish. Is this an issue? has anyone else experienced this and if so, is there a fix? Sorry forgot to mention, MSPS 2007 SP2... "Eric_H" wrote: > I have had a number of users complain that they make customizations to their > Gantt charts (color coding, text and drawings) and from time to time their > customizations seem to disappear after a save and publish....

sumifs help
I have the following formula. =SUMIFS(Table1[2],$A$11:$A$22,$A38,$B$11:$B$22,$B38) It now needs to be changed to a formula that can handle text instead of numbers. How do i do it? Use Countif instead of Sumif from =SUMIF(Table1[2],$A$11:$A$22,$A38,$B$11:$B$22,$B38) to =CountIF(Table1[2],$A$11:$A$22,$A38,$B$11:$B$22,$B38) Do you really have a function Countifs with an "S" at the end? thie maybe an UDF that needs to be modified. -- joel ------------------------------------------------------------------------ joel's Profile: 229 View this th...

Transferring data to a new company that has a "new" chart of accou
Hello: The client wants to create a new company in GP 9.0. This company is going to be the client’s “new live” company. The client wants this company to have a different account format and a new chart of accounts from what the old company has. They want to get rid of this “old live” company, because they say that financial and other data is not clearly discernible. Pretty easy, so far….. But, the client also wants to transfer the payroll and payables data from the old live company to this new live company. The issue is that the new company will have a new chart of accounts. The ...

line graph #3
I have created a graph with two bars and two lines. However one of the lines the line begins and ends before the eginning and end of th egraph, is there a way to extend it? Also the second line graph I would liek to line up the data points with the first bar series. is this possible? Thanks ratio wrote: > I have created a graph with two bars and two lines. However one of the lines > the line begins and ends before the eginning and end of th egraph, is there a > way to extend it? Are the source data ranges misaligned? I can't visualize the problem. > Also the second ...

Help !
I need to create a data input screen on excel where multiple users at the same time will use them & input data. This data then needs to be stored as a database as well, where i can use it to understand trends Thank you. and the question is ...? <abrahamsaj@gmail.com> wrote in message news:1132155054.927936.191640@z14g2000cwz.googlegroups.com... >I need to create a data input screen on excel where multiple users > at the same time will use them & input data. > This data then needs to be stored as a database as well, where i can > use it to understand trends >...

Help with this thing
It was working in the window "Transactions >> Sales >> Transactions of Sales", but exactly were publishing a Quotation, which i wanna print, more nevertheless was shut up to me network, then I closed the window and it threw several messages to me of error, and from that then it was blocked the quotation that was working. My question is as I can unblock this document? ...

Excel chart to Access report
Apologies if this isn't the right forum, but I'm clutching at straws here.... I have a chart which must be created in Excel because the Access chart interface does not (to my knowledge) permit custom error bars. The problem is that I want then to include the graph in an Access report. I can see how, via automation, I can address the chart from code in the Access report. I just don't know how to actually include it, if you get my meaning. I thought placing an unbound OLE object control in the report would be a good start, but I don't seem to be able to move the chart data into...

Excel Macro to delete rows
Hello, I have an excel Sheet in which I have a blank row below the cell which contains "<<<Mem>>>". I vave some random data and multiple such cells. Can I get some help with the excel macros for the same? Harsh Assuming "Mem" is in column E: Sub DeleteRowBelowMem() For i=cells(rows.count,5).end(xlup).row to 1 step -1 if cells(i,5).value="Mem" then rows(i+1).Delete Next End Sub Bob Umlas Excel MVP HTH "Harsh" <cooldreamz83@yahoo.com> wrote in message news:1159983014.172239.234480@h48g2000cwc.googlegroups.com... ...

Help with Outlook Setup!!!
I have XP Professional installed and Office XP Professional. I have several users setup for kids, as well as my admin account. I want to setup a Limited Account in addition to the Admin account for myself for daily use. Am I just suppose to pick a different account name and login password and then setup my MSN Messenger and Outlook POP email with same username and password that I used to setup the Admin account? I don't need to share any contacts or anything, I just setup the admin email in order to setup Outlook. I want to input my contact info etc., into the Limited account and use ...

Moving Row Data to Column/Row Groups
First off...great forum with super smart participants. Hopefully, I ca tap into some of this brain power!! :) I have received an Excel emai spreadsheet containing hundreds of names and corresponding emai addresses. Problem is the data runs on one line from A1 to GB1. Fo example, A1 B1 C1 D1 E1 F1, etc (name 1)(email 1)(name 2)(email 2)(name 3)(email 3) etc. I need to break the data to a two column format with the first colum containing the name and the second column containing the emai address...then dropping down to the next row and listing the next set then the next and so on. The good ne...

Stopping the Over-Receipt of Purchase Line Items
Without code, does anybody know of a way to prevent a user from overreceiving a purchase order? The message appears that says the item has been fully received. But, the user is still able to keep going. Thanks -- Charles Allen, MVP Charles, I checked and I don't think you can accomplish this without a customization. Best regards, -- MG.- Mariano Gomez, MIS, MCP, PMP Maximum Global Business, LLC http://www.maximumglobalbusiness.com The Dynamics GP Blogster at http://dynamicsgpblogster.blogspot.com "Charles Allen" wrote: > Without code, does anybody know of a way to...

HELP !!! I have a ARRAY Formula HELP !!!
Hello, Here is the ARRAY Formula I have and this is what I am using it for. The situation is that it worked 1 time and than not again. =INDEX(D48:K48,,MAX(IF(D48:K48<>"",COLUMN(D48:K48)))-COLUMN(D48)+1 Duty: I have a row of number that appear hourly (DOLLAR AMOUNTS), the numbe are anything from nothing to 10000. I want the hourly number to appea in specified cell. Here is an example. (I am using EXCEL 2000) Row D48:K48 answer in cell G2 1st hour D48 = $100.00 G2 Should be $100.00 2nd Hour D48 = $100.00 E48 = (nothing) G2 Should be (nothing) 3rd Hour D48 = $1...

exch 5.5 help
I am in a progress to upgrade Exchange 5.5 (on NT4) to Exhange 2k3 (on 2k3). I setup a test machine and upgrade the OS to w2k3. 1st I want to connect the 5.5 to AD, so I should install ADC. Can anyone tell me the steps? Frorestprep, domainprep, setup adc, and upgrade to exchange 2k3? If you run through the steps in the E2K3 deployment tools they will walk you through everything. -- Hope that helps. ------------------------- Jaclynn Hiranaka Enterprise Messaging Support This posting is provided "AS IS" with no warranties, and confers no rights. � 2004 Microsoft Corporation. Al...

How do I make one word have small caps?
Suppose I have a word named WORDED, and I want the "ORDED" part to become slightly smaller. I want it like "ORDED with smaller caps" and not like this "orded". I tried going selecting "ORDED and changing the font to small caps", but nothing really happened. How do i fix this? The usual way would be to type Worded (with an initial cap), and then format the whole word as Small caps. If the difference isn't sufficient, you could always type the word in all caps and format the W as 12 points and the ORDED as something significantly smaller...

Help with Formula Please 02-19-10
Need a Formula for the following: Data Table A B C D E F G H I 1 Tom A W 2 H 30 84 30 2 Peter A W 3 H 3 Nick B L 1 A 70 Columns F1:I3 from Data Table has break scores for each player. Below is the Result Table where I need to show a summary report for high breaks. I have no problem with Break as I use the Large function. I need a formula to insert in A1 and A2 to place the name for the corresponding breaks below. Result Table High Breaks A B Name Break 1 ...

Excel charts and Word docs
In Office 2003, how do I import an excel table into a word doc? In Ms Word go to Insert - Object - Create from File and select the xls file that contains your table. "Frustrated" wrote: > In Office 2003, how do I import an excel table into a word doc? Copy the range in Excel, switch to Word, and paste. Word puts the Excel data into a Word table. - Jon ------- Jon Peltier, Microsoft Excel MVP Peltier Technical Services Tutorials and Custom Solutions http://PeltierTech.com/ _______ "Frustrated" <Frustrated@discussions.microsoft.com> wrote in message news:90F...

Excel Needs to Close
Frequently, when turning on my computer, I will get the message something like "Excel has encountered a problem and needs to close." I may not have used Excel for days and it definitely was not open when the computer was turned off. Any clues? Do I have a problem? Ed, Look for an Excel file, or Excel itself, in your Startup folder (Start - All programs). Scan for viruses. -- Earl Kiosterud www.smokeylake.com Note: Top-posting has been the norm here. Some folks prefer bottom-posting. But if you bottom-post to a reply that's already top-posted, the thr...

How do I make a column be my default column in Access
I need to make my desricption field my default field. How do I do that? Right not it defaults to my items field. me.controlname.setfocus or in macro GoToControl "controlname" Bonnie http://www.dataplus-svc.com michelle wrote: >I need to make my desricption field my default field. How do I do that? Right >not it defaults to my items field. -- Message posted via AccessMonster.com http://www.accessmonster.com/Uwe/Forums.aspx/access/200912/1 Or, if you don't want to use events, simply set your tab order from the form design view. -- Frank H R...

help...help...help
I just installed Microsoft Office XP Professionaql with no problem. However, whenever I try to perform any task such as opening contacts area in order to create an entry, I receive a dialog box with Microsoft Outlook and a yellow exclamation point. Also, included in the dialog box are the words could not open the item, try again. Other information that might be important is that I use a pst file. The error message also occurs when I try to open the Contact folder from the folder list as well as when I try to perform any function. It was a clean install not an upgrade. Could you ...

Need help in data copying.
Hi I have an invoicing file in excel (Sheet1). I need to store the dat which is invoiced into another sheet. My Invoice Data starting from Ro 8 and column B to F (The first item is from B8-F8, second item i B9-F9). B-Item Code, C-Item Name, D-Qty, E-Price, F-Total. Once I print the invoice, I need to transfer the data to another shee (Sheet2) . When I create another invoice, the new data should be added below t the previous data in Sheet2. So that I can have all the items I sol in Sheet2. Can someone help me sending a macro for it??? I will be grateful to you. Thanks in advance Tom -...

Chart and Data range
Hello I'm using a chart dayly and i would like that the chart take all the data without selecting source data within data source and updating the range manualy. Thanks for Help Louis Do a Google search for: Excel dynamic chart or go to http://peltiertech.com/Excel/Charts/Dynamics.html best wishes -- Bernard V Liengme Microsoft Excel MVP www.stfx.ca/people/bliengme remove caps from email "Louis" <Louis@discussions.microsoft.com> wrote in message news:8F2F4B7D-82E2-47F9-9D05-79BEE769CFC2@microsoft.com... > Hello > > I'm using a chart dayly and i would li...

Macro Help
Hi, I had alot of help yesterday from Jacob with the following macro, but am getting a 'run time error 13' when trying to run the macro, and i cannot see why. Any help much appreciated Sub OLApp() Dim objOL As Object, objApp As Object, lngRow As Long Set objOL = CreateObject("Outlook.Application") For lngRow = 9 To Cells(Rows.Count, "A").End(xlUp).Row If Range("E" & lngRow) = "" Then Set objApp = objOL.CreateItem(1) With objApp ..Subject = "Change Password for system" & Range("A" & lngRow)...

help me #2
how to restrict entering of same values or data in excel cell Hi if you mean the 'preventing of duplicate entries' you may check the following site http://www.cpearson.com/excel/NoDupEntry.htm -- Regards Frank Kabel Frankfurt, Germany mangesh khati wrote: > how to restrict entering of same values or data in excel > cell ...

Problem with LeadTools CreateWindow inCFormView -Help !!!
Hi , I have been using LeadTools in Visual Studio 2005. I have a tabctrl and dialogs in each tab and developed using CFormView. So a tabCtrl is a child of CFromView and tab1 is a child of TabCtrl. I want to insert a LEAD control in one of the tabs .i.e, Dialog.I am unable to insert a leadcontrol but inserting a control in the view was easy.The problem is I am not able to get the HWND associated to a particular dialog which is super child of View. Can somebody help me in creating a lead control in the dialog configdlg .h LAnnotationWindow m_LAnnoWnd; FormView.cpp CMyTabCtrl m_myCtrlTab; ...