我有简单的代码,可以从工作正常的表中创建一个csv,但是我需要遍历表中的数据并删除所有0
(包含数字0
的任何单元格) (因为该表具有公式),然后再将其写入输出文件。我不能简单地使用if语句修改表中的方程式以返回" "
,因为我正在创建的输出文件只会在输出csv中添加一个空格,这同样很糟糕。我将输出文件用作使用Pascal的脚本的输入文件,由于" "
(空格),它只会使它粘贴的数据倾斜。
我尝试在代码中使用以下内容,但它不起作用。
If csvVal = 0 Then
csvVal.Replace What:=0, Replacement:=vbNullString, Lookat:=xlWhole
End If
Sub saveTableToCSV2()
Dim tbl As ListObject
Dim csvFilePath As String
Dim fNum As Integer
Dim tblArr
Dim rowArr
Dim csvVal
Dim csvVal2 As Object
Dim r As Range
Set tbl = Worksheets("FDA TOOL").ListObjects("tblFDAinfo")
csvFilePath = "F:\Scripting\Import\Wal-Mart\Zac\Audit_Tool2FDA.csv"
tblArr = tbl.DataBodyRange.Value
fNum = FreeFile()
Open csvFilePath For Output As #fNum
For i = 1 To UBound(tblArr)
rowArr = Application.Index(tblArr, i, 0)
csvVal = VBA.Join(rowArr, ",")
If csvVal = 0 Then
csvVal.Replace What:=0, Replacement:=vbNullString, Lookat:=xlWhole
End If
Print #1, csvVal
Next
Close #fNum
Set tblArr = Nothing
Set rowArr = Nothing
Set csvVal = Nothing
End Sub
我想在写入输出文件之前删除所有0。
下面是表格第一行返回的内容。
REP,RAD,130,4,CT,RB1,,,200,PCS,ACC,17389,96R--CR,,,0,,,,,0,
我希望它返回:
REP,RAD,130,4,CT,RB1,,,200,PCS,ACC,17389,96R--CR,,,,,,,,,
答案 0 :(得分:0)
尝试更换: csvVal.Replace什么:= 0,替换:= vbNullString,查找:= xlWhole 与 csvVal = Replace(csvVal,0,“”)