Vba 代码错误-保存要求覆盖的CSV文件
我的代码给了我错误信息Vba 代码错误-保存要求覆盖的CSV文件,vba,excel,Vba,Excel,我的代码给了我错误信息 If Dir(Pth, vbArchive) <> vbNullString Then 您的代码中存在一些问题。我不明白您为什么会收到错误消息,但如果您解决了问题,您就可以更好地找到主要问题 将选项显式置于顶部。如果这样做,则不会出现错误,例如设置变量file\u name$,而是从变量FileName读取 您正在构建带有双反斜杠的路径。也许这不是什么大事,也可能有用。在出现问题的If之前添加Debug.Print Pth。按Ctrl-G以显示调试窗格并研究
If Dir(Pth, vbArchive) <> vbNullString Then
您的代码中存在一些问题。我不明白您为什么会收到错误消息,但如果您解决了问题,您就可以更好地找到主要问题
选项显式
置于顶部。如果这样做,则不会出现错误,例如设置变量file\u name$
,而是从变量FileName
读取If
之前添加Debug.Print Pth
。按Ctrl-G以显示调试窗格并研究输出。打印的文件路径是否存在李>
vbNullString
。改为使用abc”“
进行测试调试时出现了什么错误,以及
Pth
的值是多少?大家好,非常感谢您的回答!你能试着粘贴完整的代码吗?你的意思是,因为我对几个答案有点困惑
Sub Opgave8()
Dim sh As Worksheet
Dim Pth As String
Application.ScreenUpdating = False
' Create default desktop path using windows user id
user_id = Environ$("USERPROFILE")
' Create full path
file_name$ = "\AdminExport.csv"
Pth = Environ$("USERPROFILE") & "\Desktop\" & FileName
Set sh = Sheets.Add
For i = 2 To 18288
If Left(Worksheets("Base").Cells(i, 12), 6) = "262015" Then
sh.Cells(i, 2) = Worksheets("Base").Cells(i, 4)
End If
Next i
sh.Move
If Dir(Pth, vbArchive) <> vbNullString Then
overwrite_question = MsgBox("File already exist, do you want to overwrite it?", vbYesNo)
End If
If overwrite_question = vbYes Then
With ActiveWorkbook
.SaveAs FileName:=Pth, FileFormat:=xlCSV
.Close False
End With
End If
Application.ScreenUpdating = True
End Sub
Function UniqueRandDigits(x As Long) As String
Dim i As Long
Dim n As Integer
Dim s As String
Do
n = Int(Rnd() * 10)
If InStr(s, n) = 0 Then
s = s & n
i = i + 1
End If
Loop Until i = x + 1
UniqueRandDigits = s
End Function