2015-01-06 1 views
1

Я использовал Macro Recorder для создания макроса для копирования файлов с одного листа на второй рабочий лист и сброса формы до значений по умолчанию.Excel Macro копирует только «ложное» значение логического оператора

При запуске макроса значение «false» («NO») логического оператора копируется независимо от значения в ячейке во время запуска макроса. Если я изменю значение в ложном выражении с «НЕТ» на любое другое значение (т. Е. «Синий»), он копирует новое значение («Синий»).

Вот формула для логического утверждения:

=IF(AND(D15>VLOOKUP(C13,CCT,3,FALSE),D15<VLOOKUP(C13,CCT,4,TRUE)),"YES","NO") 

где CCT является список.

Вот код для макроса:

Range("D17").Select 
Selection.Copy 
Sheets("Worksheet2").Select 
Range("G3").Select 
ActiveSheet.Paste 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
    :=False, Transpose:=False 
Sheets("Worksheet1").Select 
+0

Почему у вас есть одинарные кавычки вокруг знака меньше? –

+0

Любопытно узнать, что вы получаете за D15 и два результата поиска, если вы поместили это в электронную таблицу и используете Evaluate Formula. – pnuts

+0

@CoolBlue Я думаю, что они были там исключительно в связи с форматированием вопроса здесь (следовательно, я отредактировал их). – pnuts

ответ

0

Вы можете попробовать Worksheet.Activate после выбора различных листов. Рабочий лист. Калькуляция также может быть в порядке.

Я думаю, что использование Range ... подразумевает Activesheet.Range. Надеюсь, это поможет

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