VBA Excel曲线图批量生成

根据大量数据批量生成折线图,以下代码为根据不同proj_name与region,绘制以时间为横坐标,size为纵坐标,不同种类数据的折线图。
iRows = ActiveSheet.UsedRange.Rows.Count
    proj_name_first = ""
    region_first = ""
    firsti = 2
    For i = 2 To iRows+1
        proj_name = Cells(i, 5).Value
        region = Cells(i, 6).Value
        If proj_name_first <> proj_name or region_first <> region Then
            proj_name_first = proj_name
            region_first = region
            lasti = i - 1
            If lasti > firsti Then               
                n = 0
                firstj = firsti
                For j = firsti + 1 To lasti + 1
  
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
让用户可以随时查找曲线上任意点的坐标(函数值) 附件的 .mht文件,是一个简单介绍贝塞尔三次插值的文档,可以用IE打开,更多贝塞尔插值的算法,可以用搜索引擎找 附件的 .xls文件,打开以后,会看见三个工作表,分别演示了 找一个数值在曲线上的一组对应点 找一个数值在曲线上的所有对应点 和贝塞尔曲线是怎样在通过每两个节点的(每一对输入的X-Y数值代表平面坐标系的一个点,称为节点,Excel的平滑曲线通过每一个节点) 要在其他Excel文档使用 BezireInt() 函数,需要按Alt+F11,双击模块一 复制所有文字 然后打开其他Excel文档按Alt+F11,插入---模块,然后粘贴所有文字 自定义函数的使用方法是: 在空白单元格输入 =BezierInt(X坐标的范围,Y坐标的范围,待查的数值) 函数就会返回一个包含六个元素的数组,分别是三个点的X,Y坐标 如: 你根据 a1:a4的数值作为X值,b2:b4的数值作为Y值,画了一个平滑线散点图 想查找c1的数值是不是在这条曲线上 就可以输入 =Index( BezierInt(a1:a4,b1:b4,c1) ,1,1) 得到曲线上第一个 X值=C1数值的点的X坐标 =Index( BezierInt(a1:a4,b1:b4,c1) ,1,2) 得到曲线上第一个 X值=C1数值的点的Y坐标 =Index( BezierInt(a1:a4,b1:b4,c1) ,1,3) 得到第2个 X值=C1数值的点的X坐标 =Index( BezierInt(a1:a4,b1:b4,c1) ,1,4) 得到第2个 X值=C1数值的点的Y坐标 =Index( BezierInt(a1:a4,b1:b4,c1) ,1,5) 得到第3个 X值=C1数值的点的X坐标 =Index( BezierInt(a1:a4,b1:b4,c1) ,1,6) 得到第3个 X值=C1数值的点的Y坐标 如果有多段曲线上的点包含C1的数值,那么可以增加输入参数,指定从哪个节点开始查找 =Index( BezierInt(a1:a4,b1:b4,c1,3),1,1) 得到从第三组X-Y数据开始查找, 返回第一个符合C1数值的点的X坐标 =Index( BezierInt(a1:a4,b1:b4,c1,3),1,2) 得到从第三组X-Y数据开始查找,返回第一个符合C1数值的点的Y坐标 函数默认输入数值是X值,要根据Y值找点的话,还可以增加输入参数, 指定输入的是Y值 =Index( BezierInt(a1:a4,b1:b4,c1,1,"Y"),1,1) 得到返回曲线上第一个 Y值=C1数值的点的X坐标如此类推......
Excel VBA可以通过自动化Word应用程序来批量生成Word文档。具体的实现过程如下: 1. 在Excel中,首先需要创建一个具有必要数据的数据源。可以将数据存储在Excel表格中,也可以使用其他文件和数据源。 2. 在VBA中,使用创建Word应用程序对象的代码来创建Word应用程序实例。如下所示: Dim wordApp As Object Set wordApp = CreateObject(“Word.Application”) 3. 然后,使用Word应用程序对象中的不同方法和属性来创建Word文档。如下示例代码: Dim wordDoc As Object Set wordDoc = wordApp.Documents.Add 4. 确定或使用数据源的内容来更新Word文档。如下代码示例: Dim table As Object Set table = wordDoc.Tables.Add(Range:=wordDoc.Range(0, 0), NumColumns:=3, NumRows:=5) With table '设置表头 .Cell(1, 1).Range.Text = "姓名" .Cell(1, 2).Range.Text = "学号" .Cell(1, 3).Range.Text = "分数" '设置数据 .Cell(2, 1).Range.Text = "张三" .Cell(2, 2).Range.Text = "20200901" .Cell(2, 3).Range.Text = "88" .... End With 5. 将文件保存到指定的文件夹或位置。如下所示: wordDoc.SaveAs (“C:\Users\myfolder\file1.docx”) 6. 完成后,关闭Word应用程序实例并释放所有对象,以避免内存泄漏。如下所示: wordApp.Quit Set wordDoc = Nothing Set wordApp = Nothing 在以上的示例代码中,可以根据需要进行修改,以满足所需的文档样式和内容。通过Excel VBA生成Word文档,可以实现高效、快速、准确地批量生成文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值