Pronađite i zamijenite makronaredbu vrijednosti ćelije

Pronađite i zamijenite makronaredbu vrijednosti ćelije

Problem

Imam ovih 20 formula (1 po dioničkom kodu) u mojoj proračunskoj tablici koje dolaze iz etrade

= PROStaticData (2, "mqg.ASX", "2010/08/10; 2010/08/19; 3; True; False", "10")

Želim biti u mogućnosti promijeniti datume odjednom, imam 2 stanice postava vrijednosti koje želim tražiti su u M8 i M9 i želim ga zamijeniti s vrijednostima u L8 i L9 odnosno i to radi dobro bilo gdje u proračunskoj tablici, osim u gore navedenoj formuli iz nekog razloga, ona neće gledati kroz formulu jer je sljedeći kôd koji koristim.

 Sub theone () 'Selection.Replace Što: = "ValueToFind", Zamjena: = Raspon ("A1"). Vrijednost, LookAt: = xlPart, SearchOrder: = xlByRows, MatchCase: = False, SearchFormat: = False, ReplaceFormat: = False 'Raspon ("B1: B2") Odaberite Selection.Copy Range ("L8: L9") Odaberite Selection.PasteSpecial Paste: = xlPasteValues, Operation: = xlNone, SkipBlanks _: = False, Transpose: = False Range Odaberite Application.CutCopyMode = False Selection.Copy Range ("L8"). Odaberite Application.CutCopyMode = False Selection.Copy Cells.Replace Što: = Raspon ("M8"). Vrijednost, Zamjena: = Raspon (= M8). Vrijednost, LookAt: = _ xlPart, SearchOrder: = xlByRows, MatchCase: = False, SearchFormat: = False, _ ReplaceFormat: = False Cells.Replace Što: = Raspon ("M9"). Vrijednost, Zamjena: Vrijednost, LookAt: = _ xlPart, SearchOrder: = xlByRows, MatchCase: = False, SearchFormat: = False, _ ReplaceFormat: = False Range ("L8: L9") Odaberite Application.CutCopyMode = False Selection.Copy Range (Odabir raspona kopije) ("M8: M9") Odaberite ActiveSheet.Paste End Sub 

Riješenje

Evo nekoliko sumnji u vašem makrou

Primjer

 Raspon ("M8") Odaberite Application.CutCopyMode = False Selection.Copy 

Kopirate ovu vrijednost, ali je nikada ne zalijepite, a isto tako i sljedeći blok s L8. Svibanj biti kod nije potreban ili možda ste zaboravili zalijepiti. Razlog zbog kojeg ne možete zamijeniti jer je datum u formuli u formatu YYYY / MM / DD. Datum koji tražite nije u tom formatu. Dakle, morate dodati još jednu pretragu i zamijeniti mjesto gdje tražite datum u YYYY / MM / DD formatu i zamijeniti ga istim

 Cells.Replace Što: = FORMAT (raspon ("M8"). Vrijednost, "YYYY / MM / DD"), Zamjena: = FORMAT (raspon ("L8"). Vrijednost, "YYYY / MM / DD"), LookAt : = _ xlPart, SearchOrder: = xlByRows, MatchCase: = False, SearchFormat: = False, _ ReplaceFormat: = False 

Ovdje je vaša prerađena stvar.

 Sub theone () Dim sDateFind As String Dim sDateRep As String Range ("B1: B2") Odaberite Selection.Copy Range ("L8: L9") Odaberite Selection.PasteSpecial Paste: = xlPasteValues, _ Operation: = xlNone, _ SkipBlanks: = False, _ Transpose: = False Range ("M8") Odaberite Application.CutCopyMode = False Selection.Copy Range ("L8") Odaberite Application.CutCopyMode = False Selection.Copy sDateFind = Raspon ("M8") Vrijednost sDateRep = Raspon ("L8"). Vrijednost Cells.Replace Što: = Raspon ("M8"). Vrijednost, _ Zamjena: = Raspon ("L8"). Vrijednost, _Pogledaj: = xlPart, _ SearchOrder: = xlByRows, _ MatchCase: = False, _ SearchFormat: = False, _ ReplaceFormat: = False Cells.Replace Što: = Format (sDateFind, "yyyy / mm / dd"), _ Zamjena: = Format (sDateRep, "yyyy / mm / dd "), _ LookAt: = xlPart, _ SearchOrder: = xlByRows, _ MatchCase: = False, _ SearchFormat: = False, _ ReplaceFormat: = False sDateFind = Raspon (" M9 "). Vrijednost sDateRep = Raspon (" L9 ") Vrijednost, _ Zamjena: = Raspon ("L9"). Vrijednost, _Pogledaj: = xlPart, _ SearchOrder: = xlByRows, _ MatchCase: = False, _ SearchFormat: = False, _ ReplaceFormat: = False Cells.Replace Što: = Format (sDateFind, "yyyy / mm / dd"), _ Zamjena: = Format (sDateRep, "yyyy / mm / dd"), _ LookAt : = xlPart, _ SearchOrder: = xlByRows, _ MatchCase: = False, _ SearchFormat: = False, _ ReplaceFormat: = False Raspon ("L8: L9"). Odaberite Application.CutCopyMode = False Selection.Copy Range ("M8: Odaberite ActiveSheet.Paste End Sub 

Bilješka

Riješeno rizvisa1

Prethodni Članak Sljedeći Članak

Top Savjeta