首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将包含数字形式的文本文件导入Excel保留文本格式VBA自定义函数

标签:VBA Q:有一个文本文件,其内容包含很多以0开头的数字,如下图1所示,当将该文件导入Excel,Excel会将这些值解析为数字,删除了开头的“0”。...A:我们使用一个VBA自定义函数来解决。...VBA自定义函数代码如下: Function My_OpenTextFile(strPath As String, strDelim As String) As Variant Dim iFile As...假设一个名为“myFile.txt”的文件存储路径“C:\test\”,可以使用下面的过程来调用这个自定义函数: Sub test() Dim var As Variant '根据实际修改为相应的文件路径和分隔符...myFile.txt", ";") With Range("A1").Resize(UBound(var, 1), UBound(var, 2)) .NumberFormat = "@" '修改为文本格式

21510

Word VBA技术:复制带有自动编号的文本并在粘贴保留编号的数字

标签:Word VBA Word文档复制文本并在某处粘贴是经常要进行的操作。...然而,如果文档包含有自动编号的文本内容,例如以自动编号的数字开头的文本,如果要复制的内容不包括第一个编号项,那么这种复制粘贴操作可能会导致问题。在这种情况下,原始文档数字和粘贴的文本将不匹配。...它将创建文本的副本,其中自动编号的数字已被转换为普通文本,以便在粘贴保留数字。...." & vbCr & _ "本程序将自动编号的数字修改为正常文本,以便在其他位置粘贴保持正确的数字编号." & vbCr & vbCr & _ "运行程序前,必须选择想要在其他位置插入的文本...End:=Selection.Range.End) rngRange.ListFormat.ConvertNumbersToText wdNumberParagraph '当转换数字复制所选文本

2.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

VBA多个文件Find某字符的数据并复制出来

VBA多个文件Find某字符的数据并复制出来 今天在工作碰到的问题 【问题】有几个文件,每个文件中有很多条记录,我现在要提取出含有“名师”两个字符的记录。...要打开文件对话框,选中要打开的文件,存入数组,再GetObject(路径)每一个文件打开,用Find指定字符,找到第一个用firstAddress记录起来,再FindNext查找下一个,当循环到最初的位置停止...,把找到的数据整行复制出来就可也。...完成一个文件,再找开一个文件…… 【VBA代码】 SubGetFile_Find_FindNext() Dim fileToOpen, x, total_file_path, m,title_row...Setmysht = ActiveSheet ' mysht.UsedRange.Clear title_row = 1 m = 0 i = 0 ss = VBA.InputBox

2.8K11

VBA实战技巧20:选取不同工作表不同单元格区域禁止用户执行复制剪切粘贴操作

excelperfect VBA实战技巧19:根据用户工作表的选择来隐藏/显示功能区的剪贴板组》,我们讲解了根据用户工作表的选择来决定隐藏或者显示功能区选项卡的特定组的技术。...现在,我们需要用户不同的工作表中选择不同的区域,禁止用户执行复制、剪切、粘贴操作。...例如,当用户选择工作表Sheet1列A的单元格,不能执行复制、剪切、粘贴操作,同样选择工作表Sheet2B2:B15区域和工作表Sheet3的列B、列C的单元格,也不能执行复制、剪切、粘贴操作...图2:Custom UI Editor For Microsoft Office编辑输入XML 重新打开工作簿,按Alt+F11键打开VBA编辑器,插入一个标准模块,输入下面的代码: Public...该单元格区域已禁用剪切,复制和粘贴功能."

2.2K20

常用功能加载宏——单元格数字与文本转换

3、数字格式转换 数字的两种存储格式,Excel里都有它的用处,常规的数字就不用说了,表格里到处都是这些数字。...文本形式存储的数字也有它的用处,比如身份证号码,如果以常规形式输入的话,你会发现超过了15位后,数字都变为了0,这是因为Excel只能保留16位的有效数字,所以要存储超过了15位的数字,就必须使用文本格式...Excel里,假如有一列常规的数字,你想把它转换为文本形式存储的数字,你可能会这样去操作: 选中它 右键设置格式为文本 发现数字左对齐了,这时候你可能以为已经搞定了!...对Excel熟悉的人会使用分列功能来完成数字与文本的转换,用VBA来实现转换功能自然也没有问题: ?...首先在customUI.xml增加代码: <menu id="rbmenuNumber" label="<em>数字</em>处理 " size="large" imageMso="FormattingUnique

2K10

常见的复制粘贴,VBA是怎么做的

复制粘贴可能是Excel中最常见的操作,不然Microsoft怎么会把它们放置最显眼显顺手的位置。当然,使用Excel VBA复制操作单元格区域是一项基本技能。...Excel功能区复制命令 使用VBA代码复制单元格区域之前,看看Excel功能区的“复制”按钮命令。...图1 图2 VBA,如果使用常规的“复制”命令,则使用Range.Copy方法;如果使用“复制为图片”命令,则使用Range.CopyPicture方法。...Excel手工复制单元格区域操作,使用Ctrl+C快捷键,该单元格区域被复制到剪贴板。VBA,使用Range.Copy方法做同样的事情。...为了使用VBA控制特定目标单元格区鞓内复制的内容,必须了解Range.PasteSpecial方法。

11.4K20

INDIRECT函数导言

我们来探究一下里面的传导过程 1.1 传入单元格A1 1.2 单元格A1将自身转化为单元格的值,也就是B1 1.3 B1这个值被自动文本化,变成了"B1"(你可以公式中用F9这个按键验证这一点) 1.4...,纵坐标是12345...所以当你传输到INDIRECT 参数的单元格,其单元格值是符合这种字母+数字的格式的时候,它将被识别为这个格式所代表的单元格,例如B1 3 输出区域对象。...很多嵌套函数,用INDIRECT 的时候你就会发现这一特性。 最后帮助你们从VBA角度理解一下。VBA,Range表示单元格对象,注意,是对象而不是单元格的值。...只要文本的值是符合我们以上所说的字母+数字的特定格式,它就会被认定为单元格。这也正印证了这句话:如果它走起来像鸭子,叫起来像鸭子,那它就是鸭子。蚁人2也有这句话可能编剧是程序员转行的吧。...所以Range表示单元格可以这么写 Range("B1") Range("B"&1) Range("B"&"1") 反正不管你怎么组合,最后里面的参数是文本格式的就行了 这是一篇INDIRECT 函数导言

63320

ExcelVBA调用CDO控件批量发QQ邮件并添加不同附件

中进行私发文件,A单位要---(1)文件夹中找到A文件复制---(2)Q打开私聊窗口---(3)发送文件---(4)发送相关的提示文字---(5)完成1个,B单位要---(1)……--(2)……--...Yeah, 【准备工作】网上学习到有两种方法:一是VBA调用OutLook控件进行发送,这要在电脑中安装Office OutLook,(可惜我的电脑没有安装),一是VBA调用CDO控件,再利用QQ邮箱发送...,好了 QQ邮箱设置: 打开mail.qq.com---设置---帐户---开启POP3---生成授权码 复制出授权码 下面开始设计我自己的工具啦,我们的口号是VBA使工作效率更高 【工具界面】...M_Subject '设定邮件的主题 CDOMail.TextBody = M_TextBody '使用文本格式发送邮件..." & sucess & "【失败】=" & fail) End With disAppSet (True) End Sub 听说,如果我们用程序调用CDO,再调用QQ邮件系统发送邮件

1.7K10

Excel,大多数人只会使用1%的功能

我自认为Excel功底还不错,从Office 2000一直用到现在的Office 365,窗口冻结、区域命名、数据筛选,透视表,高级公式,还有VBA编程等等,不算精通也算高手,但一做题,发现不知道的技巧还真不少...Office 2013,兼容性视图检查功能藏于"文件" -> 信息 -> 检查工作簿 -> 检查问题 -> 检查兼容性。 3....批量修正一些不规范的数字 从基层采集上来的表格中经常会遇到一些不规范的数字,这些数字的前后会藏着空格,甚至是用文本格式保存的,Excel单元格的左上角显示一个小黑三角,用来提示这种可能的错误。...自定义填充序列 有些身份证号码、手机号码或者项目编码,经常需要在里面增删空格或连字符,可以右侧输入一行想要的编码格式,比如我想每三个数字间加一个空格,再双击那个快速填充的“十”字,瞬间完成。...CTRL + SHIFT + ← 快速选择整个表格区域 CTRL + 鼠标滚轮 快速缩放到选定区域 CTRL + ENTER 多个单元格内容快速填充 CTRL + R,复制左侧的单元格 CTRL +

2.1K20

Excel揭秘26:解开“属性采用图表数据点”的功用(1)

复制出的副本很好,但是当更改为新数据,它们会丢失自定义格式。这是怎么了?...为了有助于解释这个“奇怪的”设置,本文将展示几个场景示例,说明使用该功能遇到的问题。然后,展示几个例子来说明它的含义。最后,展示它如何有助于实现我们的场景示例。...(3)制作完美图表的副本(复制粘贴)。(4)更改复制图表的数据。 (1)整理数据。下图1所示是一个简单的数据集,有4列数据,报告的每个图表一列数据。 ? 图1 (2)创建第一个图表并格式化。...图7 (4)更改复制的图表的数据。每个图表显示自己部门的数据,如下图8所示,但自定义格式丢失了。 ? 图8 我们的格式去哪儿了?现在我们将不得不逐个图表应用格式吗?...VBA代码 你可能想在VBA代码更改这些属性。

1.5K30

EXCEL必备工具箱17.0免费版

Vlookup也能按关键字进行查找替换,让几十万条类似vlookup的查找替换也不会卡死(2021.4.5) EXCEL必备工具箱,用号掩盖字符功能,为保护用户隐私,现在电话号码,身份证号码、银行卡号展示都需要用号掩盖几个数字...EXCEL必备工具箱--跨表提取行功能,帮你从相同格式的多张表格中提取关键字一样的行到一个表 EXCEL必备工具箱--强制读取VBA代码,绕过EXCEL安全机制,无论采用何种保护措施,都可以直接读出VBA...EXCEL必备工具箱批量修改页面设置功能,用于批量修改多个工作簿的页边距等页面设置 EXCEL必备工具箱--逐格填写金额数字功能,便于开具发票或年度申报个税逐格填写金额的每个数字 EXCEL必备工具箱...EXCEL必备工具箱,QQ群为你提供个性化帮助 EXCEL必备工具箱--正负数转换功能,瞬间搞定普华永道等审计机构要求按借正贷负填写的表格 EXCEL必备工具箱--批量打印多个工作簿、批量转换成PDF...,方便复制忽略隐藏内容,或者只复制显示的筛选结果 EXCEL必备工具箱--文本与数值转换功能,快速实现将文本格式数字转换成数值,或将数值转换成文本格式 EXCEL必备工具箱--真正的四舍五入功能,屏幕上显示的数据就是实际运算的数据

5.2K40

Vba菜鸟教程

属性-保护-查看锁定-密码 编辑器 注释‘单引号开头,可通过调出编辑窗口批量注释和取消 强制转行:插入两个空格,下划线,回车 debug 工具栏,右键,调试工具栏 首行加上optionexplicit...使得编译更严格,变量申明 f8单步运行,最左边点一下设置断点/f9 Debug Print “立即窗口输出过程的值:”&x 本地窗口可以显示中断,逐步调试的对象信息,变量值,数组信息,Stop可以中断...一个字符 #一个数字 [A-W a-w]a-w或A-W的一个字符 [!...,vba.Information set i = Range(“A1”) ‘set,可以将对象赋值给变量 判断变量未赋值 is nothing 数组 dim arr() '定义数组,不能单独给每个变量赋值...'VBA.Strings,按符号分割字符串,返回数组 'Range("A1") = Split(Range("A1"),"-")(0) With Sheet1 'DateSerial

16.8K40

常见的复制粘贴,VBA是怎么做的(续)

上文参见:常见的复制粘贴,VBA是怎么做的>>> 标签:VBA 使用Worksheet.Paste方法复制粘贴 Worksheet.Paste(Excel VBA没有Range.Paste方法)某种程度上与...查看运行该示例过程的结果,可以发现(i)没有粘贴边框或数字格式,以及(ii)源区域中为空的单元格在建立链接显示0。...注意,这两个参数与Excel复制图片”对话框显示的参数完全相同。 VBA,“复制图片”对话框的每个选项都有对应的VBA设置值。...VBA,可以通过使用XLPictureApearance枚举的合适值来指定:xlScreen(或1)表示外观应尽可能接近屏幕上显示的外观;xlPrinter(或2)表示打印的显示复制图片。...上述列表没有包括复制和粘贴对象的所有VBA方法,主要涵盖了应用于某些主要对象的方法,如图表和工作表。 小结 现在,你应该了解了Excel复制和粘贴单元格和单元格区域可以使用的最重要的VBA方法。

9.9K30

ExcelVBA一健整理(机关事业) 单位保险费征收台账总表

ExcelVBA一健整理(机关事业)单位保险费征收台账总表 【解决的问题】 每个月社保系统上下载的表格,我们要做两件事: 1.删除重复出现的“标题行” 2.把其中的某些行列的数据文本格式转化为数值格式...(身份证与个人编号不要转) 我们每个月社保系统下载的“(机关事业) 单位保险费征收台账总表”总要整理一下,因为每22个人就有一个下面的标题出现 1-6行 29-33行 我们要整理的是:把1-6...晕了 2 VBA解决方法 【VBA解决方法】 思路:用Find 找到"费款所属期", "职业年金", "其中", "本月应征", "个人"所在的行,把整个行删除就可以啦 代码如下: Sub 整理社保台账...Chr(10) & "时间为:"& Format(Timer - ti, "00.00秒") Application.ScreenUpdating = True End Sub 3 把数据文本格式转化为数值格式

29330

Excel VBA解读(163):错误处理技术之概述

学习Excel技术,关注微信公众号: Excelperfect VBA代码,我们经常会看到类似于On Error Resume Next这样的语句,这是编译器代码遇到错误时自动处理的语句。...这些错误通常是由编写代码的人无法控制的事情所引起,例如文件丢失、数据库不可用、数据无效等。 如果认为某种情形下可能发生错误,那么最好编写特定代码以处理这些可能的错误。...VBA的错误类型 VBA,有3类错误: 1.语法错误 2.编译错误 3.运行时错误 使用错误处理来处理运行时错误。...语法错误 当一行代码输入完成后按下回车键VBA会评估其语法是否正确,如果不正确,将显示一条错误消息。 例如,输入If语句忘记了Then,VBA将显示下图1所示的错误消息。 ?...图2 在编写代码,我们可以经常运行菜单栏的“调试—编译”命令,及早发现编译错误。如果菜单“调试”下的“编译”命令为灰色,表明代码不存在编译错误。 运行时错误 程序运行时会发生运行时错误。

3.7K10

VBA专题12:详解GetAttr函数

的第一列是VBA的名称,相对于第二列的值更易理解。VBA程序,可以将 vbXX名称与数字值互换使用。 输出 GetAttr函数输出的究竟是什么呢?...数字是2的幂的原因是:每个属性组合将总是给出一个唯一的数字,并且二进制加法的机制使按位运算更容易。 这种巧妙的技术意味着多个属性可以由一个数字表示而不会丢失任何信息,就像多个维度合并为一个。...当我们查看2的位串表示,我们得到10,其前导零可以无限添加,因此10 =00000010 = 0010,重要的部分是末尾跟随的零(和1)。...为此,将这些数字的任何一个加在一起永远不会“翻转一位”并延续到下一列,因为每个数字都在其自己的列完全表示。 要查看4是否是6的“一部分”,可以检查4的每个1位是否6都有对应的1位。...,我们6有一个1位,按位AND运算符输出产生一个非零数,因此4,vbSystem,是6的一部分。

1.8K20

VBA还能活多久?——完美Excel第169周小结

Excel 5推出的第一个版本起,VBA的存在将近30年。无论你是否学习过编程,这都是一种非常容易学习的编程语言,并且能够快速应用到具体的工作场景。 为什么学VBA?...此外,VBA存在的几十年,已经积累了无数的VBA文档资料,还有大量的论坛社区帮助。 2.使用Excel,借助于VBA,几乎可以做你想做的任何事情。...(续) Excel小技巧45:2个工作表操作习惯,利已也利他 Excel公式技巧45:按出现的频率依次提取列表的数据 Excel小技巧46:单元格输入连续数字的6种方法 资源分享:电子地图下载与拼接器...下面是本周完美Excel社群上分享和讨论的内容: #Excel公式使用经验 查找数字,可以考虑使用SUMIFS函数 数组公式经验分享 #Excel技巧 设置毫秒和超过24小的时间 #Office 365...技术 连接满足条件的多个值并显示一个单元格 #VBA 复制文件到指定的文件夹并重命名 仅显示组成SUMIFS函数的结果的数据 同步多工作表指定区域的数据 快速给所选单元格添加前缀

4.4K40
领券