|
本帖最后由 1225426230 于 2017-9-28 17:00 编辑
两次问的都是转存文本的问题,感谢大灰狼老师在百忙之中给与解答。
上次问的多单元格转存文本,老师给的代码这两天始终在研究消化,但还是有一个事情没解决,没办法还得麻烦大灰狼老师或者其他高手前辈,就是我转存后的文件名,能不能是从bk2开始第二行各单元格内容做为文件名,而不是bk2、bl2......为文件名。大灰狼老师给的代码其他的都不要动,还是自适应列数。先行致谢!大灰狼老师给的代码如下:
- Sub aaa()
- Dim s$, i&, r&, j&, arr, fd$
- arr = [bk2].CurrentRegion
- fd = "e:\ST"
- If Dir(fd, vbDirectory) = "" Then MkDir fd
- For j = 1 To UBound(arr, 2)
- s = fd & "\" & Split(Columns(j + 62).Address(0, 0), ":")(0) & "2.txt"
- i = FreeFile
- Open s For Output As #i
- For r = 2 To UBound(arr)
- Print #i, arr(r, j)
- Next r
- Close #i
- Next j
- End Sub
[color=rgb(51, 102, 153) !important]复制代码
没测试,你自己试试吧。
- Sub aaa()
- If ActiveSheet.Name <> "车间一" Then Exit Sub
- Dim s$, i&, r&, j&, arr, fd$
- arr = [bk2].CurrentRegion'把单元格数据放到二维数组arr里
- fd = "e:\ST" '保存路径
- If Dir(fd, vbDirectory) = "" Then MkDir fd '如果没有ST那个文件夹,则新建ST文件夹
- For j = 1 To UBound(arr, 2)
- s = fd & "" & arr(1, j) & ".txt" '文件名取数组第一行数据
- i = FreeFile
- Open s For Output As #i
- For r = 2 To UBound(arr)
- Print #i, arr(r, j)
- Next r
- Close #i
- Next j
- End Sub
复制代码
|
|