Prvý nástrel len prasácky poupravované (zdôrazňujem
prasácky) a povynechávané. Snáď to robí čo má. Niektoré tie podmienky som vôbec nepobral, tak som ich ponechal. Všetko, čo sa dalo, je cez polia.
Vyskúšajte.
Viac nemám čas. Všetci zdúchli, a tak idem nachystať na tajnáša nejaké Vianočné veci. Ale psst, nie že to tu rozkecáte ...
Ak to bude funkčné, tak to poupravujem, aj nejaký popis dodám.
PS: Inak prílohy ste dal presne také ako som nechcel. Nie je vidno, či niekde nie sú vzorce. Dalo by sa pre zjednodušenie preplácnuť všetky dáta (aj nemenené), bolo by menej polí...
EDIT:
Dnes som si to ráno vyskúšal, a Match je nedostatočný. Použijem Collection - mnohonásobne rýchlejšie hľadanie. Nachádzajú sa v prehľadávanom súbore duplicitné materiály?
EDIT2:
Tak sa snažím pochopiť tie Vaše podmienky... No, dobré by asi bolo, začať od začiatku, a to vysvetlením, čo to má robiť a za akých podmienok. Napr. ak dôjde k výpočtu (lebo je číslo a nie text) a zároveň pri výpočte dôjde k zmene očerveň, inak zachovaj pôvodnú farbu/ zmaž akúkoľvek farbu. Atď.
To makro je celé? K čomu potom toto?
Case existingPrice = 0
If calculatedPrice = 0 Then
End If
V tomto riadku
ElseIf existingPriceValue = 0 Or existingPrice = "no info" Or InStr(existingPrice, "*") And calculatedPrice <> 0 Then
sa zbytočne testuje
Or existingPrice = "no info"
lebo nikdy nenastane, pretože to je v bloku
Case IsNumeric(existingPrice)
Ďalej priložte takú prílohu, kde bude 1 riadok z každej eventuality, ktorá sa môže vyskytnúť, aj s jeho požadovaným výsledkom včetne farby (kedy ma červená vzniknúť, zaniknúť, ponechať).
text, číslo, farba, "*", "no info", "AT mat", ...
Desatinné čísla v stĺpci G neprevádzate na skutočné čísla. Ostávajú ako text. To sa má asi previesť, nie?
Příloha: 55806_zrychlit-makro.zip (66kB, staženo 7x) citovat