用程序计算数据,得到不同公司、不同项目的数据结果,最终还要将每个公司的数据结果放在各自的单独文件中。
这就需要在vba中新建、保存excel文件。
掌握几个东西就能很熟练了:
1、要想保存在当前目录下,需要调用thisworkbook.path得到当前文件的目录,得到的就是个string值,如“e:\download”。我通常是先定义一个string变量myPath,然后一上来就myPath=thisworkbook.path进行赋值。
2、新建工作簿的代码就是workbooks.add,我通常也是先定义一个workbook变量myBook,然后赋值,set myBook=workbooks.add。
3、修改工作表的名称了,我还是先定义一个worksheet变量mySheet,然后赋值set mySheet=myBook.sheets("sheet1")。再然后进行命名,mySheet.name="data"。
4、这里,我一般是让新建的工作簿只有一个工作表。所以,一开始我就会设定application.sheetsinnewworkbook=1。这样子新建出来的workbook就只有一个sheet了。
5、计算完成之后就是保存了。就要调用activeworkbook.saveas。最好都是写包含目录和文件扩展名在内的文件全名。不容易错。前面不是已经得到当前目录了,就是myPath。我一般也是先设定一个string变量myFileName,然后赋值,myFileName=myPath & "\" & "某某某.xlsx"。这里提醒一下的是,(1)不要漏了“\”;(2)连接符&左右都要加空格,要不然vba编译出问题,亲身体验。
6、关闭文件,调用activeworkbook.close。我一般会让它保存修改内容,就是activeworkbook.close savechanges:=true。免得会出现提示。
7、如果批量新建,套在for语句里吧。

在VBA中新建工作簿的更多相关文章

  1. 在VBA中调用工作表函数

    虽然VBA几乎可以完成所有工作表函数的功能,但是有时候在无法打开思路的时候,适当调用一些工作表函数也未尝不可,在VBA中调用工作表函数需要用到 WorksheetFunction对象,例如: Work ...

  2. Excel VBA 从一个工作簿查找另一个一个工作簿中的一些内容复制到另外一个工作簿

    帮朋友来写个Excel VBA 以前写过ASP,所以对vb略微熟悉,但VBA 没有仔细研究过. 以前只研究过 vba 写一个 计算个人所得税的程序. 这次写的功能也算是简单,但也耗费了两天的功夫. 需 ...

  3. Excel VBA 从外部工作簿取数的5种方法

    '======================================================= '1.循环单元格取数,效率最低,不可取,初学者易犯 '2.区域相等取数 '3.复制粘贴 ...

  4. 【VBA编程】14.操作工作簿对象

    [访问工作簿] 对已经打开的工作簿,可以通过使用索引号来访问工作簿,也可以通过名称来访问工作簿 [代码区域] Sub 访问工作簿() Dim counter As Integer counter = ...

  5. VBA关闭工作簿和退出Excel

    VBA关闭工作簿和退出Excel链接:http://www.excelpx.com/thread-233045-1-1.html 兰色幻想VBA基础入门和高级开发全套80集视频教程,助你成为VBA开发 ...

  6. EXCEL 如何将多个工作表或工作簿合并到一个工作表

    在使用Excel 时,我们经常需要将多个工作表或工作簿合并到一个工作表中,这样我们就能快速地对数据进行分析和统计.对于一般用户而言,除了复制每个工作表后再粘贴,没有其他什么方法了.如果只是合并少数几个 ...

  7. excel-合并多个Excel文件--VBA合并当前目录下所有Excel工作簿中的所有工作表

    在网上找EXCEL多文件合并的方法,思路: 一.Linux 或者window+cmder,直接用命令行cat合并EXCEL文件,但是,需要安装辅助东西才能直接处理(也许也不可以,但是,可以用文件格式转 ...

  8. Excel VBA在生成副本的工作表中插入本工作簿中的VBA模块代码

    即在工作簿中添加一个工作表,然后移出并存为新的工作簿,在移出前将本工作簿的一个模块的代码拷贝至新的工作簿.下面是关键代码: '===================================== ...

  9. [VBA]汇总多个工作簿的指定工作表到同一个工作簿的指定工作表中

    sub 汇总多个工作簿() Application.ScreenUpdating = False Dim wb As Workbook, f As String, l As String, n As ...

随机推荐

  1. 【转】 linux内存管理

    一 为什么需要使用虚拟内存 大家都知道,进程需要使用的代码和数据都放在内存中,比放在外存中要快很多.问题是内存空间太小了,不能满足进程的需求,而且现在都是多进程,情况更加糟糕.所以提出了虚拟内存,使得 ...

  2. HTTP性能小测试

    一直说node.js如何如何好,就来测试一下吧~~ 首先接受一个小工具 Apache Bench简称ab 可以用来测试http性能 利用Apache Bench测试Web引擎性能关于此工具的详细介绍参 ...

  3. 项目公共js(vue.js)

    var urlHead = "http://hm.runorout.com/";// var urlHead = "/";/*加入跑班相关*/var urlGe ...

  4. SPSS数据分析—判别分析

    判别分析作为一种多元分析技术应用相当广泛,和其他多元分析技术不同,判别分析并没有将降维作为主要任务,而是通过建立判别函数来概括各维度之间的差异,并且根据这个判别函数,将新加入的未知类别的样本进行归类, ...

  5. VMware Workstation 10+Centos7(64位)共享文件夹

    这一两天一直在研究VMware Workstation自带的共享文件夹的功能,期间出了不少问题,在公司搭建的是vm10.0+centos07,在家搭建的是VM 7+centos07... 公司环境搭建 ...

  6. LoadRunner ERROR: java.lang.NumberFormatException

    Loadrunner中使用lr_xml_get_values()获取服务端返回的字符串LcsId,LcsId为double,需要将该值转换为 int 后传入下一次请求中. 报错如下:Error is ...

  7. PE文件学习系列笔记四-C++实现PE文件的分析

    合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q  Q:408365330     E-Mail:egojit@qq.com 综述: 首 ...

  8. python【6】-函数式编程

    一.高阶函数 map,reduce 1.map() 函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. def f(x): retur ...

  9. fiddler监听127.0.0.1或localhost

    localhost/127.0.0.1的请求不会通过任何代理发送,fiddler也就无法截获. 解决方案 1,用 http://localhost. (locahost紧跟一个点号)2,用 http: ...

  10. redhat openshift 跳转

    网址: https://openshift.redhat.com/ OpenShift免费套餐的限制是:最多15PV/s,有3个512MB内存的应用,月流量在50K以下. 可以绑米,可惜的是,需要代理 ...