-
navicat 一次 导入 多个 excel_Excel VBA 7.34 将TXT按指定分隔符写入Excel,一次完成导入+分列...
2020-12-14 16:41:13是这样的希望能够是现在写入的过程中,按照指定的分隔符,也就是逗号“,”来进行分割,一行数据就写在同一行场景简介其实如果是单个文件,数据量不是很大的话,上面的情况可以通过导入/写入数据...前景提要(文末提供源码下载)
昨天我们分享了用vba来实现按照指行数写入同一行数据的方法,在某种程度适应了一些小伙伴的工作需要,不过还是那句话,做数据汇总的,总要面对各种千奇百怪的数据源,今天有小伙伴们给我发来一个问题,是这样的
希望能够是现在写入的过程中,按照指定的分隔符,也就是逗号“,”来进行分割,一行数据就写在同一行
场景简介
其实如果是单个文件,数据量不是很大的话,上面的情况可以通过导入/写入数据之后,在进行分列这样子实现效果的,如果按照我们之前的代码进行写入的话,也是需要再次操作数据的分列的,那么是否能够通过VBA代码一次到位呢?
代码区
Sub test()Dim pathnpathn = ActiveWorkbook.PathWith Application.FileDialog(msoFileDialogFilePicker) If .Show = -1 Then f = .SelectedItems(1) End IfEnd Withi = Cells(Rows.Count, 1).End(xlUp).RowWorkbooks.OpenText _ Filename:=f, _ StartRow:=1, _ DataType:=xlDelimited, _ Other:=True, _ OtherChar:=",
-
分割字符串_bat-字符串分割
2021-01-12 22:46:16正文已有一个txt文本:将进酒·君不见.txt对txt中每一行进行分割,分割符采用.,,.分别输出文本文件,观察不同分割符的效果代码@echo offfor /f "delims=., tokens=2" %%i in (将进酒·君不见.txt) do echo %%i>...- 相信大家都知道VBA中的Split函数,那么在bat中是否有类似的功能呢?
正文
- 已有一个txt文本:将进酒·君不见.txt
- 对txt中每一行进行分割,分割符采用.,,.
- 分别输出文本文件,观察不同分割符的效果
代码
@echo offfor /f "delims=., tokens=2" %%i in (将进酒·君不见.txt) do echo %%i>>1.txtfor /f "delims=. tokens=2" %%i in (将进酒·君不见.txt) do echo %%i>>2.txt
代码截图
结果文件
1.txt
2.txt
代码解读
- delims=.,,指定了分隔符,这里指定了.和,为分割符
- tokens=2,指定了分割后,取哪一个部分,分割后的第一部分为1,依次为2,3,4。
- 当省略delims参数,默认使用空格作为分割符;当省略tokens参数时,默认取第1部分for /f %%i in (将进酒·君不见.txt) do echo %%i>>3.txt
Ps:这里也指出之前写的一篇文章的错误,当一行中无空格时,for /f效果看起来就是逐行读出文本文件,但其实它就是读出空格分割后的第1部分
-
VBA调用fso读取TXT转化EXCEL
2019-05-02 03:39:48调用对话框选择打开TXT,设置TXT分割符,将转化文件保存到TXT文件同一目录下。如下图: 关于批量txt转化EXCEL: 可以结合Dir语句,遍历选定目下txt文件,再逐个转化成EXCEL文件。调用文件对话框选择目录语句...VBA:TXT转EXCEL
-
EXCEL版本: 2016
-
适用TXT样式: 固定分隔符规范TXT数据源
-
效果:
调用对话框选择打开TXT,设置TXT分割符,将转化文件保存到TXT文件同一目录下。如下图:
- 关于批量txt转化EXCEL:
可以结合Dir语句,遍历选定目下txt文件,再逐个转化成EXCEL文件。调用文件对话框选择目录语句如下:
Sub select_file_directory() On Error Resume Next Dim dig As Object Set dig = Application.FileDialog(msoFileDialogFolderPicker) With dig '从d盘下开始选择,也可以选择其他盘符。 .InitialFileName = "d:\" .Show '文件目录 file_directory = .SelectedItems(1) End With Set dig = Nothing On Error GoTo 0 End Sub
- 转化代码如下:(感兴趣的朋友可以直接复制使用)
Sub txt_to_excel() '关闭屏幕更新 Application.ScreenUpdating = False Dim arr() Dim brr Dim sep, file_name As String Dim file_path Dim fso, f As Object Dim col, row, i As Long '设置txt分隔符 sep = "|" Set fso = CreateObject("scripting.filesystemobject") '调用文件对话框选择txt文件 file_path = Application.GetOpenFilename("TXT文件,*txt", 1, "请选择目标txt文件~") If file_path = False Then MsgBox "您已经取消选择文件,点击结束程序~": End file_name = Split(file_path, "\")(UBound(Split(file_path, "\"))) file_name = Split(file_name, ".")(0) '从文件路径中截取txt文件名字,用于保存excel命名 Debug.Print file_name '如果不存在,怎创建该文件。第三个参数设置true。第二个参数,1是只读,2是写入,3是追加写入 Set f = fso.opentextfile(file_path, 1, True) '如果文件指针位于 TextStream 文件末,则返回 True;否则如果不为只读则返回 False,只能以只读方式打开,不然会报错。 If f.atendofstream = False Then row = 1 brr = Split(f.readline, sep) 'txt数据一共有col列 col = UBound(brr) + 1 '动态数组只能修改最后一维,数组的第一位“行”固定了,只能到列上扩充,实际还是行坐标,这里还是定义变量row表示数组列。 ReDim Preserve arr(1 To col, 1 To row) For i = 1 To col '分割txt行,赋值到数组 arr(i, row) = brr(i - 1) Next End If Do While f.atendofstream = False row = row + 1 brr = Split(f.readline, sep) ReDim Preserve arr(1 To col, 1 To row) For i = 1 To col arr(i, row) = brr(i - 1) Next Loop '关闭txt对象 f.Close '新建工作簿,保存txt内容 Set wb = Workbooks.Add With ActiveSheet '转置数组,写入到单元格中。 [a1].Resize(UBound(arr, 2), UBound(arr, 1)) = Application.WorksheetFunction.Transpose(arr) End With '保存工作簿 wb.SaveAs ThisWorkbook.path & "\" & file_name & ".xlsx" '关闭工作簿 wb.Close True '恢复屏幕更新 Application.ScreenUpdating = True MsgBox "Convert successfully!" End Sub
-
-
bat-字符串分割
2018-07-28 16:57:03微信公众号原文 系统:Windows 7 ...对txt中每一行进行分割,分割符采用.,,. 分别输出文本文件,观察不同分割符的效果 代码 @echo off for /f "delims=., tokens=2" %%i...系统:Windows 7
引言
- 相信大家都知道VBA中的Split函数,那么在bat中是否有类似的功能呢?
思考:实验设计
- 已有一个txt文本:将进酒·君不见.txt
- 对txt中每一行进行分割,分割符采用
.,
,.
- 分别输出文本文件,观察不同分割符的效果
代码
@echo off for /f "delims=., tokens=2" %%i in (将进酒·君不见.txt) do echo %%i>>1.txt for /f "delims=. tokens=2" %%i in (将进酒·君不见.txt) do echo %%i>>2.txt
代码截图
结果文件
1.txt
2.txt
代码解读
delims=.,
,指定了分隔符,这里指定了.
和,
为分割符tokens=2
,指定了分割后,取哪一个部分,分割后的第一部分为1。- 当省略
delims
参数,默认使用空格作为分割符;当省略tokens
参数时,默认取第1部分
for /f %%i in (将进酒·君不见.txt) do echo %%i>>3.txt
Ps:这里也指出之前写的一篇文章的错误,当一行中无空格时,
for /f
效果看起来就是逐行读出文本文件,但其实它就是读出空格分割后的第一部分
更多精彩,请关注微信公众号
扫描二维码,关注本公众号 -
VBA Split()函数
2018-02-13 14:57:00Split()函数返回一个数组,其中包含基于分隔符分割的特定数量的值。 语法 Split(expression[,delimiter[,count[,compare]]]) 参数说明 Expression - 必需的参数。可以包含带分隔符的字符串的字符串表达式... -
vba_取入csv文件 出力csv文件
2020-12-10 11:04:34vba读取入csv后的格式,基本都是字符串,然后通过分隔符进行拆分,所以,遇到一个字段中包含逗号的,很头疼,但是,根据取入的字符串格式,还是有办法可以解决的 ' filePath 文件路径 ' sheetName 目标sheet页名 ... -
Excel VBA入门(9):实例汇总
2019-09-24 08:03:47我的思路: 把E列的名字分开来,(都是逗号作为分隔符), 根据天数复制这些人名, 最后统计每一个人名出现的次数即可. step1: E 列的人名分割 使用数据分列 得到结果如下 step2 : 根据天数复制名字, 比如第四行的... -
用vba正确打开分号间隔的csv文件
2018-03-23 22:32:43导出到办公电脑上时发现这些csv文件的分隔符不是逗号,而是分号,如果用Excel直接打开,每行的内容会全部堆在第一列而没有分割开,虽然用Excel的分列功能可以简单地解决,但导出的文件非常多,故用vba写了个函数来... -
vba遍历数组_【答疑】数组与Split
2021-01-09 02:54:46来自朋友留言:我们来看下一这个问题的整体思路。要点一:求在A1单元格中不存在的...1,Split函数:Split()函数返回一个数组,其中包含基于分隔符分割的特定数量的值。例如,上面的A1单元格的值"SG-509(金通达),YF50... -
c++统计字符串中某个字符出现的次数_Excel VBA 之 统计词汇出现次数
2020-12-29 03:29:27今天我们来讲一下办公中可能会经常用到的功能,词频统计(统计...因为每个词汇都有分割符,那么就要用到Split函数,我们先看一下官网对Split函数的介绍Split函数介绍首先,定义字典、数组Dim dicDim arrSet dic = Cr... -
sql 发送邮件网络附件_怎样将数据库中的表以XLS附件形式自动发送邮件
2020-12-17 16:06:23数据库服务器还要对你开放,有时你是内网的,数据库服务器也不对你开放的,...二、利用Excel的Power Query接通SQL Server将要的数据取到其它见本页下面分割符后的截图。三、在Excel附件中建立VBA发送邮件给指定人重... -
Excel百宝箱9.0无限制破解版.rar
2012-09-05 09:31:51【公农双历查询】:生成多功能日历,可以查询所有节、假日和农历 ...第一参数为单元格,第二参数表示取第N个,第三个参数表示分割符。 函数名称:共有项 函数功能与参数:返回两个区域共有项目。前两个参数为区域,... -
Excel百宝箱8.0
2011-06-07 21:32:17第一参数为单元格,第二参数表示取第N个,第三个参数表示分割符。 函数名称:共有项 函数功能与参数:返回两个区域共有项目。前两个参数为区域,第三参数为序号。 函数名称:不同项 函数功能与参数:返回第一区域... -
Excel百宝箱 9.0 破解版 批量导入图片等200种功能
2013-05-11 22:46:24第一参数为单元格,第二参数表示取第N个,第三个参数表示分割符 共有项返回两个区域共有项目。前两个参数为区域,第三参数为序号 不同项返回第一区域中有而第二区域没有的项目。前两个参数是区域,第三参数为序号 ... -
autocad命令全集
2008-10-24 21:46:23序号 CAD命令 简写 用途 ...296 VBAIDE VBA集成开发环境 297 VBALOAD 加载VBA项目 298 VBAMAN VBA管理器 299 VBARUN 运行VBA宏 300 VBASTMT 运行VBA语句 301 VBAUNLOAD 卸载VBA工程 302 VIEW –V... -
金手指工具gpSP cheat creator
2020-02-23 16:00:15它的特点是——16位的16进制数,没有任何分割符。它的功能也很强大,大家应该在无拘无束地驰骋于地图上时体会到了吧。 二、金手指的组成及原理: 在介绍组成前,先说明一下GBA内存的分配方式: GBA(VBA的... -
EXCEL集成工具箱完整版 (简体/繁体/英文多国语言版) V7.0
2010-08-13 10:31:10符以及公式中包含的某字符),也可以将搜索结果写入到一新的工作表中以备查。 【工具箱选项】 集成工具箱的基本选项设置。基本分为<显示设置区><隐藏功能区><自动备份区><工作表设置区><功能窗体显示区>。其中功能... -
EXCEL集成工具箱V6.0
2010-09-11 01:44:37符以及公式中包含的某字符),也可以将搜索结果写入到一新的工作表中以备查。 【工具箱选项】 集成工具箱的基本选项设置。基本分为<显示设置区><隐藏功能区><自动备份区><工作表设置区><功能窗体显示区>。其中功能... -
EXCEL集成工具箱V8.0 多国语言版(2003-2010通用)
2010-09-11 12:08:58符以及公式中包含的某字符),也可以将搜索结果写入到一新的工作表中以备查。 【工具箱选项】 集成工具箱的基本选项设置。基本分为<显示设置区><隐藏功能区><自动备份区><工作表设置区><功能窗体显示区>。其中功能... -
EXCEL集成工具箱V8.0完整增强版(精简)
2010-09-23 16:58:17符以及公式中包含的某字符),也可以将搜索结果写入到一新的工作表中以备查。 【工具箱选项】 集成工具箱的基本选项设置。基本分为<显示设置区><隐藏功能区><自动备份区><工作表设置区><功能窗体显示区>。其中功能... -
EXCEL集成工具箱V9.0 多国语言最终原版(2003-2010通用)
2011-01-07 20:40:25【屏幕取色】 经典的屏幕取色工具,可取任意一处屏幕颜色到指定的存储格中,可显示为RGB颜色值或十六进制的颜色值,为VBA开发人员的辅助工具之一。 【万年日历】 可以查询所有节、假日信息和公农双历,以及计算两...
收藏数
21
精华内容
8