Poiščite in nadomestite makro vrednosti celice

Poiščite in nadomestite makro vrednosti celice

Težava

Imam teh 20 formul (1 na staležno kodo) v moji preglednici, ki prihajajo iz etrade

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

hočem, da bi lahko spremenili datume vse naenkrat, imam 2 celice setup vrednosti, ki jih želim iskati, so v M8 in M9 in želim, da ga nadomestiti z vrednostmi v L8 in L9 oz. v preglednici, razen v zgornji formuli iz neznanega razloga, da ne bo pogledala formule za to, kar je naslednja koda, ki jo uporabljam.

 Sub theone () 'Selection.Replace Kaj: = "ValueToFind", Zamenjava: = Range ("A1"). Vrednost, LookAt: = xlPart, SearchOrder: = xlByRows, MatchCase: = False, SearchFormat: = False, ReplaceFormat: = False 'Območje ("B1: B2") Izberite Selection.Copy Range ("L8: L9"). Izberite Selection.PasteSpecial Paste: = xlPasteValues, Operation: = xlNone, SkipBlanks _: = False, Transpose: = False Range "M8") Izberite Application.CutCopyMode = False Selection.Copy Range ("L8") Izberite Application.CutCopyMode = False Selection.Copy Cells.Replace Kaj: = Range ("M8"). Vrednost, zamenjava: = obseg ( Vrednost, Poglej: = _ xlPart, SearchOrder: = xlByRows, MatchCase: = False, SearchFormat: = False, _ ReplaceFormat: = False Cells.Replace Kaj: = Območje ("M9"). Vrednost, zamenjava: Vrednost, LookAt: = _ xlPart, SearchOrder: = xlByRows, MatchCase: = False, SearchFormat: = False, _ ReplaceFormat: = False Range ("L8: L9"). Izberite Application.CutCopyMode = False Selection.Copy Range (Izbira kopije napak) ("M8: M9") Izberite ActiveSheet.Paste End Sub 

Rešitev

Tukaj je nekaj dvomov v vašem makru

Primer

 Razpon ("M8"): Izberite Application.CutCopyMode = False Selection.Copy 

To vrednost kopirate, vendar je nikoli ne prilepite in z naslednjim blokom z L8. Lahko je koda ni potrebna ali pa ste pozabili prilepiti. Razlog, da ga ne morete nadomestiti, ker je datum v formuli, je v obliki LLLL / MM / DD. Datum, ki ga iščete, ni v tem formatu. Torej morate dodati še eno iskanje in zamenjati mesto, kjer iščete datum v formatu LLLL / MM / DD in ga zamenjati

 Cells.Replace What: = FORMAT (Območje ("M8"). Vrednost, "LLLL / MM / DD"), Zamenjava: = FORMAT (Območje ("L8"). Vrednost, "LLLL / MM / DD"), LookAt : = _ xlPart, SearchOrder: = xlByRows, MatchCase: = False, SearchFormat: = False, _ ReplaceFormat: = False 

Tukaj je vaša preoblikovana stvar.

 Sub theone () Dim sDateFind As String Dim sDateRep As String Range ("B1: B2") Izberite Selection.Copy Range ("L8: L9"). Izberite Selection.PasteSpecial Paste: = xlPasteValues, _ Operation: = xlNone, _ SkipBlanks: = False, _ Transpose: = False Range ("M8") Izberite Application.CutCopyMode = False Selection.Copy Range ("L8"). Izberite Application.CutCopyMode = False Selection.Copy sDateFind = Območje ("M8") Vrednost: sDateRep = Razpon ("L8"). Vrednost Cells.Replace What: = Razpon ("M8"). Vrednost, _ Zamenjava: = Območje ("L8"). Vrednost, _PoglejAt: = xlPart, _ SearchOrder: = xlByRows, _ MatchCase: = False, _ SearchFormat: = False, _ ReplaceFormat: = False Cells.Replace Kaj: = Oblika (sDateFind, "yyyy / mm / dd"), _ Zamenjava: = Format (sDateRep, "llll / mm / dd "), _ LookAt: = xlPart, _ SearchOrder: = xlByRows, _ MatchCase: = False, _ SearchFormat: = False, _ ReplaceFormat: = False sDateFind = Območje (" M9 "). Vrednost sDateRep = Območje (" L9 ") Vrednost, _ Zamenjava: = Razpon ("L9"). Vrednost, _PoglejAt: = xlPart, _ SearchOrder: = xlByRows, _ MatchCase: = False, _ SearchFormat: = False, _ ReplaceFormat: = False Cells.Replace Kaj: = Format (sDateFind, "yyyy / mm / dd"), _ Zamenjava: = Format (sDateRep, "yyyy / mm / dd"), _ LookAt : = xlPart, _ SearchOrder: = xlByRows, _ MatchCase: = False, _ SearchFormat: = False, _ ReplaceFormat: = False Range ("L8: L9"). Izberite Application.CutCopyMode = False Selection.Copy Range ("M8: M9 "). Izberite ActiveSheet.Paste End Sub 

Opomba

Rešeno z rizvisa1

Prejšnji Članek Naslednji Članek

Top Nasveti