作者:绿色风
分类:
时间:2022-08-17
浏览:172
楼主 herelazy |
Q:如何将excel中的多个选定区域原样输出到文本文件?
A:- Sub test2() '子程序 test2()
- Dim mArea As Range, Rng As Range, RS&, CS&, RE&, CE&, Str$ '定义变量 mArea 为 单元格区域,Rng 为 单元格区域,RS&,CS&,RE&,CE&,Str$
- If TypeName(Selection) = "Range" Then '如果 TypeName(被选项)="Range" 则执行
- RS = Rows.Count 'RS=行数值
- CS = Columns.Count 'CS=列数值
- RE = 0 'RE=0
- CE = 0 'CE=0
- Str = "" 'Str=空值
- With Selection '工作于被选项
- For Each mArea In .Areas '设定变量范围为每一个 mArea位于<With对象>的范围
- With mArea '工作于 mArea
- If .Row < RS Then RS = .Row '如果 <With对象>的行标<RS 则执行 RS=<With对象>的行标
- If .Column < CS Then CS = .Column '如果 <With对象>的列标<CS 则执行 CS=<With对象>的列标
- If .Row + .Rows.Count - 1 > RE Then RE = .Row + .Rows.Count - 1 '如果 <With对象>的行标+<With对象>的行数值-1>RE 则执行 RE=<With对象>的行标+<With对象>的行数值-1
- If .Column + .Columns.Count - 1 > CE Then CE = .Column + .Columns.Count - 1 '如果 <With对象>的列标+<With对象>的列数值-1>CE 则执行 CE=<With对象>的列标+<With对象>的列数值-1
- End With 'With语句结束
- Next mArea '下一个 mArea
- For Each Rng In .Parent.Range(.Parent.Cells(RS, CS), .Parent.Cells(RE, CE)) '设定变量范围为每一个Rng位于<With对象>的Parent.Range(<With对象>的Parent.Cells(RS,CS),<With对象>的Parent.Cells(RE,CE))
- If Not Intersect(Rng, Selection) Is Nothing Then Str = Str & Rng.Text '如果 非 <单元格交集>(Rng,被选项) 是 空值 则执行 Str=Str & Rng的文本
- If Rng.Column < CE Then '如果 Rng的列标<CE 则执行
- Str = Str & vbTab 'Str=Str & Tab键
- Else '另外
- Str = Str & vbCrLf 'Str=Str & 回车换行符
- End If 'If判断过程结束
- Next Rng '下一个 Rng
- End With 'With语句结束
- Open ThisWorkbook.Path & "\" & Format(Now, "yyyymmddhhmmss.txt") For Output As #1 '打开文件 当前工作簿的路径 & "\" & Format(当前时间,"yyyymmddhhmmss.txt")以Output 为 #1
- Print #1, Str '输出显示 #1,Str
- Close #1 '关闭 #1
- End If 'If判断过程结束
- End Sub '子程序结束
示例文件: 将excel中的多个选定区域原样输出到文本文件.rar
该帖已经同步到 herelazy的微博 |
2楼 JOYARK1958 |
謝謝提供學習下載中 |
3楼 亡者天下 |
过来学习一下 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一