/ / Jak wyciszyć funkcję zdefiniowaną przez użytkownika w programie Excel? - excel, excel-vba, formuła excela, vba

Jak wyśmiać zdefiniowaną przez użytkownika funkcję w programie Excel? - excel, excel-vba, excel-formula, vba

otrzymałem .xlsb plik, który odwołuje się do strony trzeciej, którego nie mam. Arkusz kalkulacyjny używa funkcji zdefiniowanej w tym dodatku w niektórych komórkach arkusza, a te komórki mają #NAME? błędy.

Zdefiniowałem funkcję o tej samej nazwie i parametrach w VBA. The #NAME? błędy nadal się utrzymują i działa tylko wtedy, gdy „dotknę” komórki. Co przez to rozumiem, kopiuję i wklejam tę samą formułę.

Czy istnieje bardziej elegancki sposób zastąpienia (wyśmiewania) nieistniejącej funkcji?

Odpowiedzi:

2 dla odpowiedzi № 1

Aby pominąć # NAZWĘ? błąd, znajdź i zastąp wszystkie formuły zawierające nazwę UDF o tej samej nazwie UDF.

dim myudf as string, w as long
myudf = "=MyUdf("
for w=1 to worksheets.count
worksheets(w).cells.replace(what:=ucase(myudf), replacement:=lcase(myudf), _
matchcase:=false, lookat:=xlPart
next w

0 dla odpowiedzi nr 2

Czy skoroszyt ma włączoną ręczną kalkulację? Jeśli tak, spróbuj przełączyć się na automatyczne (Narzędzia> Opcje> Obliczenia). Może to zmusić go do ponownego obliczenia zamiast „dotknięcia” każdej komórki.