簡體   English   中英

Excel Personal.xlsb保存文檔宏

[英]Excel Personal.xlsb saving document Macro

我有一個宏來查看單元格是否包含此字符串,如果這樣,則使用此設置名稱標准執行“另存為”命令。 當我嘗試運行宏時,if語句似乎不起作用。 當我逐步進行操作時,它會擊中if語句,但會保存personal.xlsb而不是我正在處理的文件。 在這里,我知道我的代碼有問題

Dim FName           As String
Dim FPath           As String
Dim answer          As Integer
If ActiveWorkbook.Sheets("Sheet1").Range("A1") = "String1" Then
    FPath = "C:\String1"
    FName = Sheets("Sheet1").Range("A1").Text
    If Len(FPath & "\" & FName) = 0 Then 
        answer = MsgBox("Do you want to Save File As: " & FName & "?", vbYesNo + vbQuestion, "Microsoft Excel")
        If answer = vbYes Then
            ThisWorkbook.SaveAs Filename:=FPath & "\" & FName
        End If
    Else
        ThisWorkbook.Save
    End If
End If

我很願意建議我檢查文件是否包含字符串,如果可以,則驗證它是否不存在,如果保存,則保存而不是另存為。

ThisWorkbook是指代碼所在的工作簿。 大概代碼在Personal.xlsb中,這就是為什么它保存XLSB文件而不是activeworkbook的原因。

嘗試以下方法:

Dim FName           As String
Dim FPath           As String
Dim fullName As String
Dim rng As Range
Dim s as String
s = "String1"
With ActiveWorkbook
    Set rng = .Sheets("Sheet1").Range("A1")
    If rng.Value = s Then
        FPath = "C:\" & s
        FName = rng.Text
        fullName = FPath & "\" & FName
        If Len(fullName) = 0 Then 
            If MsgBox("Do you want to Save File As: " & FName & "?", vbYesNo + vbQuestion, "Microsoft Excel") = vbYes Then
                .SaveAs Filename:=fullName
            End If
        Else
            .Save
        End If
    End If
End With

暫無
暫無

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

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