选择具有特定条件的范围以导出到多个CSV文件

时间:2019-01-15 21:32:58

标签: excel vba

我想通过以下方式将附加的Excel文件转换为多个CVS文件:

  1. A列=静态标题标题下= Excel的C列值(源值)
  2. B列=来自Excel的静态标题标题=目标值下的G列值(目标值)
  3. CVS文件的命名约定=列E(控制选择列表字段名称)_列A(显示名称)_列B(字段名称)-例如Type_ClientType_PICK_004 ---请注意,我已经附上了示例CVS文件,以了解输出内容

除了上述内容外-我希望VBA代码成为一个循环,以在E列(控制选择列表字段名称)中找到UNIQUE值,并利用此列分隔CVS文件。例如,在E列条件下的所有行='类型',然后创建一个新的CVS文件...在E列条件下的所有行创建=>工业,然后在创建一个新的CVS文件...,等等。

如果我可以得到上面的VBA代码并将所有CVS文件保存在确定的文件路径中,那将是惊人的!非常感谢。

1 个答案:

答案 0 :(得分:0)

Sub ExportRangetoFile()

Dim Rng As Range
Dim WorkRng As Range
Dim xFile As Variant
Dim xFileString As String

On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ActiveSheet.Copy
Application.ActiveSheet.Cells.Clear
WorkRng.Copy Application.ActiveSheet.Range("A1")
Set xFile = CreateObject("Scripting.FileSystemObject")
xFileString = Application.GetSaveAsFilename("", filefilter:="Comma Separated Text (*.CSV), *.CSV")
Application.ActiveWorkbook.SaveAs Filename:=xFileString, FileFormat:=xlCSV, CreateBackup:=False
End Sub