精华内容
下载资源
问答
  • 是这样的希望能够是现在写入的过程中,按照指定的分隔,也就是逗号“,”来进行分割,一行数据就写在同一行场景简介其实如果是单个文件,数据量不是很大的话,上面的情况可以通过导入/写入数据...

    前景提要(文末提供源码下载)

    昨天我们分享了用vba来实现按照指行数写入同一行数据的方法,在某种程度适应了一些小伙伴的工作需要,不过还是那句话,做数据汇总的,总要面对各种千奇百怪的数据源,今天有小伙伴们给我发来一个问题,是这样的

    eb1cda531e5028925f5561df91cf9552.png

    希望能够是现在写入的过程中,按照指定的分隔符,也就是逗号“,”来进行分割,一行数据就写在同一行

    场景简介

    其实如果是单个文件,数据量不是很大的话,上面的情况可以通过导入/写入数据之后,在进行分列这样子实现效果的,如果按照我们之前的代码进行写入的话,也是需要再次操作数据的分列的,那么是否能够通过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:=",
    展开全文
  • 正文已有一个txt文本:将进酒·君不见.txt对txt中每一行进行分割,分割符采用.,,.分别输出文本文件,观察不同分割符的效果代码@echo offfor /f "delims=., tokens=2" %%i in (将进酒·君不见.txt) do echo %%i>...
    • 相信大家都知道VBA中的Split函数,那么在bat中是否有类似的功能呢?

    正文

    1. 已有一个txt文本:将进酒·君不见.txt
    2. txt中每一行进行分割,分割符采用.,,.
    3. 分别输出文本文件,观察不同分割符的效果
    8e522de3aebcf9ee0ee80f69f1f670aa.png

    代码

    @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

    代码截图

    c897828ddde29f7fd4e2f2da0df8e80a.png

    结果文件

    1.txt

    921a64954c0274ac4c960fb05c7a27fd.png

    2.txt

    4ccc00457196720682418fdc2555c2f5.png

    代码解读

    1. delims=.,,指定了分隔符,这里指定了.和,为分割符
    2. tokens=2,指定了分割后,取哪一个部分,分割后的第一部分为1,依次为2,3,4。
    3. 当省略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中是否有类似的功能呢?

    思考:实验设计

    1. 已有一个txt文本:将进酒·君不见.txt
    2. 对txt中每一行进行分割,分割符采用.,.
    3. 分别输出文本文件,观察不同分割符的效果

    1.png

    代码

    @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

    代码截图
    2.png

    结果文件
    1.txt
    3.png

    2.txt
    4.png

    代码解读

    1. delims=.,,指定了分隔符,这里指定了.为分割符
    2. tokens=2,指定了分割后,取哪一个部分,分割后的第一部分为1。
    3. 当省略delims参数,默认使用空格作为分割符;当省略tokens参数时,默认取第1部分
    for /f %%i in (将进酒·君不见.txt) do echo %%i>>3.txt

    5.png

    Ps:这里也指出之前写的一篇文章的错误,当一行中无空格时,for /f效果看起来就是逐行读出文本文件,但其实它就是读出空格分割后的第一部分


    更多精彩,请关注微信公众号
    扫描二维码,关注本公众号

    公众号底部二维码.jpg

    展开全文
  • VBA Split()函数

    千次阅读 2018-02-13 14:57:00
    Split()函数返回一个数组,其中包含基于分隔符分割的特定数量的值。 语法 Split(expression[,delimiter[,count[,compare]]]) 参数说明 Expression - 必需的参数。可以包含带分隔的字符串的字符串表达式...
  • vba读取入csv后的格式,基本都是字符串,然后通过分隔进行拆分,所以,遇到一个字段中包含逗号的,很头疼,但是,根据取入的字符串格式,还是有办法可以解决的 ' filePath 文件路径 ' sheetName 目标sheet页名 ...
  • 我的思路: 把E列的名字分开来,(都是逗号作为分隔), 根据天数复制这些人名, 最后统计每一个人名出现的次数即可. step1: E 列的人名分割 使用数据分列 得到结果如下 step2 : 根据天数复制名字, 比如第四行的...
  • vba正确打开分号间隔的csv文件

    千次阅读 2018-03-23 22:32:43
    导出到办公电脑上时发现这些csv文件的分隔不是逗号,而是分号,如果用Excel直接打开,每行的内容会全部堆在第一列而没有分割开,虽然用Excel的分列功能可以简单地解决,但导出的文件非常多,故用vba写了个函数来...
  • 来自朋友留言:我们来看下一这个问题的整体思路。要点一:求在A1单元格中不存在的...1,Split函数:Split()函数返回一个数组,其中包含基于分隔符分割的特定数量的值。例如,上面的A1单元格的值"SG-509(金通达),YF50...
  • 今天我们来讲一下办公中可能会经常用到的功能,词频统计(统计...因为每个词汇都有分割符,那么就要用到Split函数,我们先看一下官网对Split函数的介绍Split函数介绍首先,定义字典、数组Dim dicDim arrSet dic = Cr...
  • 数据库服务器还要对你开放,有时你是内网的,数据库服务器也不对你开放的,...二、利用Excel的Power Query接通SQL Server将要的数据取到其它见本页下面分割符后的截图。三、在Excel附件中建立VBA发送邮件给指定人重...
  • 【公农双历查询】:生成多功能日历,可以查询所有节、假日和农历 ...第一参数为单元格,第二参数表示取第N个,第三个参数表示分割符。 函数名称:共有项 函数功能与参数:返回两个区域共有项目。前两个参数为区域,...
  • Excel百宝箱8.0

    2011-06-07 21:32:17
    第一参数为单元格,第二参数表示取第N个,第三个参数表示分割符。 函数名称:共有项 函数功能与参数:返回两个区域共有项目。前两个参数为区域,第三参数为序号。 函数名称:不同项 函数功能与参数:返回第一区域...
  • 第一参数为单元格,第二参数表示取第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...
  • 它的特点是——16位的16进制数,没有任何分割符。它的功能也很强大,大家应该在无拘无束地驰骋于地图上时体会到了吧。  二、金手指的组成及原理:  在介绍组成前,先说明一下GBA内存的分配方式:  GBA(VBA的...
  • 以及公式中包含的某字符),也可以将搜索结果写入到一新的工作表中以备查。 【工具箱选项】 集成工具箱的基本选项设置。基本分为<显示设置区><隐藏功能区><自动备份区><工作表设置区><功能窗体显示区>。其中功能...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    以及公式中包含的某字符),也可以将搜索结果写入到一新的工作表中以备查。 【工具箱选项】 集成工具箱的基本选项设置。基本分为<显示设置区><隐藏功能区><自动备份区><工作表设置区><功能窗体显示区>。其中功能...
  • 以及公式中包含的某字符),也可以将搜索结果写入到一新的工作表中以备查。 【工具箱选项】 集成工具箱的基本选项设置。基本分为<显示设置区><隐藏功能区><自动备份区><工作表设置区><功能窗体显示区>。其中功能...
  • 以及公式中包含的某字符),也可以将搜索结果写入到一新的工作表中以备查。 【工具箱选项】 集成工具箱的基本选项设置。基本分为<显示设置区><隐藏功能区><自动备份区><工作表设置区><功能窗体显示区>。其中功能...
  • 【屏幕取色】 经典的屏幕取色工具,可取任意一处屏幕颜色到指定的存储格中,可显示为RGB颜色值或十六进制的颜色值,为VBA开发人员的辅助工具之一。 【万年日历】 可以查询所有节、假日信息和公农双历,以及计算两...

空空如也

空空如也

1 2
收藏数 21
精华内容 8
关键字:

vba分割符