VBA在EXCEL中创建图形线条

EXCEL使用了多少行: ActiveSheet.UsedRange.Rows.Count(再也不用循环到头啦)

创建线条并命名:ActiveSheet.Shapes.AddLine(x1,y1,x2,y2).name="Line"&CSTR(i)

E.G.

Private Sub ClearPreviousLines()
    Const LINE_FLAG As String = "#LINE#"

    Dim myLine As Shape

    For Each myLine In ActiveSheet.Shapes
        If InStr(1, myLine.Name, LINE_FLAG, vbTextCompare) > 0 Then
            myLine.Delete
        End If
    Next

End Sub

Private Sub MarkCurrentProgress()

    Const LINE_FLAG As String = "#LINE#"
    Const RNG_MAIN_PROG As String = "B5"
    Const COL_PROGRESS As Integer = 10
    Const COLS_PROGRESS As Integer = 10

    Dim r As Long
    Dim x As Integer, y As Integer, h As Integer

    ‘Mark each step progress
    For r = 1 To ActiveSheet.UsedRange.Rows.Count
        strPercent = CStr(Cells(r, COL_PROGRESS).Value)
        If strPercent <> "" Then
            If IsNumeric(strPercent) Then

                With Cells(r, COL_PROGRESS)
                    x = .Left + (Cells(r, COL_PROGRESS + COLS_PROGRESS).Left - .Left) * .Value
                    y = .Top
                    h = .Height
                End With

                ActiveSheet.Shapes.AddLine(x, y, x, y + h).Name = LINE_FLAG & CStr(r)

            End If
        End If
    Next r

    ‘Mark main progress
    Range(RNG_MAIN_PROG).Select
    With Selection
        x = .Left + .Width * Selection(1, 1).Value
        y = .Top
        h = .Height
    End With
    ActiveSheet.Shapes.AddLine(x, y, x, y + h).Name = LINE_FLAG & "Main"

End Sub
时间: 2024-10-25 05:33:06

VBA在EXCEL中创建图形线条的相关文章

VBA在Excel中的应用(三)

目录  Chart Export Chart Format Chart Lengend  Chart Protect  Chart Title  Chart Chart Export 1. 将Excel中的图表导出成gif格式的图片保存到硬盘上 Sub ExportChart()     Dim myChart As Chart     Set myChart = ActiveChart     myChart.Export Filename:="C:\Chart.gif", Filt

VBA在Excel中的应用(一):改变符合条件单元格的背景颜色

在使用excel处理数据的时候,为了能更清晰的标示出满足特定条件的单元格,对单元格添加背景色是不错的选择.手工处理的方式简单快捷,但是当遇到大批量数据,就会特别的费时费力,而且不讨好(容易出错).通过代码来处理是个不错的选择,excel可以通过VBA编程来处理内部数据,在打开excel页面后,可以通过“alt + F11”组合键来启动VBA编程界面,跟VB的编程界面和语法一样,需要注意的是如何调用excel的内容.VBA通过sheet, range和cells三个层次来调用excel中的制定区域

excel中vba将excel中数字和图表输出到word中

参考:https://wenku.baidu.com/view/6c60420ecc175527072208af.html 比如将选区变为图片保存到桌面: 1 Sub 将选区转为图片存到桌面() 2 Dim ans As Byte, Pic As String, Paths As String 3 On Error Resume Next 4 Paths = CreateObject("WScript.Shell").SpecialFolders("Desktop"

[Powershell / VBA] 把excel中的表分离成独立的excel文件

This article also published in Eng @ http://www.cnblogs.com/LarryAtCNBlog/p/4441201.html 今天在两个地方看到了这样一个问题:把一个excel中的表复制出来另存为一个独立的excel文件.其中一个是cnblog,另一个想不起来了.想到自己将来也可能遇到这样的问题,于是用powershell做了一个脚本以备不时之需. Powershell 当然,首先要有一个excel文件包括了一堆表. 用脚本自动化excel最常

通过VBA在Excel中添加菜单和菜单项按钮(Excel启动时候添加)

将以下代码保存到.xlam或.xla(Excel97-2003)文件. 在ThisWorkBook对象中,添加Workbook_Open事件,调用启动菜单过程. Private Sub Workbook_Open() Call MenuSetup(True) End Sub '----------------------------------------------- '在Excel中添加菜单和菜单项按钮(Excel启动时候添加) '------------------------------

利用VBA查找excel中一行某列第一次不为空与最后一列不为空的列数

昨日同事有需求,想知道每个商品第一次销售的月份,以及最后一次销售的月份. 本想通过什么excel函数来解决,但是找了半天也没找到合适的,最后还是通过VBA来解决吧. 使用方法: Excel工具-宏-Visual Basic编辑器 在左侧栏中点右键, 插入-模块 然后输入: 1 Function Last0(ByVal Int_Row As Integer) As Integer 2 Last0 = 14 3 Do While Cells(Int_Row, Last0) = "" And

【Excel&amp;VBA】Excel中汉字转换成拼音

Excel2007为例: “可用加载宏”快捷键——Alt+T+I Microsoft Visual Basic——Alt+F11 1:通过快捷键(Alt+F11)打开VBA编程窗口: 2:在对应Sheet处右键“插入”-“模块”: 3:在新建的“模块”中添加如下代码,运行子过程即可: 1 Function PinYin(Hz As String) 2 Dim PinMa As String 3 Dim MyPinMa As Variant 4 Dim Temp As Integer, i As

VBA excel中批量创建超链接代码(连接当前文档中的sheet)

excel中批量创建超链接代码(连接当前文档中的sheet),在sheet1中B列中要创建一系列的超链接,链接的内容是本文档中的其他sheet,如下图,在sheet1下创建宏,代码如下. Sub 宏1() Dim temp, temp2 Dim i, j j = 1 For i = 5 To 74 temp = "'G" & j & "'!A1" temp2 = "G" & j Range("B" &a

Excel中的宏--VBA的简单例子

第一步:点击录制宏 第二步:填写宏的方法名 第三步:进行一系列的操作之后,关闭宏 第四步:根据自己的需要查看,修改宏 第六步:保存,一般是另存为,后缀名为.xlsm,否则宏语言不能保存. 到此为止恭喜你一个简单的宏已经制作成功,当然宏也可以调用Excel中的公式,例如:sum等,排序,布局,查询,等. Excel中常用对象的简单介绍: 800x600 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternet