2016-05-03 4 views
1

Я хочу задать один вопрос. У меня есть коды, как я могу сохранить последнюю строку excel в vba, Но в моих кодах я хочу добавить одно условие, когда, например, последняя строка будет сохранена, если ячейка.значения столбца E = "отключить", затемКак установить условие в excel vba на основе значения ячейки?

«сохранить как этот WB.SaveAs файла: = "C: \ Новая папка \" & имя файла, FileFormat: = 51

End If

Это мои коды

Sub Increment() 
    ' change A1 to the cell you wish to Increment 
    Range("A1").Value = Range("A1").Value + 1 
End Sub 

Private Sub CommandButton1_Click() 
Call SaveLastLine 
End Sub 

Sub SaveLastLine() 

    'Variable declaration 
    Dim score As String 
     Dim WB As Workbook, _ 
      filename As String 

     'Turn off screen updating and alerts 
     Application.ScreenUpdating = False 
     Application.DisplayAlerts = False 
     'Make a copy of the last line of Active Sheet 

     newName = ActiveSheet.Name 
     Range("B1").Select 
     Selection.End(xlDown).Select 
     Range(Selection, Selection.End(xlToRight)).Select 

     Selection.Copy 
     Workbooks.Add 
     ActiveSheet.Paste 

    Call Increment 

     FileNane1 = Range("A1").Value 

     Set WB = ActiveWorkbook 
     filename = newName & FileNane1 & ".xlsx" 
     WB.SaveAs filename:="C:\New Folder\" & filename, FileFormat:=51 

     'Restore screen updating and alerts 

     Application.DisplayAlerts = True 
     Application.ScreenUpdating = True 

End Sub 

Есть ли кто-нибудь, кто может помочь мне добавить одно условие в мои коды vba?

Пожалуйста, любой может мне помочь.

+4

Вы действительно написали какой-либо из этого кода? Потому что ваш вопрос в основном просто «Как использовать оператор If Then». –

+0

Я хочу знать, что до выполнения строки SaveAs я хочу установить условие, которое будет проверять либо значение ячейки столбца E равно «Disable», если это Disable, а затем выполнить строку SaveAs else. Я установил другой путь SaveAs. Означает, что я хочу сохранить в двух разных папках. –

+0

И так ?! это не ответ! ниже - действительно ответ. Я плохо разбираюсь в VB-кодах, кроме PHP JAVA и так далее. –

ответ

2
FileName1 = Range("A1").Value 
if FileName1 = "disable" then 
    Set WB = ActiveWorkbook 
    filename = newName & FileNane1 & ".xlsx" 
    WB.SaveAs filename:="C:\New Folder\" & filename, FileFormat:=51 
end if 
+0

Я думаю, что есть проблема с вашим кодом - вы установили Filename1 равным Range («A1»). Значение, но затем вы используете «If Filename = ...». Будьте в соответствии с вашими переменными. Чтобы помочь в этом, поставьте Option Explicit в верхней части всех ваших модулей VBA; который скажет Excel, чтобы он дал ошибку, когда вы используете имя, которое вы еще не объявили. –

+0

Большое спасибо MikeyM !!! Я сделал это по вашей хорошей логике. –

Смежные вопросы