簡體   English   中英

Excel to Text VBA之前帶有問號-如何解決?

[英]Excel to Text VBA precedes with question mark - how to fix?

我對Excel中的VBA非常陌生。 我正在使用從示例網上摘錄的這段代碼將Excel中的單元格列轉換為文本文件:

Private Sub CommandButton1_Click()
Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer
Dim FName As String
Dim FPath As String

Set fsT = CreateObject("ADODB.Stream"): 'Create Stream object
fsT.Type = 2: 'Specify stream type – we want To save text/string data.
fsT.Charset = "utf-8": 'Specify charset For the source text data.

FPath = "C:\WHIT\ParamGen"
FName = Sheets("Sheet1").Range("b49").Text

myFile = FPath & "\" & FName

Set rng = Range("B2: B42 ")

Open myFile For Output As #1

For i = 1 To rng.Rows.Count
    For j = 1 To rng.Columns.Count

cellValue = rng.Cells(i, j).Value

If j = rng.Columns.Count Then
    Print #1, cellValue
Else
    Print #1, cellValue,
End If

    Next j
Next i

Close #1

End Sub

問題是我的Excel文件中的第一個單元格包含以下文本:

@!= 1

...它顯示在生成的文本文件中,如下所示:

?@!= 1

excel文件中的所有其他內容都將毫無問題地寫入文本文件,但是問號弄亂了為此文件生成的軟件中的導入功能。

關於使這個問號消失的任何想法?

您是否嘗試刪除了“?” 文件中的代碼,例如:

If left(cellvalue,1)="?" then 
    application.substitute(cellvalue,"?","") 
end if

我在第一個包含@!= 1的單元格中運行了此代碼,並將其正確地以@!= 1的形式寫入了文本文件(未添加?)。 您是否檢查了單元格B2是否包含任何不可打印的字符?

我找到了解決方案。 Excel將第一個單元格中的@!= 1視為函數,但它不是函數。 我最好的猜測是,在將其解析為文本文件時,它在其中拋出了一個不可見的字符。 '@!= 1覆蓋有問題的單元格可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM