Všetky náhradné funkcie som použil manuálnečas, ktorý fungoval hladko, ale bol veľmi pomalý. Preto ho chcem teraz zmeniť na makro, ale keď sa ho pokúsim vložiť do svojho kódu, nefunguje; iba časť kódu sa nachádza v pravom riadku vývojára (tu v stohu toku funguje, ako môžete) pozri nižšie) a zvyšok funkcie sa vloží do ďalších riadkov.
Toto je môj kód:
Tabelle1.Range("H2:H20001").Formula.Local =
"=WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WECHSELN(
WENN(G2=""___"";""___"";GROSS2(F2));
""Mr "";"""");
""Mrs "";"""");
""Dr. "";"""");
""Mba "";"""");
""Di "";"""");
""MSc "";"""");
""Msc "";"""");
""Kr "";"""");
""Gp%"";""general partner"");
""mbh"";""mbH"");
""Mbh"";""mbH"");
""M.B.H."";""m.b.H."");
"" Kg"";"" KG"");
"" Ag "";"" AG "");
"" Og "";"" OG "");
"" Sa "";"" SA "");
"" Se "";"" SE "");
"" Ab "";"" AB "");
"" Inc"";"" Inc."");
"" Ltd"";"" Ltd."");
""D.O.O."";""d.o.o."");
""S.R.L."";""S.r.l."");
""S.Ar.l."";""SARL"");
"" Sarl"";"" SARL"");
""S.P.A."";""S.p.A."");
"" Spa"";"" S.p.A."");
""S.p.A.r"";""Spar"");
"""S"";"""s"");
""Self Owned"";""Self-Owned"");
""Oesterreich"";""Österreich"");
""Oö"";""OÖ"");
""Nö"";""NÖ"");
""Aws"";""AWS"");
""Foerderung"";""Förderung"");
""Mit "";""mit "");
""Beschränkt"";""beschränkt"");
"" Innovative"";"" innovative"");
""Und "";""und "");
""Von "";""von "");
""Für "";""für "");
""Zur "";""zur "");
""Der "";""der "");
""Des "";""des "");
""Das "";""das "");
""U. "";""u. "");
""Buergerlich"";""bürgerlich"");
""Bürgerlich"";""bürgerlich"");
"".At"";"".at"");
"".De"";"".de"");
"".Ch"";"".ch"");
"".Se"";"".se"");
""Ii"";""II"");
""Iii"";""III"");
"" Llp"";"" LLP"");
"" Fp Lp"";"" FP LP"");
"" Bl.P"";"" BL.P."")"
Vie niekto, ako môžem zaistiť, aby to fungovalo? Tiež som to našiel https://stackoverflow.com/a/36384529/9456216 toto riešenie pre podobný problém (nemám viac 64 hniezd), ale ešte som nezistil, ako ho uplatniť v mojom prípade.
odpovede:
2 pre odpoveď č. 1Toto je prvý krok s VBA (tu nájdete, ako zostaviť vlastné funkcie vo VBA):
Option Explicit
Public Function ReplacingForFun(rangeToReplace As Range) As String
Dim changeFrom As Variant
Dim changeTo As Variant
Dim returnString As String
Application.Volatile
returnString = rangeToReplace.Value2
changeFrom = Array("Mr", "Gp%")
changeTo = Array("", "general partner")
Dim cnt
For cnt = LBound(changeFrom) To UBound(changeTo)
returnString = Replace(returnString, changeFrom(cnt), changeTo(cnt))
Next cnt
ReplacingForFun = returnString
End Function
Ako vidíte, definujete dve polia, changeFrom
a changeTo
, Každá pozícia poľa hovorí zodpovedajúcim spôsobom, čo by sa malo zmeniť. teda Mr
by sa zmenilo na ""
a Gp%
na general partner
.
Funguje to takto:
Ako druhý krok, ak sa chcete riadiť niektorými osvedčenými postupmi, bolo by dobré definovať Arrays
v konkrétnych rozsahoch, preto by bolo ľahšie sa udržiavať.