excel矩阵数据怎么绘制线条
超过矩阵数据怎么绘制线条
问:如下所示,左侧是一个四行四列的数值矩阵,要使用VBA根据这些数值绘制右侧的图形。
绘制规则是这样的:找到最小的数值(忽略),将其与第2小的数值用点划线连接,再将第2小的数值与第3小的数值用点划线连接,依此类推,直到连接到最大的数值。在连接的过程中,遇到不连接,如果两个要连接的数值之间有其他数,则从这些数值上直接跨过。如所示,连接的顺序是1-2-3-4-5-6-7-8-9-1 -11-12-13。
VBA代码如下:
'在超过中使用VBA连接单元格中的整数
'输入: 根据实际修改范围和范围变量
范围包括数字矩阵的单元格区域
范围输出区域左上角单元格
子连接号()
变暗范围作为范围,范围作为范围
调暗单元格上一个作为范围
调暗单元格下一个范围
将单元格调暗为范围
作为一个整体
可变范围(作为变体)
设置范围IN=范围(“B3:E6”)
设定范围=范围(《H3》)
'删除工作表中已绘制的形状
删除箭头
ReDim arrRange()
'在一维数组中存储单元格区域中所有大于的整数
对于范围内的每个单元格
Ifcell .值和_
IsNumeric(单元格。值)和_
细胞。值=Int(单元格。值)然后
'仅存储整数
ReDim保留数组
arrRange(i)=单元格。价值
i=i 1
如果…就会结束
下一个单元格
'排序数组(使用冒泡排序)
调用气泡启动(arrRange)
'遍历数组,找到单元格区域相应单元格
对于I=单音(arrRange)至单音(arr范围)-1
设置cellPrev=rangeIN .Find(arrRange(i),_
LookIn:=xlValues,lookat :=XlAll)
设置单元格下一个=范围find(arrRange(I ^ 1),_
LookIn:=xlValues,lookat :=XlAll)
范围相对于范围合适的偏离来绘制形状
调用绘制箭头(单元格预览.偏移量(_
范围(1,1)。行范围(1,1)。第行,_
范围(1,1)。列范围(1,1)。栏),_
细胞下一个.偏移(范围(1,1)。行范围(1,1)。第行,_
范围(1,1)。列范围(1,1)。列))
接下来我
末端接头
'冒泡排序法
子气泡启动(我的阵列)(作为变体)
'从小到大排序
我如龙,我如龙
变暗温度变量
对于i=LBound(MyArray)到UBound(我的数组)1
对于j=i 1至UBound(MyArray)
如果MyArray(i) MyArray(j)那么
温度=MyArray(j)
MyArray(j)=MyArray(i)
MyArray(i)=温度
如果…就会结束
下一个j
接下来我
末端接头
'从一个单元格中心绘制到另一个单元格中心的线条
专用子绘图箭头(从范围作为范围,到范围作为范围)
将小命令一设为双精度,将小命令2设为双精度
将dtop1调为双倍,dtop2调为双倍
将灯一调暗为两倍,将灯2调暗为两倍
昏暗的一倍,昏暗的2倍
小命令1=FromRange .左边的
命令2=存储范围.左边的
dtop1=FromRange .顶端
dtop2=ToRange .顶端
dheight1=FromRange .高度
dheight2=ToRange .高度
dwidth1=FromRange .宽度
dwidth2=存储范围.宽度
活动纸。形状。添加连接器(多连接器直线,_
数据1/2,数据1/2,数据1/2,
dt F2 dwit H2/2,dtop2 dheight2/2).挑选
'格式化线条
选择。形状范围。线条。BeginArrowheadStyle=msoArrowheadOval。endarrowadstyle=msoArrowheadOval。DashStyle=msoLineDash。重量=1.75。ForeColor。RGB=RGB(,)
以…结尾
末端接头
'删除所有形状
子删除箭头()
昏暗的形状
对于活动表中的每个小水电.形状
如果小水电.连接器=msoTrue然后
小水电.删除
如果…就会结束
下一个自行榴弹炮(Self Propelled Howitzer)
末端接头
版权声明:excel矩阵数据怎么绘制线条是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。