Ничего не возвращайте в VBA fomula - PullRequest
0 голосов
/ 27 марта 2019

У меня есть формула Excel, настроенная из VBA с условием IF, и я хочу, чтобы она ничего не возвращала, если она истинна.

Вот мой код:

Set tbl = .ListObjects("Tableau4")

vCherchee = tbl.DataBodyRange(1, 1)

.PivotTables("Tab1").TableRange1.Select
matrice = Selection.Address(ReferenceStyle:=xlA1, RowAbsolute:=True, ColumnAbsolute:=False)

tbl.DataBodyRange(1, 3).Formula = "=IF(OR(ISNA(VLOOKUP([@[Code Frns]]," & matrice & ",3,FALSE)), ISBLANK(VLOOKUP([@[Code Frns]]," & matrice & ",3,FALSE))),1, VLOOKUP([@[Code Frns]]," & matrice & ",3,FALSE))"
tbl.DataBodyRange(1, 4).Formula = "=IF(OR(ISNA(VLOOKUP([@[Code Frns]]," & matrice & ",4,FALSE)), ISBLANK(VLOOKUP([@[Code Frns]]," & matrice & ",4,FALSE))),1, VLOOKUP([@[Code Frns]]," & matrice & ",4,FALSE))"
tbl.DataBodyRange(1, 5).Formula = "=IF(OR(ISNA(VLOOKUP([@[Code Frns]]," & matrice & ",5,FALSE)), ISBLANK(VLOOKUP([@[Code Frns]]," & matrice & ",5,FALSE))),1, VLOOKUP([@[Code Frns]]," & matrice & ",5,FALSE))"
tbl.DataBodyRange(1, 6).Formula = "=IF(OR(ISNA(VLOOKUP([@[Code Frns]]," & matrice & ",6,FALSE)), ISBLANK(VLOOKUP([@[Code Frns]]," & matrice & ",6,FALSE))),1, VLOOKUP([@[Code Frns]]," & matrice & ",6,FALSE))"
tbl.DataBodyRange(1, 7).Formula = "=IF(OR(ISNA(VLOOKUP([@[Code Frns]]," & matrice & ",7,FALSE)), ISBLANK(VLOOKUP([@[Code Frns]]," & matrice & ",7,FALSE))),1, VLOOKUP([@[Code Frns]]," & matrice & ",7,FALSE))"
tbl.DataBodyRange(1, 8).Formula = "=IF(OR(ISNA(VLOOKUP([@[Code Frns]]," & matrice & ",8,FALSE)), ISBLANK(VLOOKUP([@[Code Frns]]," & matrice & ",8,FALSE))),1, VLOOKUP([@[Code Frns]]," & matrice & ",8,FALSE))"
tbl.DataBodyRange(1, 9).Formula = "=IF(OR(ISNA(VLOOKUP([@[Code Frns]]," & matrice & ",9,FALSE)), ISBLANK(VLOOKUP([@[Code Frns]]," & matrice & ",9,FALSE))),1, VLOOKUP([@[Code Frns]]," & matrice & ",9,FALSE))"

На самом делеон возвращает 1, но если я ничего не ставлю, он возвращает 0, а если я ставлю "", это дает мне ошибку.Как я могу это сделать?Спасибо.

1 Ответ

0 голосов
/ 27 марта 2019

Так что благодаря GSerg.Правильный путь был.

 tbl.DataBodyRange(1, 5).Formula = "=IF(OR(ISNA(VLOOKUP([@[Code Frns]]," & matrice & ",5,FALSE)), ISBLANK(VLOOKUP([@[Code Frns]]," & matrice & ",5,FALSE))),"""", VLOOKUP([@[Code Frns]]," & matrice & ",5,FALSE))"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...