vba常用技巧(VBA的几点技巧)

2025-07-23 18:15:02 0

vba常用技巧(VBA的几点技巧)

大家好,如果您还对vba常用技巧不太了解,没有关系,今天就由本站为大家分享vba常用技巧的知识,包括VBA的几点技巧的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

本文目录

VBA的几点技巧

    Execl中的大量行内容经过一些处理后出力到文件时,一件一件写入虽然可以,但影响性能。

    可以通过分批写入文件的方法。

   Sub outBigData() 

         Dim content As String

        Dim fileName As String;

        fileName = "C:\work\test.txt"

         Dim i  As Integer

          i = 1 

        while ActiveSteet.Cells(i,4).Value《》"" 

         ’逻辑处理循环组装出力内容

        content  = content  & Chr(34) &  "aaaaaaaaa" & Chr(34)’双引号

        content = content & vbLf ’换行符

         IF i》=200 and i mod 200=0 Then  ‘每200行出力一次

                whiteFile fileName, content 

               content = ""

         End If

         i=i+1

        Loop

    If Not IsEmpty(content) Then

        whiteFile fileName, content 

    End If

   End Sub 

  Sub whiteFile(Byval fileName As String, ByVal content As String)

        Open fileName for Append As  #1

         Print #1, content ;  ’注意这里的分号是提示不要自动换行的意思,不用分号就会每次输出文件就多一行空行

        Close

   End Sub

Sub convertFileUTF8(ByVal inputFile as String, ByVal outPutFile As String)

Dim writeStream As Object

Dim fBytes() As Byte

Dim uniString As String

Dim freeNum as Integer

freeNum = FreeFile

ReDim fBytes(1 to FileLen(inputFile)) ’注意这里是从1到文件长度,从0开始就会在输出的文件里多出力一个空格

Open inputFile for Binary Access Read As #freeNum

  Get #freeNum, , fBytes ’读取文件到Byte数组

Close #freeNum

uniString= StrConv(fBytes,vbUnicode)

Set writeStream = CreateObject("ADODB.Stream")

With writeStream 

   .Type= 1

  .Mode = 3

  .Charset = "utf-8"

  .Open

 .writeText uniString

 .SaveToFile outPutFile, 2

.Flush

.Close

End With

Set writeStream = Nothing

End Sub

Sub removBom(ByVal getPath As String, ByVal putPath As String)

     Dim getFileNum As Integer, putFileNum As Integer

    Dim fBytes() As Byte

    Set fos = CreateObject("Scripting.FileSystemObject")

    If fos.FileExists(putPath) Then

        Kill putPath’如果转换后文件已经存在就先删除掉

    End If

    getFileNum  =1

    putFileNum  =2

    Open getPath for Binary As #getFileNum 

    Open putPath for Binary As #putFileNum 

    ReDim fBytes(1 to LOF(getFileNum)-3)  ’这里不是从0开始是从1开始的不然转换后文件会多一个空格,-3是因为BOM占3字节

   Seek #getFileNum, 4 ’跳过文件开头的BOM的3个字节

   Get #getFileNum, ,fBytes

   Put #putFileNum , ,fBytes

   Close #getFileNum

   Close #putFileNum 

End Sub

有哪些使用vba提高工作效率的技巧

例如需要把所有的工作表名称放到A列,可以用下面的简单VBA实现:

Sub YgB()
    Dim i
    For i = 1 To Sheets.Count
        Cells(i, 1) = Sheets(i).Name
    Next i
End Sub

当表比较多的时候,这个活也是累人的。

稍微修改上面的代码,可以实现把所有表的内容复制到一个表里面。

Excel vba

Private Sub Command1_Click()
Dim strChar As String
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
xlApp.Visible = True
Set xlSheet = xlBook.Worksheets(1)
xlSheet.Activate
xlSheet.Range("b1") = "测试数据" ’测试用的,对你所提问没有没有关系

xlSheet.Range("b1:b15").Merge ’测试用的,对你所提问没有没有关系,合并单元格(B1;b15)

xlSheet.Range("b1:b15").UnMerge ’分解单元格,原内容自动填充到分解后的第一单元格.这句也是你问题的答案,不过你要根据你的具体情况改变“("b1:b15")”

xlSheet.Range("c:c").Merge ’测试用的,对你所提问没有没有关系

xlSheet.Range("c:c").UnMerge ’这句是你的第二问的答案。具体含义是拆分第C列,这句也要根据你的具体情况改变“("c:c")”,既把引号内的括号内的c改成其他英文字母。

Set xlBook = Nothing
xlApp.Quit
End Sub
备注:我用的excel2007,excel2003应该一样。给你说一个小技巧,你用VBA技术时,你可以先录制一个宏,然后在宏的基础上和你的具体需要更改你录制的宏代码,然后复制到你写的代码中就可以了,不过前提是你知道一些VBA基础知识。

关于vba常用技巧和VBA的几点技巧的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

vba常用技巧(VBA的几点技巧)

本文编辑:admin

更多文章:


c lambda函数(c#中这个符号什么意思(=>))

c lambda函数(c#中这个符号什么意思(=>))

各位老铁们,大家好,今天由我来为大家分享c lambda函数,以及c#中这个符号什么意思(=>)的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!本文目录c#

2026年6月8日 02:45

linux显示最近执行的命令(如何查看linux服务器运行状态)

linux显示最近执行的命令(如何查看linux服务器运行状态)

各位老铁们好,相信很多人对linux显示最近执行的命令都不是特别的了解,因此呢,今天就来为大家分享下关于linux显示最近执行的命令以及如何查看linux服务器运行状态的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!本文

2026年4月16日 06:15

cms内容是什么(cms什么意思)

cms内容是什么(cms什么意思)

大家好,关于cms内容是什么很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于cms什么意思的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录cms什么意思

2025年9月28日 19:30

balloons翻译(balloon用汉语怎么说)

balloons翻译(balloon用汉语怎么说)

大家好,关于balloons翻译很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于balloon用汉语怎么说的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目

2026年1月14日 11:45

网站网页进口(易烊千玺个人网站网址链接入口)

网站网页进口(易烊千玺个人网站网址链接入口)

“网站网页进口”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看网站网页进口(易烊千玺个人网站网址链接入口)!本文目录易烊千玺个人网站网址链接入口一个网站的入口网页又称为qq邮箱网页版登录入口《意间ai绘画》官方网站入口北京时

2025年7月19日 06:15

scum2022作弊码大全(人渣武器代码是什么 人渣武器代码介绍)

scum2022作弊码大全(人渣武器代码是什么 人渣武器代码介绍)

大家好,关于scum2022作弊码大全很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于人渣武器代码是什么 人渣武器代码介绍的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位

2026年7月24日 14:45

横向多条件求和(怎样在Excel 中 编写横向 多条件求和公,至少同时满足2个条件,再对指定的行区域进行求和)

横向多条件求和(怎样在Excel 中 编写横向 多条件求和公,至少同时满足2个条件,再对指定的行区域进行求和)

各位老铁们好,相信很多人对横向多条件求和都不是特别的了解,因此呢,今天就来为大家分享下关于横向多条件求和以及怎样在Excel 中 编写横向 多条件求和公,至少同时满足2个条件,再对指定的行区域进行求和的问题知识,还望可以帮助大家,解决大家的

2026年5月16日 11:45

carrytakebring的区别(bring, take, carry的区别是什么)

carrytakebring的区别(bring, take, carry的区别是什么)

大家好,关于carrytakebring的区别很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于bring, take, carry的区别是什么的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注

2026年1月25日 23:30

static局部变量和全局变量(请用自己的话解释全局变量与局部变量的区别,静态变量与自动变量的区别)

static局部变量和全局变量(请用自己的话解释全局变量与局部变量的区别,静态变量与自动变量的区别)

大家好,static局部变量和全局变量相信很多的网友都不是很明白,包括请用自己的话解释全局变量与局部变量的区别,静态变量与自动变量的区别也是一样,不过没有关系,接下来就来为大家分享关于static局部变量和全局变量和请用自己的话解释全局变量

2025年7月24日 21:00

在线随机数生成器在哪找到的(1~33选6个数组合找什么软件)

在线随机数生成器在哪找到的(1~33选6个数组合找什么软件)

今天给各位分享1~33选6个数组合找什么软件的知识,其中也会对1~33选6个数组合找什么软件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录1~33选6个数组合找什么软件新媒体运营有哪些比较好用的工具和网站1~

2026年2月1日 14:45

编程c++入门(c++入门难吗)

编程c++入门(c++入门难吗)

大家好,关于编程c++入门很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于c++入门难吗的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!本文目录c++入门难吗C

2026年7月16日 16:00

phparray可以遍历数组吗(PHP 遍历多维数组,获取指定的值)

phparray可以遍历数组吗(PHP 遍历多维数组,获取指定的值)

“phparray可以遍历数组吗”相关信息最新大全有哪些,这是大家都非常关心的,接下来就一起看看phparray可以遍历数组吗(PHP 遍历多维数组,获取指定的值)!本文目录PHP 遍历多维数组,获取指定的值PHP,如何遍历一个数组,并且把

2026年8月16日 22:00

dul是什么意思(nsk轴承dul和sul的区别)

dul是什么意思(nsk轴承dul和sul的区别)

其实dul是什么意思的问题并不复杂,但是又很多的朋友都不太了解nsk轴承dul和sul的区别,因此呢,今天小编就来为大家分享dul是什么意思的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!本文目录nsk轴承dul和sul

2026年5月15日 15:30

半导体制裁31家企业名单(2022被美国制裁的上市公司)

半导体制裁31家企业名单(2022被美国制裁的上市公司)

今天给各位分享2022被美国制裁的上市公司的知识,其中也会对2022被美国制裁的上市公司进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!本文目录2022被美国制裁的上市公司被美国列入实体清单的公司“芯片制裁”又来了,国

2025年9月4日 01:45

suffuse英文(阅历的英文)

suffuse英文(阅历的英文)

大家好,如果您还对suffuse英文不太了解,没有关系,今天就由本站为大家分享suffuse英文的知识,包括阅历的英文的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录阅历的英文一篇关于扫雪的英语作文求《青花瓷》《江

2026年3月17日 23:45

php什么框架性能最好(PHP开发用哪种框架)

php什么框架性能最好(PHP开发用哪种框架)

大家好,今天小编来为大家解答以下的问题,关于php什么框架性能最好,PHP开发用哪种框架这个很多人还不知道,现在让我们一起来看看吧!本文目录PHP开发用哪种框架目前php开发网站,最为流行的框架是哪几个_php开发框架排行当下最流行的PHP

2025年10月2日 08:30

21探戈中控显示屏出现update(如何升级车载中控显示器)

21探戈中控显示屏出现update(如何升级车载中控显示器)

这篇文章给大家聊聊关于21探戈中控显示屏出现update,以及如何升级车载中控显示器对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。本文目录如何升级车载中控显示器捷途林版21中控到23款吗怎么升级crv中控屏幕softwareupda

2026年8月26日 02:45

使用多线程打开文件什么意思(怎么理解多线程,为什么要用多线程)

使用多线程打开文件什么意思(怎么理解多线程,为什么要用多线程)

大家好,如果您还对使用多线程打开文件什么意思不太了解,没有关系,今天就由本站为大家分享使用多线程打开文件什么意思的知识,包括怎么理解多线程,为什么要用多线程的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!本文目录怎么理解多

2026年2月3日 02:00

java string属于什么类型(java string是什么类型)

java string属于什么类型(java string是什么类型)

大家好,关于java string属于什么类型很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于java string是什么类型的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对

2025年12月2日 20:15

js的removechild(js,html5,css3.求js里面的remove()方法如何使用)

js的removechild(js,html5,css3.求js里面的remove()方法如何使用)

各位老铁们好,相信很多人对js的removechild都不是特别的了解,因此呢,今天就来为大家分享下关于js的removechild以及js,html5,css3.求js里面的remove()方法如何使用的问题知识,还望可以帮助大家,解决大

2025年6月19日 14:45

近期文章

本站热文

electronics软件(labcenter electronics是什么软件)
2025-05-22 23:45:02 浏览:134
博客是微博吗(博客是微博吗)
2025-05-22 22:45:01 浏览:111
diversity and distribution(悬赏英语短文)
2025-05-23 16:15:02 浏览:107
ios软件开发前景(iOS就业前景怎么样)
2025-05-22 23:00:01 浏览:102
next month(有The next month这个单词吗,和 next month有什么区别)
2025-05-23 02:30:01 浏览:102
patron(patron是什么意思)
2025-05-23 10:30:02 浏览:95
标签列表

热门搜索