发现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、上述代码其实可以额外起一个作用,就是对原始度分秒数据的文本格式做质检。

附:用VBA得到EXCEL表格中的行数和列数

Excel中使用VBA进行度分秒与十进制度的转换的更多相关文章

  1. Excel中使用VBA访问Access数据库

    VBA访问Access数据库 1. 通用自动化语言VBA VBA(Visual Basic For Application)是一种通用自动化语言,它可以使Excel中的常用操作自动化,还可以创建自定义 ...

  2. 如何在Excel中通过VBA快速查找多列重复的值

    今天项目组的一个同事问我如何快速的找到一个Excel中第3列和第5列的值完全重复的值,我想了想虽然Excel中自带查找重复值的功能,但是好像只能对同一列进行比较,所以就写了一个VBA进行处理,VBA非 ...

  3. Roland钢琴开发中音符值、度、与音名之间的转换算法

    在Roland钢琴伴侣的开发中,首先将mid文件解析出来取到每一个音符的起始时间,每一个音符的时值,音符值(比如中央C的值是60),在绘五线谱的时候需要将每一个音符值与它对应的度(octave)和音名 ...

  4. C#: 数字经纬度和度分秒经纬度间的转换

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Cons ...

  5. 度分秒转换十进制度 之Excel实现

    我们都知道,1°=60′,1′=60″,1°=3600″.那么,轻而易举容易计算:112°18′37.6″=112+18/60+37.6/3600≍112.3104444°这当然是有参考价值的,比如爬 ...

  6. 用VBA计算WPS 表格ET EXCEL中的行数和列数的多重方法

    用VBA计算WPS 表格ET EXCEL中的行数和列数 每种方法中上面的是Excel的行数,下面的是Excel的列数. 方法1: ActiveSheet.UsedRange.Rows.Count Ac ...

  7. Excel中的宏--VBA的简单例子

    第一步:点击录制宏 第二步:填写宏的方法名 第三步:进行一系列的操作之后,关闭宏 第四步:根据自己的需要查看,修改宏 第六步:保存,一般是另存为,后缀名为.xlsm,否则宏语言不能保存. 到此为止恭喜 ...

  8. VBA在Excel中的应用(一):改变符合条件单元格的背景颜色

    在使用excel处理数据的时候,为了能更清晰的标示出满足特定条件的单元格,对单元格添加背景色是不错的选择.手工处理的方式简单快捷,但是当遇到大批量数据,就会特别的费时费力,而且不讨好(容易出错).通过 ...

  9. VBA读取word中的内容到Excel中

    原文:VBA读取word中的内容到Excel中 Public Sub Duqu()      Dim myFile As String     Dim docApp As Word.Applicati ...

随机推荐

  1. web中的中文乱码处理

    1.页面设置pageEncoding="UTF-8" <%@ page contentType="text/html;charset=UTF-8" lan ...

  2. dubbo+springMVC+Spring+Mybatis

    1.新建Maven Project 1.1   1.2   2新建Maven Module ——提供者和消费者都需要引用的共同代码块(如entity和service接口) 2.1 2.2 2.3 2. ...

  3. Web标准:一、xhtml css基础知识

    说明:这些知识是我看<十天学会DIV+CSS教程完整版 完美整理+完整代码>这篇文章后记下来的一些内容,包括少部分不懂得地方去百度到的一些解释等,该文章的地址: http://wenku. ...

  4. RecycleView实现侧滑删除item

    对于列表空间的侧滑操作,网上有很多开源的空间可以使用,Google在它的新控件RecycleView中增加了侧滑的API,完全遵循Material Design设计规范,下面看看效果演示: 下面看看介 ...

  5. 14.7.1&14.7.2

    ArrayList <Object> list = new ArrayList<>(); //实例化ArrayList int i; int j; for(i = 1; i & ...

  6. Treasures and Vikings(两次搜索)

    Treasures and Vikings https://www.luogu.org/problemnew/show/P4668 题意翻译 你有一张藏宝图,藏宝图可视为 N×MN×M 的网格.每个格 ...

  7. swift OC混编工程,xcode断点调试,控制台左侧只有变量名称不显示值,右侧输入po命令,打印除一堆提示

    断点调试 (lldb) po 变量名warning: Swift error in module 项目名.Debug info from this module will be unavailable ...

  8. php 的多进程实践

    php的多进程处理依赖于pcntl扩展,通过pcntl_fork创建子进程来进行并行处理.   例1如下: <?php $pid = pcntl_fork(); if($pid == -1) { ...

  9. Linux动态共享库

    Linux操作系统上面的动态共享库大致分为三类:   一.操作系统级别的共享库和基础的系统工具库 libc.so, libz.so, libpthread.so等等,这些系统库会被放在/lib和/us ...

  10. csv中文乱码

    处理办法:https://jingyan.baidu.com/album/3c48dd3464b46ce10be3581f.html?picindex=2