2016-03-18 17 views
-1

Я пытался создать командную кнопку, чтобы заполнить столбец длинной формулой в Excel. Вот формула:Заполните столбец длинной формулой VBA

=CONCATENATE(IFERROR(IF(ISNUMBER(SEARCH('Tagging Inputs'!$C$4,'Template Ideas'!D2))=TRUE,VLOOKUP('Tagging Inputs'!$C$4,'Tagging Inputs'!$B$12:$C$38,2,FALSE),""),""),IF(AND(ISNUMBER(SEARCH('Tagging Inputs'!$C$4,'Template Ideas'!D2)),OR(ISNUMBER(SEARCH('Tagging Inputs'!$C$5,'Template Ideas'!D2)),ISNUMBER(SEARCH('Tagging Inputs'!$C$6,'Template Ideas'!D2)),ISNUMBER(SEARCH('Tagging Inputs'!$C$7,'Template Ideas'!D2)),ISNUMBER(SEARCH('Tagging Inputs'!$C$8,'Template Ideas'!D2))))=TRUE,"; ",""),IFERROR(IF(ISNUMBER(SEARCH('Tagging Inputs'!$C$5,'Template Ideas'!D2))=TRUE,VLOOKUP('Tagging Inputs'!$C$5,'Tagging Inputs'!$B$12:$C$38,2,FALSE),""),""),IF(AND(ISNUMBER(SEARCH('Tagging Inputs'!$C$5,'Template Ideas'!D2)),OR(ISNUMBER(SEARCH('Tagging Inputs'!$C$6,'Template Ideas'!D2)),ISNUMBER(SEARCH('Tagging Inputs'!$C$7,'Template Ideas'!D2)),ISNUMBER(SEARCH('Tagging Inputs'!$C$8,'Template Ideas'!D2))))=TRUE,"; ",""),IFERROR(IF(ISNUMBER(SEARCH('Tagging Inputs'!$C$6,'Template Ideas'!D2))=TRUE,VLOOKUP('Tagging Inputs'!$C$6,'Tagging Inputs'!$B$12:$C$38,2,FALSE),""),""),IF(AND(ISNUMBER(SEARCH('Tagging Inputs'!$C$6,'Template Ideas'!D2)),OR(ISNUMBER(SEARCH('Tagging Inputs'!$C$7,'Template Ideas'!D2)),ISNUMBER(SEARCH('Tagging Inputs'!$C$8,'Template Ideas'!D2))))=TRUE,"; ",""),IFERROR(IF(ISNUMBER(SEARCH('Tagging Inputs'!$C$7,'Template Ideas'!D2))=TRUE,VLOOKUP('Tagging Inputs'!$C$7,'Tagging Inputs'!$B$12:$C$38,2,FALSE),""),""),IF(AND(ISNUMBER(SEARCH('Tagging Inputs'!$C$7,'Template Ideas'!D2)),ISNUMBER(SEARCH('Tagging Inputs'!$C$8,'Template Ideas'!D2)))=TRUE,"; ",""),IFERROR(IF(ISNUMBER(SEARCH('Tagging Inputs'!$C$8,'Template Ideas'!D2))=TRUE,VLOOKUP('Tagging Inputs'!$C$8,'Tagging Inputs'!$B$12:$C$38,2,FALSE),""),"")) 

Я использую этот формат для командной кнопки

Private Sub CommandButton2_Click() 
Range("AD2").Formula = "" 
Range("AD2", "AD" & Cells(Rows.Count, 1).End(xlUp).Row).FillDown 
End Sub 
+1

В чем вопрос? –

+1

Что-то подсказывает, показывали ли вы некоторые данные и что вы пытаетесь выполнить с помощью данных, которые мы могли бы предложить меньшую формулу. Также FWIW не нужны все '= TRUE'. Понятно, верно ли, что оно делает первое. –

ответ

0

Как это

lrow = Range("AD2", Range("AD" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible).Count 
Range("AD2:AD" & lrow).Formula = "=CONCATENATE("......)" 

Человечку qoutes " Они превращаются в двойные qoutes.

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