ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 长安布衣

[原创] TXT文件转化为EXCEL文件 几秒搞定

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-9-6 15:23 | 显示全部楼层
Sub TXT()

      
    Application.ScreenUpdating = False
        
    Range("A1").Select
    myDir = ActiveWorkbook.Path
   
    Workbooks.OpenText Filename:=[myDir] & "\all.txt", Origin:=936, _
        StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, 1), Array(4, _
        1), Array(25, 1), Array(47, 1), Array(73, 1), Array(92, 1), Array(97, 1), Array(111, 1), _
        Array(124, 1), Array(133, 1), Array(143, 1), Array(150, 1)), TrailingMinusNumbers:= _
        True
    ActiveWindow.DisplayGridlines = False
    Cells.Select
    With Selection.Font
        .Name = "Arial"
        .Size = 10
    End With

    Columns("A:L").EntireColumn.AutoFit
    Columns("L:L").Style = "Comma"
    Windows("all.txt").Activate
    Sheets("all").Select
    Sheets("all").Move After:=Workbooks("All").Sheets(1)
   
    myLast = Range("A65536").End(xlUp).Row
    For i = 1 To myLast
      myRg = "L" &
      If Range(myRg).Value = "" Then
        Range(myRg).Value = 1
      End If
      
    Next
    Application.ScreenUpdating = True
   
    Range("A1").Select
End Sub

TA的精华主题

TA的得分主题

发表于 2010-9-14 11:03 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
多谢。学习18楼的方法,留个记号

TA的精华主题

TA的得分主题

发表于 2010-9-30 08:00 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-2-18 21:28 | 显示全部楼层
其实只需要将后缀.txt改成.csv就可以了,呵呵,不用代码的

TA的精华主题

TA的得分主题

发表于 2012-2-18 21:25 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-2-18 20:00 | 显示全部楼层
aaron小怪兽 发表于 2012-2-7 14:17
你好 布衣 可以帮我看下这种txt文件怎么转换成excel的吗 我发现--后必须有空格才能转换好 直接连着字符的   ...

字段长度不一,不好转化,没有最总要的结果;如果有转化的要求,也许具体分析转化的规律,难

TA的精华主题

TA的得分主题

发表于 2011-1-20 16:56 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
嗯,正是需要的,呵呵,非常感谢啊!

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-2-11 13:51 | 显示全部楼层
原帖由 yaojil 于 2011-2-11 10:41 发表
对 .CSV文件应该同样适用吧

不适用,具体得看文件了

TA的精华主题

TA的得分主题

发表于 2011-2-8 16:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Sub ChangAnBuYi()
'长安布衣 mrttl@hotmail.com
'时间: 2009-9-12
'

On Error GoTo myEnd
   Dim myPath As String
   If Cells(3, 2).Value <> "长安布衣" Then
    Exit Sub
   End If
   Application.ScreenUpdating = False
    myPath = ActiveWorkbook.Path
    Workbooks.OpenText Filename:=[myPath] & "/" & "成绩.txt", Origin:=936, StartRow:=1 _
        , DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False _
        , Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
        Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), _
        Array(10, 1), Array(11, 1), Array(12, 1)), TrailingMinusNumbers:=True
    Range("A1:L1").Select
    With Selection.Interior
        .ColorIndex = 1
        .Pattern = xlSolid
    End With
    With Selection.Font
      .ColorIndex = 2
      .Bold = True
      .Bold = True
    End With
    Cells.Select
    With Selection.Font
        .Name = "Arial"
        .Size = 10
    End With
    Range("A1").Select
    Columns("J:J").EntireColumn.AutoFit
    Columns("K:L").EntireColumn.AutoFit
    Sheets("成绩").Copy after:=Workbooks("长安布衣_成绩.xls").Sheets(1)
    Workbooks("成绩.txt").Close savechanges:=False
   
    myLast = Range("A65536").End(xlUp).Row + 1
    myLast_1 = myLast - 1
    myRange1 = "A" & [myLast] & ":L" & [myLast]
    myRange2 = "B" & [myLast] & ":I" & [myLast]
    myRange3 = "A" & [myLast]
    myRange4 = "B" & [myLast]
   
    Range(myRange1).Select
    Selection.Font.Bold = True
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .Weight = xlThin
        .ColorIndex = xlAutomatic
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlDouble
        .Weight = xlThick
        .ColorIndex = xlAutomatic
    End With
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Range(myRange3).FormulaR1C1 = "合计"
    With ActiveCell.Characters(Start:=1, Length:=2).Font
        .Name = "宋体"
        .Size = 10
    End With

    Range(myRange4).Formula = "=SUM(B2:B" & [myLast_1] & ")"
    Range(myRange4).Copy Range(myRange2)
    Range("A2").Select
    With ActiveSheet.PageSetup
        .PrintTitleRows = "$1:$1"
        .PrintTitleColumns = ""
    End With
    ActiveSheet.PageSetup.PrintArea = ""
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.75)
        .RightMargin = Application.InchesToPoints(0.75)
        .TopMargin = Application.InchesToPoints(1)
        .BottomMargin = Application.InchesToPoints(1)
        .HeaderMargin = Application.InchesToPoints(0.5)
        .FooterMargin = Application.InchesToPoints(0.5)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        '.PrintQuality = 600
        .CenterHorizontally = False
        .CenterVertically = False
        .Orientation = xlPortrait
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = 75
        .PrintErrors = xlPrintErrorsDisplayed
    End With
    Range("A1").Select
   
myEnd:
   Application.ScreenUpdating = True
End Sub

TA的精华主题

TA的得分主题

发表于 2011-2-11 10:41 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-9-27 10:25 , Processed in 0.032831 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表