コードの一部でセル値を返し、データを消去して不正なファイル名文字を削除しています。これらの文字の 1 つは、もちろん「?」です。何らかの理由で、一部のセルが前に ? が付いた内容を返しています。これは細胞の一部ではありませんが。
さらに、文字列をきれいにするために使用しているコードは、この先頭の ? を置き換えていません。私が望んでいたように空白で。
Function Clean(ByVal sFolderName As String) As String
Dim i As Long
Dim sTemp As String
For i = 1 To Len(sFolderName)
Select Case Mid$(sFolderName, i, 1)
Case "/", "", ":", "*", "?", "<", ">", "|"
sTemp = sTemp & ""
Case Else
sTemp = sTemp & Mid$(sFolderName, i, 1)
End Select
Next i
Clean = sTemp
End Function
たとえば、セルの値は 8324297444 と表示されますが、cell.value プロパティを取得しようとすると、?8324297444 が返されます。次に、クリーンアップ関数が呼び出されると、これを先頭に保持します ? キャラクター。
ここで何が起こっているのかを理解しようとして、髪をかきむしっています。
誰にもアイデアはありますか?