标签:连点 End Dim Cells 面积 35 成面 坐标
最近一个朋友,遇到一个问题,给定坐标,以及面积,需连点成面,然后需要求得左边点顺序
做法,在坐标表A列插入空列,命名为XH 列,B 列为X坐标系,C为Y坐标系,在表里A列填充假定顺序号,跑一次程序,看面积是否满足要求。
思路:通过改变A列的序号,并排序,然后计算面积;
代码为EXCEL VBA.
Sub getTotal() Dim i As Integer For i = 2 To 35 Dim x If Cells(i, 1) <> Cells(i + 1, 1) Then x = Cells(i, 1) Cells(i, 1) = Cells(i + 1, 1) Cells(i + 1, 1) = x End If Next i Columns("A:D").Select With ActiveWorkbook.Worksheets(1).Sort.Apply End With Dim s, c As Double c = 0 Dim k As Integer For k = 2 To 35 c = c + (Cells(k + 1, 2) - Cells(k, 2)) * (Cells(k + 1, 3) + Cells(k, 3)) Next k s = c / 2 If Round(s, 4) = 4507.293 Then MsgBox s End If End Sub
代码需注意的,总数为34个坐标,根据实际需要更改
For i = 2 To 35
实验面积为
Round(s, 4) = 4507.293
根据需要更改
* 没有采用冒泡法,只是更改顺序,恐有不足
标签:连点,End,Dim,Cells,面积,35,成面,坐标 来源: https://www.cnblogs.com/RedLn/p/16400421.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。