Я хочу сохранить свой файл, если условие выполнено. Я написал код ниже, но он не работает - PullRequest
0 голосов
/ 30 октября 2018

Здесь я хочу сравнить три значения, и если три значения равны, то только его следует сохранить как файл.

Sub test()


    m = 1
    n = 1
    b = 5


    If m = n = b Then Sheet1.Activate

    Sheet1.Copy

    MsgBox "This new workbook will be saved as MyWb.xls(x)"

    'Save new workbook as MyWb.xls(x) into the folder where ThisWorkbook is stored
    ActiveWorkbook.SaveAs ThisWorkbook.Path & "\MNP", xlWorkbookNormal
    MsgBox "It is saved as " & ActiveWorkbook.FullName & vbLf & "Press OK to close it"

    ' Close the saved copy
    ActiveWorkbook.Close False




    End Sub

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Я не уверен, что вы пытаетесь сделать - но если вы хотите сохранить sheet1 как копию под другим именем, тогда

Sub Demo

Dim m,n,b
If application.worksheetfunction.And(m=n,m=b) then
    dim wbTarget as workbook
    set wbtarget = workbooks.add()
    ThisWorkbook.Sheets(1).copy before:=wbtarget.sheets(1)
    wbTarget.saveas ThisWorkbook.Path & "\MNP.xlsx"
    wbtarget.close
    msgbox "Sheet 1 has been saved as MNP.xlsx"
end if
end Sub
0 голосов
/ 30 октября 2018

Один путь:

Для сравнения данных в операторе If необходимо добавить логические операторы. То же самое, если вы хотите сказать m = n или b = a. Поэтому добавьте И в этом случае .

Когда вы подаете заявку If, вам также нужно завершить с End If

Sub tsat()

Dim m As Long
Dim n As Long
Dim b As Long


m = 1
n = 1
b = 1


If (m = n And m = b) Then

Sheet1.Activate

Sheet1.Copy

MsgBox "This new workbook will be saved as MyWb.xls(x)"

'Save new workbook as MyWb.xls(x) into the folder where ThisWorkbook is stored
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\MNP", xlWorkbookNormal
MsgBox "It is saved as " & ActiveWorkbook.FullName & vbLf & "Press OK to close it"

' Close the saved copy
ActiveWorkbook.Close False

Else

MsgBox "Values are not equal. " & " m=" & m & ", n=" & n & ", b=" & b

End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...