首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用excel-vba将工作表范围导出为csv

使用excel-vba将工作表范围导出为csv
EN

Stack Overflow用户
提问于 2017-07-28 17:57:48
回答 2查看 6.7K关注 0票数 1

我正在通过宏将Excel导出到CSV,使用此命令来命名文件,特别是从工作表中的数据命名单元格中的单元格,这些单元格将不构成CSV数据的一部分,只形成文件名:

代码语言:javascript
复制
Private Sub CommandButton1_Click()
Dim Path As String
Dim FileName1 As String
Dim FileName2 As String
Dim FileName3 As String
Path = "T:\Richards Reports\MG Orders\"
FileName1 = Range("A1")
FileName2 = Range("O1")
FileName3 = Range("M1")
ActiveWorkbook.SaveAs FileName:=Path & FileName1 & "_" & FileName2 & "_" &       FileName3 & ".txt", FileFormat:=xlCSV
End Sub

但是,我需要能够限制输出到一个特定的范围,例如单元格I6到I60,我正在努力找到一种方法来实现这一点,任何建议都很感谢。蒂娅·邓肯

EN

回答 2

Stack Overflow用户

发布于 2017-07-28 18:21:45

一种方法是将单元格中的值连接起来(中间带逗号),然后手动保存:

代码语言:javascript
复制
Dim content As String
Dim rng As Range
Set rng = Range("A1:E2")

For Each cell In rng
    content = content & "," & cell.Value
    'if we go to another row insert semicolon
    If cell.Column = rng.Columns.Count Then
        content = content & ";"
    End If
Next cell

content = Right(content, Len(content) - 1) 'remove unnecessary comma at the beginning

Set FSO = CreateObject("Scripting.FileSystemObject")
'don't forget to insert your file path here
Set wfile = FSO.CreateTextFile("YourPathHere", 2) 'connection for writing

wfile.WriteLine content
wfile.Close

这里我使用逗号(,)作为字段分隔符,分号(;)作为行分隔符,您可以根据需要进行更改。另外,将range设置为要保存的范围。

票数 0
EN

Stack Overflow用户

发布于 2017-07-28 18:27:53

以下是将所选范围保存到.csv的代码

代码语言:javascript
复制
Sub saveSelection2csv()
Dim range2save As Range
Dim filename As Range
Dim dataRow As Range
Dim dataRowArr() As Variant

    Set filename = Worksheets("Arkusz1").Range("A1")

    Open ThisWorkbook.Path & "\" & filename.Value & ".csv" For Output As #1

    For Each dataRow In Selection.Rows
        dataRowArr = dataRow.Value
        dataRowArr = Application.Transpose(Application.Transpose(dataRowArr))
        Print #1, Join(dataRowArr, ",")
    Next

    Close #1
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45370427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档