How to Set X and Y Values in VBA Chart in 3 Minutes (Excel)

Written by Kasper Langmann

Manipulating data in Excel can be a daunting task, especially when it comes to creating charts and graphs. However, with the use of Visual Basic for Applications (VBA), you can easily set X and Y values in your charts. This guide will provide you with a step-by-step process on how to accomplish this in just three minutes.

Understanding VBA in Excel

Before diving into the steps, it’s crucial to understand what VBA is and how it works in Excel. VBA, or Visual Basic for Applications, is a programming language developed by Microsoft. It’s primarily used to automate tasks and functions in Microsoft applications, including Excel.

Excel VBA is a powerful tool that can significantly enhance your ability to perform complex data analysis and manipulation. With VBA, you can create macros, automate tasks, and even create custom functions and procedures. It’s a tool that, when mastered, can greatly increase your productivity and efficiency in Excel.

Importance of VBA in Charting

One of the many applications of VBA in Excel is charting. Excel has built-in charting capabilities, but they can be limited and sometimes not intuitive. With VBA, you can create more complex and customized charts, and automate the process of chart creation.

Setting X and Y values in a chart is one of the tasks that can be automated with VBA. This can be particularly useful when dealing with large datasets, or when you need to create multiple charts with the same X and Y values.

Setting Up Your VBA Environment

Before you can start writing VBA code, you need to set up your VBA environment in Excel. This involves enabling the Developer tab, which is where you’ll find the tools you need to work with VBA.

To enable the Developer tab, right-click anywhere on the Excel ribbon and select Customize the Ribbon. In the Excel Options dialog box that appears, check the Developer box under the Main Tabs list, then click OK. The Developer tab should now be visible on the Excel ribbon.

Accessing the VBA Editor

Once you’ve enabled the Developer tab, you can access the VBA editor. This is where you’ll write your VBA code. To open the VBA editor, click on the Developer tab, then click on the Visual Basic button. This will open the VBA editor in a new window.

In the VBA editor, you’ll see a Project Explorer pane on the left side. This pane displays all the workbooks and worksheets currently open in Excel. You can expand each workbook to see its worksheets, and each worksheet to see its objects, such as charts and shapes.

Setting X and Y Values in a VBA Chart

Now that you’ve set up your VBA environment and accessed the VBA editor, you’re ready to start setting X and Y values in a VBA chart. Here’s how to do it:

  1. First, you need to create a chart object. This can be done with the following code:
  2. Dim ChartObj As ChartObject
    Set ChartObj = ActiveSheet.ChartObjects.Add(Left:=100, Width:=375, Top:=75, Height:=225)
  3. Next, you need to set the chart type. For this example, we’ll use a scatter chart:
  4. ChartObj.Chart.ChartType = xlXYScatter
  5. Now, you can set the X and Y values. This is done with the SeriesCollection method:
  6. ChartObj.Chart.SeriesCollection.NewSeries
    ChartObj.Chart.SeriesCollection(1).XValues = Range("A1:A10")
    ChartObj.Chart.SeriesCollection(1).Values = Range("B1:B10")

With these steps, you’ve created a scatter chart and set the X and Y values using VBA. You can adjust the range to match your data.


Excel VBA is a powerful tool that can enhance your data analysis and manipulation capabilities. By understanding how to use VBA to set X and Y values in a chart, you can automate the process of chart creation and save valuable time.

While VBA may seem intimidating at first, with practice and patience, you can master its use and significantly increase your productivity and efficiency in Excel. So, start exploring the possibilities of VBA today!