我正在寻找解决方案来处理将某些预定义标题添加到从Excel工作表中导出的CSV文件。我正在应用由BruceWayne添加的解决方案,并且当我将VBA代码应用于当前的Excel工作表时,它将标题添加到Excel电子表格本身。从Excel工作表中将标题添加到导出的CSV文件
我想找到一种方法来将此VBA代码应用于导出的CSV文件本身,而不是Excel电子表格。我的VBA代码目前看起来这样:
Sub WriteCSVFile()
Dim My_filenumber As Integer
Dim logSTR As String
My_filenumber = FreeFile
logSTR = logSTR & Cells(18, "C").Value & " , "
logSTR = logSTR & Cells(19, "C").Value & " , "
logSTR = logSTR & Cells(20, "C").Value & " , "
logSTR = logSTR & Cells(21, "C").Value & " , "
logSTR = logSTR & Cells(22, "C").Value & " , "
logSTR = logSTR & Cells(26, "C").Value & " , "
logSTR = logSTR & Cells(27, "C").Value & " , "
logSTR = logSTR & Cells(28, "C").Value & " , "
logSTR = logSTR & Cells(29, "C").Value & " , "
logSTR = logSTR & Cells(30, "C").Value & " , "
logSTR = logSTR & Cells(31, "C").Value & " , "
logSTR = logSTR & Cells(32, "C").Value & " , "
logSTR = logSTR & Cells(36, "C").Value & " , "
logSTR = logSTR & Cells(37, "C").Value & " , "
logSTR = logSTR & Cells(38, "C").Value & " , "
logSTR = logSTR & Cells(39, "C").Value & " , "
logSTR = logSTR & Cells(40, "C").Value & " , "
logSTR = logSTR & Cells(41, "C").Value & " , "
logSTR = logSTR & Cells(42, "C").Value & " , "
logSTR = logSTR & Cells(46, "C").Value & " , "
logSTR = logSTR & Cells(47, "C").Value & " , "
logSTR = logSTR & Cells(48, "C").Value & " , "
logSTR = logSTR & Cells(49, "C").Value & " , "
logSTR = logSTR & Cells(50, "C").Value & " , "
logSTR = logSTR & Cells(51, "C").Value & " , "
logSTR = logSTR & Cells(52, "C").Value & " , "
Open "Z:\SHARE DRIVE\RequestDirectory\" & ThisWorkbook.Name & ".csv" For Append As #My_filenumber
Print #My_filenumber, logSTR
Close #My_filenumber
End Sub
当我通过在一个或另一个的端除去“结束子”结合2个VBA码一起,收到错误,必须重新添加线让代码成功应用;然而,在做这样的代码必须分开申请,然后头被添加到Excel工作表本身:
Sub AddHeaders()
Dim headers() As Variant
Dim ws As Worksheet
Dim wb As Workbook
Application.ScreenUpdating = False 'turn this off for the macro to run a little faster
Set wb = ActiveWorkbook
headers() = Array("Header1", "Header2", "Header3", "Header4", "Header5", "Header6",
"Header7", "Header8", "Header9", "Header10", "Header11", "Header12")
For Each ws In wb.Sheets
With ws
.Rows(1).Value = "" 'This will clear out row 1
For i = LBound(headers()) To UBound(headers())
.Cells(1, 1 + i).Value = headers(i)
Next i
.Rows(1).Font.Bold = True
End With
Next ws
Application.ScreenUpdating = True 'turn it back on
MsgBox ("Done!")
End Sub
我想知道是否有应用该处理的中添加VBA代码的简单方法头文件以及从Excel工作表导出到CSV文件的数据,而不分离2个VBA代码?
谢谢你的任何信息,您可以提供
你可以张贴此错误的内容行的前面? – Limak
错误读取 - 编译错误:期望结束Sub – NeedToKnowBasis22
您是否也删除了新宏的开始,例如'Sub AddHeaders()'? – Limak