首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在单独的工作表中使用For循环创建VBA图表时出现错误91

是因为对象变量没有被正确地设置或引用。错误91通常发生在以下情况下:

  1. 对象变量未被初始化:在使用对象变量之前,需要使用Set语句将其初始化为一个有效的对象。例如,如果要在工作表上创建图表,需要先将工作表对象赋值给一个变量,然后使用该变量来引用工作表。
  2. 对象变量引用了一个不存在的对象:在使用对象变量之前,需要确保该对象存在。如果对象不存在或已被删除,那么引用该对象将导致错误91。在使用For循环创建图表时,需要确保循环变量在每次迭代时引用的工作表存在。

以下是解决错误91的一些常见方法:

  1. 确保对象变量被正确初始化:
  2. 确保对象变量被正确初始化:
  3. 在使用对象变量之前,检查对象是否存在:
  4. 在使用对象变量之前,检查对象是否存在:
  5. 确保循环变量在每次迭代时引用的工作表存在:
  6. 确保循环变量在每次迭代时引用的工作表存在:

对于VBA图表的创建,可以使用以下代码示例:

代码语言:txt
复制
Sub CreateChart()
    Dim ws As Worksheet
    Dim cht As ChartObject
    
    Set ws = ThisWorkbook.Worksheets("Sheet1") ' 将工作表对象赋值给变量
    
    ' 创建图表对象
    Set cht = ws.ChartObjects.Add(Left:=100, Top:=100, Width:=400, Height:=300)
    
    ' 设置图表数据源
    cht.Chart.SetSourceData Source:=ws.Range("A1:B10")
    
    ' 设置图表类型
    cht.Chart.ChartType = xlColumnClustered
    
    ' 设置图表标题
    cht.Chart.HasTitle = True
    cht.Chart.ChartTitle.Text = "Sales Data"
    
    ' 设置图表轴标签
    cht.Chart.Axes(xlCategory).HasTitle = True
    cht.Chart.Axes(xlCategory).AxisTitle.Text = "Month"
    cht.Chart.Axes(xlValue).HasTitle = True
    cht.Chart.Axes(xlValue).AxisTitle.Text = "Sales"
    
    ' 设置图表系列名称
    cht.Chart.SeriesCollection(1).Name = "Sales"
    
    ' 设置图表系列颜色
    cht.Chart.SeriesCollection(1).Interior.Color = RGB(255, 0, 0)
    
    ' 设置图表系列标签
    cht.Chart.SeriesCollection(1).HasDataLabels = True
    
    ' 设置图表图例
    cht.Chart.HasLegend = True
    
    ' 设置图表位置
    cht.Top = 100
    cht.Left = 100
    
    ' 设置图表大小
    cht.Width = 400
    cht.Height = 300
End Sub

这段代码演示了如何在工作表上创建一个柱状图,并设置图表的数据源、类型、标题、轴标签、系列名称、系列颜色、系列标签、图例、位置和大小。

腾讯云提供了一系列云计算相关的产品,包括云服务器、云数据库、云存储等。具体推荐的产品和产品介绍链接地址可以根据实际需求和使用场景来选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

VBA专题10-20:使用VBA操控Excel界面之隐藏和取消隐藏控件、组和选项卡

可以在启动(当Excel开启时)动态设置值,可以在运行时改变它们的值(在使元素无效后通过使用VBA回调过程)。...正如本文开头提到的,也可以在满足某条件时在运行时动态地隐藏(和取消隐藏)内置组。这样的例子包括:选择了图表工作表、选择了特定的工作表、从组合框中选择了特定项、以及勾选了网格线复选框。...在Custom UI Editor中保存该文件,首次在Excel中打开时,会出现关于Initialize和HideAlignmentGroup过程的错误消息提示,因为这两个过程仍然没有在标准的VBA模块中找到...如果活动工作表不是标准工作表,就隐藏该组,否则该组可见。 注意,当打开工作簿时,创建ribbon对象。编辑VBA代码可能销毁这个新创建的对象。...试图使与销毁对象相关的控件无效是不可能的,唯一的办法是重新创建ribbon对象重新打开该工作簿。 当激活图表工作表时,“开始”选项卡中的“对齐方式”组被隐藏,如下图所示: ?

8.1K20
  • Vba菜鸟教程

    文章目录 Vba菜鸟教程 编辑器 宏 vba基本语法 运算符 变量 数组 字典 语句 简写语句 sub语句 调用语句 退出语句 跳转语句 错误处理语句 循环语句 判断语句 公式与函数...在单元格输入公式 利用单元格公式返回值 调用工作表函数 利用vba函数 自定义函数 操作对象 类模块 excel应用对象 操作工作簿 操作工作表 操作单元格 图形对象 事件 关闭事件 工作簿事件...Print “立即窗口输出过程的值:”&x 本地窗口可以显示中断,逐步调试时的对象信息,变量值,数组信息,Stop可以中断 宏 开发者工具,设置安全性启用宏,保存文件需要保存为启用宏的工作簿 使用相对流录制宏...在Application.WorksheetFunction中,表,区域等使用vba中的写法 Sub test() '跳过出错 On Error Resume Next Range("A1"...Sheets(N),打开的第n个工作表,在左下角的位置 Sheet1 第一个插入的工作表,与位置无关,相当于本名 ActiveSheet 正在操作的工作表 Worksheets 不包括宏的工作表 方法

    17.2K40

    Excel VBA编程

    隐藏活动工作表外的所有工作表 批量新建指定名称的工作表 批量对数据进行分离,并保存到不同的工作表中 将多张工作表中的数据合并到一张工作表中 将工作簿中的每张工作表都保存为单独的工作簿文件 将多个工作簿中的数据合并到同一张工作表中...数组的存取 当将Excel表中的数据传递给数组时,默认建立的是一个二维数组,因此在取数组的值时,需要传递两个数值进去,如果只传入一个数组,会出现下标越界的警告。...在VBA中,Excel的工作簿,工作表,单元格等都是对象,图表,透视表,图片等也都是对象,甚至于单元格的边框线,插入的批注都是对象… 集合也是对象,它是对多个相同类型对象的统称。...在保存工作簿之前发生 Deavtivate 在工作簿状态作为非活动状态时发生 NewChart 在工作簿新建一个图表时发生 Newsheet 在工作簿新建一个工作表时发生 open 打开工作簿时发生...GoTo 0 使用On Error GoTo 0语句后,将关闭对程序中运行时错误的捕捉,如果程序在On Error GoTo 0语句后出现运行错误,将不会被捕捉到 Sub test() On

    45.7K33

    一起学Excel专业开发02:专家眼中的Excel及其用户

    学习Excel技术,关注微信公众号: excelperfect 对于大多数人来说,使用Excel来做的工作就是在单元格中输入数据,进行一些格式化制作成报表输出,在这个过程中,可能会使用一些公式,可能会使用图表展现数据...图1 这里使用了格式设置、名称、样式、单元格批注、数据验证、条件格式等常用技术,创建了清晰的界面,提供了级联列表、数据检验、动态显示、错误提示等功能。简单直观,引导用户正确完成输入数据的填报工作。...工作表:用于程序数据的存储 在程序代码中,在程序代码处理中,经常要用到一些数据,而工作表就是一个天然的数据存放地,我们可以在工作表单元格中存放数字、文本、表格或图片,供程序使用,而VBA程序代码可以方便地访问这些数据...图2 这里的向导2中列表框项目数据读取的是工作表中列A中的数据,在向导2中选取“Client Detail”后,向导3中会出现该指定项报表的选项,并读取工作表中相应单元格中的数据作为其复选框选项。...2.Excel高级用户:熟悉Excel的各种功能,知道在何种情况下使用何种功能,能够根据需要创建复杂的工作表,能够解决工作表使用过程中遇到的问题,会使用VBA但并不专业。

    4.3K20

    Excel宏教程 (宏的介绍与基本使用)

    需要注意的是:在使用过程中excel会自动重排工作表索引号,保持按照其在工作表标签中的从左至右排列,工作表的索引号递增。因此,由于可能进行的工作表添加或删除,工作表索引号不一定始终保持不变。...该图表既可为嵌入式图表(包含在ChartObject中),也可为一个分开的(单独的)图表工作表。...Charts代表指定工作簿或活动工作簿中所有图表工作表的集合,但不包括嵌入式在工作表或对话框编辑表中的图表。...:R[-2]C[-4])” 3、引用其它工作表中的单元格 当赋值公式中需要引用其它工作表中的单元格时,在被引用的单元格前加上”工作表名!”...$A$1:$A$6)” 5、避免循环引用 在上述公式赋值过程中,应避免在公式中引用被赋值的单元格,防止循环引用错误。

    6.5K10

    Excel编程周末速成班第22课:使用事件

    在第20课中对事件进行过介绍,涉及到用户窗体控件以及他们可以响应的一些事件。理解和使用Excel事件是创建易于使用的响应式应用程序的重要工具。...随后的内容将提供了有关事件放置的一些具体建议,这里是一些准则: 用户窗体(及其控件)的事件过程应始终放在用户窗体模块本身中。 工作簿、工作表或图表的事件过程应始终放置在与该工作簿关联的工程中。...下面是一个示例:将在工作簿中添加新工作表时,将按以下顺序触发下列三个应用程序级事件: 当添加新的工作表时,将发生WorkbookNewSheet。...当用户单击用户窗体上的控件时,也会出现类似情况:MouseDown、MouseUp和Click事件依次发生。 在事件过程中使用Debug.Print语句,你可以确定发生哪些事件以及它们发生的顺序。...注:本文是在知识星球App的完美Excel社群中发表的Excel VBA编程系列文章《Excel编程周末速成班第22课:使用事件》中的一部分内容。

    2.8K10

    Excel编程周末速成班第3课:Excel对象模型

    例如,你的程序打开一个工作簿并需要使用其现有的一个工作表。在其他时候,该对象不存在,并且你的程序必须创建该对象并获得引用(例如,当向工作簿中添加新工作表时)。...当到达Next语句时,执行将循环回到ForEach语句,将Item设置为引用集合中的下一个元素,然后重复该过程,直到处理完集合中的所有元素为止。如果开始时该集合为空,则执行仅跳过循环。...提示:你的代码应该总是考虑可能的错误,尤其是在处理文件时。为了清楚起见,本课程中的示例代码通常会省略错误处理代码,但这并不意味着你可以这样做!...工作簿的名称要么是你使用SaveAs方法赋给的名称(在本课程的后面部分介绍),要么是Excel在创建新工作簿时赋给的默认名称(工作簿1、工作簿2,等)。Save方法不带任何参数。...引用工作表 你已经看到了使用创建工作表时返回的引用或从Worksheets集合中获取引用来引用工作簿中特定工作表的几种方法。

    5.1K30

    用于处理图表&图形的VBA代码大全1

    标签:VBA 图表和图形是Excel最好的功能之一,它们非常灵活,可以用来进行一些非常高级的可视化。本文可以作为在Excel中使用VBA绘制图表的指南。...本文中的代码示例演示了使用VBA处理最常见的图表选项,很好地利用这些代码,自动创建和修改图表。...Chart对象、图表和图表工作表 在Excel的对象层次模型中,许多东西存在于许多地方。例如,图表可以是工作表中的嵌入式图表,也可以是单独的图表工作表。 1.在工作表本身,可以找到图表对象。...创建一个引用ChartObject内的图表的变量: Dim cht As Chart Set cht = Sheets("Sheet1").ChartObjects("Chart 1").Chart 创建一个引用工作表内图表的变量...: Dim cht As Chart Set cht = Sheets("Chart 1") 现在,可以通过使用cht引用图表来为图表工作表或ChartObject中的图表编写VBA代码: cht.ChartTitle.Text

    71020

    如何用2周时间促成一次1700+人参与的大数据行业调研

    2、我国大数据行业处于上升阶段,目前对大数据的利用有限,未使用云架构,数据分析集中在商业、市场和用户方面,主要工作为进行预测分析。...直到做完整版报告的时候,我终于想到找一个text to column的vba代码(对应excel数据面板下的文本分列功能,但手动点击每次只能分开一列),在每列之间循环,终于把这个问题解决掉了。...我创建了50多个工作表(worksheet),只能手动选择单个工作表导出为图片,每个工作表要导出为图片要点击很多次(单击工作表-导出-图片-选择导出内容-保存)。如果能把所有的图一次性导出就好了。...做了一些重复工作和错误工作 第一份分析是12月28号的,我想增加12月28到12月30的数据,在tableau里改了数据源,但发现所有图都不能用了,因为新数据的每列标题改变了(去掉了题号),于是我又重新在...附录 excel文本分列的vba代码 首先确保表格内的所有数据的格式都是aaa.xxx,其中aaa.是要去掉的内容,点前面的文字长度不限,因为是以点的位置把每列分开 在列之间循环,这里n的值等于表格包括的列数

    71460

    VBA教程先导介绍

    VBA是基于Visual Basic语言的简化版本,适合编程新手和高级用户。为什么学习VBA?学习VBA有助于提升工作效率,特别是在处理大量数据和重复性任务时。...在Excel中,您可以通过“录制宏”功能来生成宏代码,也可以手动编写代码。模块模块是存储VBA代码的容器。在Excel中,每个工作簿都可以包含多个模块。模块分为标准模块和类模块。...变量变量是用于存储数据的命名空间。在VBA中,变量有不同的数据类型,如整数(Integer)、字符串(String)和布尔值(Boolean)等。定义变量时,可以使用Dim关键字。...Workbook:代表Excel工作簿。Worksheet:代表Excel工作表。Range:代表单元格区域。了解如何使用这些对象及其成员是编写VBA代码的基础。...ResultEnd Function错误处理在编写VBA代码时,错误处理是必不可少的。

    25710

    ChatGPT与Excel结合_编写VBA宏

    VBA允许用户编写自定义的脚本或宏,以便通过执行一系列指令来自动完成特定任务。 使用Excel VBA宏,你可以创建和编辑工作表、处理数据、执行计算、生成报表、自定义用户界面等。...你可以在Excel中的"开发者"选项卡中访问VBA编辑器,其中可以编写、修改和运行VBA宏。...End Sub 运行该宏后,它会遍历工作薄中的每个工作表,并将每个作表中的图片移动到A1单元格的位置。在移动图片之后,会弹出一个提示框显示操作已完成。...请注意,宏只会处理工作表中的图片形状,对于其他类型的形状(如图表等),需要根据实际情况进行适的修改。 这个操作也类似上面的。...End Sub 运行该宏后,它会遍历当前Excel工作簿中的每个工作表,并删除每个工作表中的所有图片。在删除图片之后,会弹出一个提示框显示操作已完成。

    54020

    ChatGPT与Excel结合_编写VBA宏

    VBA允许用户编写自定义的脚本或宏,以便通过执行一系列指令来自动完成特定任务。 使用Excel VBA宏,你可以创建和编辑工作表、处理数据、执行计算、生成报表、自定义用户界面等。...你可以在Excel中的"开发者"选项卡中访问VBA编辑器,其中可以编写、修改和运行VBA宏。...End Sub 运行该宏后,它会遍历工作薄中的每个工作表,并将每个作表中的图片移动到A1单元格的位置。在移动图片之后,会弹出一个提示框显示操作已完成。...请注意,宏只会处理工作表中的图片形状,对于其他类型的形状(如图表等),需要根据实际情况进行适的修改。 这个操作也类似上面的。...End Sub 运行该宏后,它会遍历当前Excel工作簿中的每个工作表,并删除每个工作表中的所有图片。在删除图片之后,会弹出一个提示框显示操作已完成。

    65810

    代替VBA!用Python轻松实现Excel编程(文末赠书)

    下面分别用VBA和Python获取工作表中数据区域末行的行号。其中,sht为指定的工作表对象。...图1 单元格属性设置 PART 05 用VBA和Python创建Excel图表 目前的图书和网络教程介绍Python自动化办公时主要介绍用Matplotlib创建图表,然后将图表导入到Excel表格。...第1个优势是表格中的绘图数据与图表是关联的,修改数据时图表会即时改变; 第2个优势是可以创建透视图这样一些特殊图表; 第3个优势是Excel自己的三维图表效果比Matplotlib创建的三维图表好,可以添加光照...下面分别用VBA和Python,使用Excel工作表中的数据创建嵌入式图表。...下面分别用VBA和Python,使用缓存方式创建数据透视表。Excel会为数据透视表建立一个缓存,通过该缓存,可以实现对数据源中数据的快速读取。

    5.9K30

    学VBA还是学Python,这不是个问题!

    下面分别用VBA和Python获取工作表中数据区域末行的行号。其中,sht为指定的工作表对象。...图1 单元格属性设置 PART 05 用VBA和Python创建Excel图表 目前的图书和网络教程介绍Python自动化办公时主要介绍用Matplotlib创建图表,然后将图表导入到Excel表格。...第1个优势是表格中的绘图数据与图表是关联的,修改数据时图表会即时改变; 第2个优势是可以创建透视图这样一些特殊图表; 第3个优势是Excel自己的三维图表效果比Matplotlib创建的三维图表好,可以添加光照...下面分别用VBA和Python,使用Excel工作表中的数据创建嵌入式图表。...下面分别用VBA和Python,使用缓存方式创建数据透视表。Excel会为数据透视表建立一个缓存,通过该缓存,可以实现对数据源中数据的快速读取。

    2.7K50

    学VBA还是学Python,这不是个问题!

    下面分别用VBA和Python获取工作表中数据区域末行的行号。其中,sht为指定的工作表对象。...图1 单元格属性设置 PART 05 用VBA和Python创建Excel图表 目前的图书和网络教程介绍Python自动化办公时主要介绍用Matplotlib创建图表,然后将图表导入到Excel表格。...第1个优势是表格中的绘图数据与图表是关联的,修改数据时图表会即时改变; 第2个优势是可以创建透视图这样一些特殊图表; 第3个优势是Excel自己的三维图表效果比Matplotlib创建的三维图表好,可以添加光照...下面分别用VBA和Python,使用Excel工作表中的数据创建嵌入式图表。...下面分别用VBA和Python,使用缓存方式创建数据透视表。Excel会为数据透视表建立一个缓存,通过该缓存,可以实现对数据源中数据的快速读取。

    2.9K40

    不可思议的Excel图表11: 实现运动诱发失明(MIB)动画模型

    注意,黄色斑点偶尔消失:单独、成对或同时全部三个,是不是? 现实中,3个黄点不断出现,这被称为“运动诱发失明”或MIB。 ? 图1 实际的MIB Excel模型比这个动画的GIF表示更平滑。...图4 第三种方法旋转固定位图虽然非常可行,但我们是要在Excel图表中来完成这所有的工作。最后的附件中有真实模型和所有相关的准备工作,你可以下载研究。下面介绍的所有准备工作都在附件工作表“2”上。...可以在一个命名公式中一起添加2个命名公式来创建数组,这样最终得到一个数组,代表49个十字交叉的98段中每一段的X和Y值。...图11 为了简化所有这些的构建,坐标、转换到极坐标和构造旋转变换公式都是在Excel中完成的(参见示例文件中的工作表“2”)。...图12 使用VBA代码将这些系列添加到图表中。

    1K30

    对比VBA学习Python,让办公更自动化!

    下面分别用VBA和Python获取工作表中数据区域末行的行号。其中,sht为指定的工作表对象。...图1 单元格属性设置 PART 05 用VBA和Python创建Excel图表 目前的图书和网络教程介绍Python自动化办公时主要介绍用Matplotlib创建图表,然后将图表导入到Excel表格。...第1个优势是表格中的绘图数据与图表是关联的,修改数据时图表会即时改变; 第2个优势是可以创建透视图这样一些特殊图表; 第3个优势是Excel自己的三维图表效果比Matplotlib创建的三维图表好,可以添加光照...下面分别用VBA和Python,使用Excel工作表中的数据创建嵌入式图表。...下面分别用VBA和Python,使用缓存方式创建数据透视表。Excel会为数据透视表建立一个缓存,通过该缓存,可以实现对数据源中数据的快速读取。

    3.8K11

    Excel自定义任意图表的通用模式

    还有一种是数据多少不固定,不选中数据时可以使用For to语句从头到尾遍历,选中指定数据制图时可以使用For each语句。...自动刷新 ---- 刷新图表有两种方式,一种是指定一个按钮,点击刷新: 另外可以自动刷新,新建一个新的宏,如下所示,借助Worksheet_Change事件,当工作表数据有变更自动促发VBA的运行。...该代码有两个模块,首先删除当前工作表中的所有图片(代码前期分享过,可公众号搜索),接着调用四象限方块图这个宏。...你需要的最少知识是:VBA中For循环的使用方法及SVG基础图形的编码规则。这些知识可以在网上很容易搜索到。...VBA+SVG在Excel制图的优势比DAX+SVG在Power BI中非常明显:首先,VBA中的For 语句可以很方便的循环,DAX需要新建虚拟索引;其次,Excel单元格具有灵活性,在Power BI

    2.8K10

    Excel数据表分割(实战记录)

    End Sub 请按照以下步骤操作(Sheet): 打开Excel,按下ALT + F11打开VBA编辑器。 在左侧的“项目资源管理器”窗格中,找到你的工作簿,并双击打开。...在VBA编辑器的窗口中,插入新模块(Insert -> Module)。 将上述代码复制粘贴到新模块中。 关闭VBA编辑器。...如果每10行数据创建一个新的工作簿而不是新的工作表(Sheet),可以使用以下VBA代码: 复制代码 Sub 分割数据() Dim 原始表 As Worksheet Dim 新表 As...请注意,在代码中,我假设原始数据从第一行开始,且每个新表都保存为单独的Excel文件。你可以根据实际需求进行修改。...End Sub 这段代码在每个新表中通过将标题行和对应的数据行复制到新工作簿来实现分割。新工作簿中的第一行是标题行,接下来的行是对应的数据行。

    39620
    领券