给定坐标求面积,以及确定坐标顺序以便连点成面
作者:互联网
最近一个朋友,遇到一个问题,给定坐标,以及面积,需连点成面,然后需要求得左边点顺序
做法,在坐标表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