Excel中使用VBA进行度分秒与十进制度的转换
发现Excel的VBA功能真是批量处理的一把利刃,工作中小试牛刀了一把,将Excel中度分秒形式的坐标批量处理成十进制度形式,处理完后用于GIS展点制图。
原Excel数据如下:

VBA代码如下:
Sub Coorder()
Dim Longitude, Latitude As String, arr
Dim num As Integer
Dim LongColIdx As Integer
Dim latColIdx As Integer
LongColIdx =
latColIdx =
num = Application.CountA(ActiveSheet.Range("A:A"))
For i = To num
Longitude = Cells(i, LongColIdx)
arr = Split(Longitude, "°")
Cells(i, LongColIdx + ) = arr()
Longitude = arr()
arr = Split(Longitude, "'")
Cells(i, LongColIdx + ) = arr()
Longitude = arr()
arr = Split(Longitude, """")
Cells(i, LongColIdx + ) = arr()
Cells(i, LongColIdx + ) = Cells(i, LongColIdx + ) + Cells(i, LongColIdx + ) / + Cells(i, LongColIdx + ) / Latitude = Cells(i, latColIdx)
arr = Split(Latitude, "°")
Cells(i, latColIdx + ) = arr()
Longitude = arr()
arr = Split(Longitude, "'")
Cells(i, latColIdx + ) = arr()
Longitude = arr()
arr = Split(Longitude, """")
Cells(i, latColIdx + ) = arr()
Cells(i, latColIdx + ) = Cells(i, latColIdx + ) + Cells(i, latColIdx + ) / + Cells(i, latColIdx + ) /
Next i
End Sub
处理完结果如下:

结论:
1、对于Excel大批量数据处理,效率极高。
① 开发环境方面,无需搭建特定的开发环境,在Excel里就可以进行编码;
② 编码方面,由于直接是寄生于Excel自身,相当于一种内嵌的API,其API接口简单、集成度高、调用方便;
2、上述代码其实可以额外起一个作用,就是对原始度分秒数据的文本格式做质检。
Excel中使用VBA进行度分秒与十进制度的转换的更多相关文章
- Excel中使用VBA访问Access数据库
VBA访问Access数据库 1. 通用自动化语言VBA VBA(Visual Basic For Application)是一种通用自动化语言,它可以使Excel中的常用操作自动化,还可以创建自定义 ...
- 如何在Excel中通过VBA快速查找多列重复的值
今天项目组的一个同事问我如何快速的找到一个Excel中第3列和第5列的值完全重复的值,我想了想虽然Excel中自带查找重复值的功能,但是好像只能对同一列进行比较,所以就写了一个VBA进行处理,VBA非 ...
- Roland钢琴开发中音符值、度、与音名之间的转换算法
在Roland钢琴伴侣的开发中,首先将mid文件解析出来取到每一个音符的起始时间,每一个音符的时值,音符值(比如中央C的值是60),在绘五线谱的时候需要将每一个音符值与它对应的度(octave)和音名 ...
- C#: 数字经纬度和度分秒经纬度间的转换
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...
- 度分秒转换十进制度 之Excel实现
我们都知道,1°=60′,1′=60″,1°=3600″.那么,轻而易举容易计算:112°18′37.6″=112+18/60+37.6/3600≍112.3104444°这当然是有参考价值的,比如爬 ...
- 用VBA计算WPS 表格ET EXCEL中的行数和列数的多重方法
用VBA计算WPS 表格ET EXCEL中的行数和列数 每种方法中上面的是Excel的行数,下面的是Excel的列数. 方法1: ActiveSheet.UsedRange.Rows.Count Ac ...
- Excel中的宏--VBA的简单例子
第一步:点击录制宏 第二步:填写宏的方法名 第三步:进行一系列的操作之后,关闭宏 第四步:根据自己的需要查看,修改宏 第六步:保存,一般是另存为,后缀名为.xlsm,否则宏语言不能保存. 到此为止恭喜 ...
- VBA在Excel中的应用(一):改变符合条件单元格的背景颜色
在使用excel处理数据的时候,为了能更清晰的标示出满足特定条件的单元格,对单元格添加背景色是不错的选择.手工处理的方式简单快捷,但是当遇到大批量数据,就会特别的费时费力,而且不讨好(容易出错).通过 ...
- VBA读取word中的内容到Excel中
原文:VBA读取word中的内容到Excel中 Public Sub Duqu() Dim myFile As String Dim docApp As Word.Applicati ...
随机推荐
- Java连接MySQL数据库及操作
Java操作MySQL数据库,需要驱动mysql-connector-java 来进行操作,去下载对应的jar包 一.导入需要的jar包 我用的是maven对包进行管理,在maven中添加如下内容 ...
- GridView中如何实现自定义时间货币等字符串格式?
方法一: <asp :GridView ID="GridView1" runat="server"> <columns> <asp ...
- 836. Rectangle Overlap 矩形重叠
[抄题]: A rectangle is represented as a list [x1, y1, x2, y2], where (x1, y1) are the coordinates of i ...
- iOS - push 或 pop或点击导航栏返回pop指定导航控制器
以前一直有个很疑惑的问题没有搞清楚 关于ios中 viewcontroller的跳转问题,其中有一种方式是采用navigationController pushViewController 的方法,比 ...
- [leetcode]438. Find All Anagrams in a String找出所有变位词
Given a string s and a non-empty string p, find all the start indices of p's anagrams in s. Strings ...
- [leetcode]139. Word Break单词能否拆分
Given a non-empty string s and a dictionary wordDict containing a list of non-empty words, determine ...
- NetworkStateReceiver的简单应用
一.网络状态接收者是一个广播接收者当网络状态发生改变时会收到网络状态改变的广播 本例当网络状态改变时会进行相应处理 例如当断网时会发出通知点击通知后 会打开网络设置界面 代码如下: package c ...
- Spring框架的JDBC模板技术概述
1. Spring框架中提供了很多持久层的模板类来简化编程,使用模板类编写程序会变的简单 2. 提供了JDBC模板,Spring框架提供的 * JdbcTemplate类 3. Spring框架可以整 ...
- Mint UI 之 Swipe 组件
#为什么不显示内容? 一定要指定 mt-swipe 元素的宽和高. <mt-swipe :auto="4000" class="swipe"> &l ...
- jqgrid单元格合并
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx. ...