美文网首页精进ExcelEXCELExcel 加油站
线表入门-如何优雅的画一条直线

线表入门-如何优雅的画一条直线

作者: Excel老崔 | 来源:发表于2019-05-16 20:55 被阅读0次

前言

看到题目,估计大家都笑了,直线有什么好学的,拿起鼠标点两下不就行了么?

在EXCEL中手动画一条线非常简单,连续画100条线累不累呢,如果数据变了,你要再画一遍吗?

带着这些问题我们看一下vba是怎么画线的。

 探究

在EXCEL中按ALT+F11打开vba编辑器

在代码窗口输入下列代码:

Sub 画线()

ActiveSheet.Shapes.AddLine 50, 20, 300, 100

End Sub

按F5运行,你的活动窗口就画出一条直线,如下图所示.

画线的命令和参数非常简单,就是通过线段起始点和结束点的坐标确定一条直线.格式为

Activesheet.shapes.addline start_x, start_y, finish_x, finish_y

EXCEL以左上角为坐标原点,向左为X轴正方向,向下为Y轴正方向,如下图所示:

想让直线乖乖的听话,首先你要确定端点的坐标,那么端点的坐标与单元格是什么关系呢?

单元格的坐标和尺寸属性如下表所示:

功能解释

CELLS(2,1).LEFT单元格左上角的X坐标

CELLS(2,1).TOP单元格左上角的Y坐标

CELLS(2,1).WIDTH单元格的宽度

CELLS(2,1).HEIGHT单元格的高度

 练习

下面的是一段计划模板,根据开始和结束日期在右面画出相应的线段

首先确定开始日期和结束日期对应的列,公式如下:

D1=MATCH(B2,$A$1:$O$1,1)

 E1=MATCH(C2,$A$1:$O$1,1)

打开vba编辑器来上一段代码:

Sub drawline()

For i = 2 To 4

    Start_x = Cells(i,Cells(i, 4)).Left

    Start_y = Cells(i,Cells(i, 4)).Top + Rows(i).Height / 2

    Finish_x =Cells(i, Cells(i, 5)).Left + Cells(i, Cells(i, 5)).Width

    Finish_y = Start_y

 ActiveSheet.Shapes.AddLine(Start_x,Start_y,Finish_x, Finish_y).Select

    WithSelection.ShapeRange.Line

        .Weight = 3

        .ForeColor.RGB= vbRed

    End With

Next

End Sub

按F5运行代码,结果如下:

 知识点

图形坐标系的认知

代码看不懂没关系,照葫芦画瓢

画线命令:

Activesheet.shapes.addline start_x, start_y, finish_x, finish_y

线宽:

Selection.ShapeRange.Line.Weight=3

线的颜色:

Selection.ShapeRange.Line.ForeColor.RGB = vbRed

这只是图形的入门,思考一下:如果日期栏不是按天而是按周或按月显示,如何去做呢?

相关文章

  • 线表入门-如何优雅的画一条直线

    前言 看到题目,估计大家都笑了,直线有什么好学的,拿起鼠标点两下不就行了么? 在EXCEL中手动画一条线非常简单,...

  • 线表计划进阶-精确定位

    前言 上节课我们讲了直线的画法、命令和关于坐标系的知识,新来的同学可以参考:线表入门-如何画一条直线,并且进行了一...

  • 手绘学习|学好透视,轻松掌握手绘

    大家可以先练下两点透视九宫格 第一步,先画一条视平线,两边取一点为消点。再画一条垂直线,比如垂直线取名为AB线,把...

  • 画 人体1⃣

    步骤1:首先先在纸上画一条横线标为0,其次再画出9条同等宽的线并依次标上0~9,一共是十条横线,最后再画一条垂直线...

  • AI小技巧—连续圆点(1)

    如何制作连续圆点,又好修改呢? 传统方式画圆,ctrl+d,间距对齐 新方式: 1.用“直线工具”画一条直线 2....

  • 画一条直线

    最近在学书法,第一堂课第一个笔画就是横。 横不是一条直线。 人生也不是一条直线。 没有人是按照理想的轨迹慢慢前行的...

  • 《透视如此简单》——20步掌握透视基本原理(二)

    视平线与透视的关系 1.视平线通常用一条直线表示 观察:你坐在椅子上画房间的内景,找个人帮你在墙上画一条与你视线同...

  • Canvas基础知识

    总结一些基础知识 1. 画一条直线 moveTo设置起点,lineTo设置下一坐标 lineCap属性 - 设置线...

  • 直线相交产生的角:对顶角

    欢迎关注公z号:沈阳奥数 若两条直线只有一个公共交点,称这两条直线为相交线。不相交的两条直线角做平行线。 两条直线...

  • canvas基本操作

    画一条直线 画一个矩形 画一个三角形 画一个圆

网友评论

    本文标题:线表入门-如何优雅的画一条直线

    本文链接:https://www.haomeiwen.com/subject/afbwaqtx.html