1
簡而言之,我將一個CSV文件導入到Excel工作表中,希望能夠區分CSV中沒有數據的單元格和單元格不在CSV中。空單元格vs導入文件中的空字符串
例如,讓下面是在文件「test.csv」文本
1,2,3,4
5,,7,
9,10
13,14,15,16
然後,在VBA宏,我加載此文件作爲查詢表(代碼從http://www.zerrtech.com/content/excel-vba-open-csv-file-and-import很大程度上覆制):
With Sheet1.QueryTables.Add(Connection:="TEXT;test.csv", _
Destination:=Sheet1.Range("A1"))
.Name = "Table1"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.Refresh BackgroundQuery:=False
End With
它加載CSV導入細胞如下:
| A | B | C | D |
---+-----+-----+-----+-----+
1 | 1 | 2 | 3 | 4 |
---+-----+-----+-----+-----+
2 | 5 | | 7 | |
---+-----+-----+-----+-----+
3 | 9 | 10 | | |
---+-----+-----+-----+-----+
4 | 13 | 14 | 15 | 16 |
---+-----+-----+-----+-----+
所以,我questio與空單元格C3和D3(未在CSV中定義)相比,n是如何分辨空單元格B2和D2(在CSV中定義爲空)之間的區別?如果沒有辦法從加載的查詢表執行此操作,是否有導入CSV的其他方法可以適應此問題?
謝謝,這通常運作良好!雖然我在這個特定的實現中有兩個問題:1)它存儲整個文本文件3次,2)它丟失了引用標識符的概念。這些都只是令人討厭,比什麼都重要;應該有更好的內置解決方案! – chezy525