教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

Excel VBA - 文本文件和文件夹操作实例集锦(2)

来源:网络收集 时间:2026-08-09
导读: 8,有条件导出文本文件到桌面(Output、Print、Environ) ‘aa.xls (自编宏之五) Sub daocuwb0408() Dim rng As Range, cel As Range, Filename$ Dim aa$, col%, i% Set rng = Range(\For Each cel In rng If cel

8,有条件导出文本文件到桌面(Output、Print、Environ)

‘aa.xls (自编宏之五) Sub daocuwb0408()

Dim rng As Range, cel As Range, Filename$ Dim aa$, col%, i%

Set rng = Range(\For Each cel In rng If cel <> \

If Len(cel) <> 0 Then

aa = Split(cel.Address, \‘取得列的字符 col = cel.Column

Filename = Environ(\桌面\\\ Open Filename For Output As #1 For i = 26 To 245

Data = Cells(i, col).Value

Print #1, Data ‘按列排列数据 Next i Close #1 End If End If Next cel End Sub

9,导出工具(Output、Print、MKDir、Split)

‘导出工具0414.xls (自编宏之五)

‘http://www.excelpx.com/dispbbs.asp?boardID=5&ID=47390&page=1 Sub daocuwb0414()

Dim myRng, Filename$, data, f

Dim aa$, n%, i%, Myrc%, Myrh%, Myrj%, wjnm$, shtnm$, m%, bb$, wbnm$ Dim Sht1 As Worksheet, Sht2 As Worksheet, wb As Workbook Application.ScreenUpdating = False Set wb = ThisWorkbook

Set Sht1 = wb.Sheets(\

Myrc = [c5].CurrentRegion.Rows.Count + 4 Myrh = [h65536].End(xlUp).Row Myrj = [j65536].End(xlUp).Row

myRng = Range(\For x = 5 To Myrj

f = Dir(Cells(x, \ '判断文件夹是否已经存在 If f = \ '如果不存在就建立 Next x

For x = 5 To Myrc Sht1.Activate m = 0

wjnm = Split(Sht1.Cells(x, 3), \ '动态工作簿文件名 shtnm = Split(Sht1.Cells(x, 3), \ '动态工作表名 bb = Left(wjnm, Len(wjnm) - 4)

cc = Len(bb) - Len(Replace(bb, \ wbnm = Split(bb, \ Workbooks.Open wjnm

Set Sht2 = ActiveWorkbook.Sheets(shtnm) Sht2.Activate For y = 5 To Myrh

m = m + 1: col = \

Filename = Sht1.Cells(y, \ Range(\

Columns(\ f1 = Split(Sht1.Cells(y, \ '判断列号 For y1 = 1 To Len(f1) temp = Mid(f1, y1, 1)

If temp Like \

col = col & temp '动态区域列号 End If Next y1

n = Cells(65536, col).End(xlUp).Row

Range(Cells(1, \ Set rng = Range(Cells(1, \ Open Filename For Output As #1 For i = 1 To n

data = Cells(i, \ If data = \

Print #1, data '按列排列数据 100:

Next i Close #1

Stop '如果不要暂停,在此行前面加 ' Next y

ActiveWorkbook.Close False Next x

Application.ScreenUpdating = True

End Sub

用山版主部分数组代码替换,速度可加快很多 Sub daocuwb0414()

Dim myRng, Filename$, data, f

Dim aa$, n%, i%, Myrc%, Myrh%, Myrj%, wjnm$, shtnm$, m%, bb$, wbnm$ Dim Sht1 As Worksheet, Sht2 As Worksheet, wb As Workbook Application.ScreenUpdating = False Set wb = ThisWorkbook

Set Sht1 = wb.Sheets(\

Myrc = [c5].CurrentRegion.Rows.Count + 4 Myrh = [h65536].End(xlUp).Row Myrj = [j65536].End(xlUp).Row myRng = Range(\For x = 5 To Myrj

f = Dir(Cells(x, \ '判断文件夹是否已经存在 If f = \ '如果不存在就建立 Next x

For x = 5 To Myrc Sht1.Activate m = 0

wjnm = Split(Sht1.Cells(x, 3), \ '动态工作簿文件名 shtnm = Split(Sht1.Cells(x, 3), \ '动态工作表名

bb = Left(wjnm, Len(wjnm) - 4)

cc = Len(bb) - Len(Replace(bb, \ ‘计算子目录数 wbnm = Split(bb, \ Workbooks.Open wjnm

Set Sht2 = ActiveWorkbook.Sheets(shtnm) Sht2.Activate For y = 5 To Myrh

m = m + 1: col = \

Filename = Sht1.Cells(y, \ Range(\

Columns(\ f1 = Split(Sht1.Cells(y, \ '判断列号 For y1 = 1 To Len(f1) temp = Mid(f1, y1, 1)

If temp Like \

col = col & temp '动态区域列号 End If Next y1

n = Cells(65536, col).End(xlUp).Row

Range(Cells(1, \ Set rng = Range(Cells(1, \

Excel VBA - 文本文件和文件夹操作实例集锦(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/607027.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)