ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

给定坐标求面积,以及确定坐标顺序以便连点成面

2022-06-22 14:31:12  阅读:133  来源: 互联网

标签:连点 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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有