Cari dan gantikan makro nilai sel

Cari dan gantikan makro nilai sel

Isu

Saya mempunyai 20 formula (1 setiap kod saham) dalam spreadsheet saya yang berasal dari etrade

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

saya ingin dapat menukar tarikh sekaligus, saya mempunyai 2 sel persediaan nilai-nilai yang saya ingin cari berada di M8 dan M9 dan saya mahu menggantikannya dengan nilai-nilai di L8 dan L9 masing-masing dan ini berfungsi dengan baik di mana-mana sahaja dalam spreadsheet kecuali dalam formula di atas untuk sebab tertentu ia tidak akan melihat formula untuknya yang berikut adalah kod yang saya gunakan.

 = "ValueToFind", Penggantian: = Range ("A1"). Nilai, Lihat: = xlPart, SearchOrder: = xlByRows, MatchCase: = False, SearchFormat: = False, ReplaceFormat: = Pilih Selection.Copy Range ("L8: L9"). Pilih Selection.PasteSpecial Paste: = xlPasteValues, Operation: = xlNone, SkipBlanks _: = False, Transpose: = Range False ( Pilih "Application.CutCopyMode = Seleksi False.Copy Range (" L8 "). Pilih Application.CutCopyMode = Pilihan False.Copy Cells.Replace Apa: = Range (" M8 "). "L8"). Nilai, LookAt: = _ xlPart, SearchOrder: = xlByRows, MatchCase: = False, SearchFormat: = False, _ ReplaceFormat: = False Cells.Replace What: = Range ("M9" = Range ("L9") Nilai, Lihat: = xlPart, SearchOrder: = xlByRows, MatchCase: = False, SearchFormat: = False, _ ReplaceFormat: = Range False ("L8: L9") Pilih Application.CutCopyMode = Pilihan Pemilihan False.Copy Range ("M8: M9"). Pilih Sub Ends ActiveSheet.Paste 

Penyelesaian

Berikut adalah beberapa keraguan dalam makro anda

Contoh

 Julat ("M8"). Pilih Application.CutCopyMode = Pemilihan Salah.Copy 

Anda menyalin nilai ini, tetapi jangan sekali paste dan sama dengan blok seterusnya dengan L8. Mungkin kod tidak diperlukan atau mungkin anda terlupa untuk tampal. Sebabnya anda tidak dapat menggantikannya kerana, tarikh yang ada dalam formula adalah dalam format YYYY / MM / DD. Tarikh yang anda cari tidak dalam format itu. Jadi anda perlu menambah satu lagi carian dan gantikan di mana anda mencari tarikh dalam format YYYY / MM / DD dan ganti sama

 Nilai-nilai, "YYYY / MM / DD"), Penggantian: = FORMAT (Julat ("L8") Nilai, "YYYY / MM / DD"), LookAt : = _ xlPart, SearchOrder: = xlByRows, MatchCase: = False, SearchFormat: = False, _ ReplaceFormat: = False 

Berikut adalah perkara yang anda buat semula.

 Pilih Selection.Copy Range ("L8: L9"). Pilih Selection.PasteSpecial Paste: = xlPasteValues, _ Operation: = xlNone, _ SelectBlackBlanks: = False, _ Transpose: = Range False ("M8") Select Application.CutCopyMode = Selection False.Copy Range ("L8") Select Application.CutCopyMode = Selection False.Copy sDateFind = Range ("M8" Nilai Sel.Replace Apa: = Julat ("M8"). Nilai, _ Penggantian: = Julat ("L8"). Nilai, _ xlByRows, _ MatchCase: = False, _ SearchFormat: = False, _ ReplaceFormat: = False Cells.Replace What: = Format (sDateFind, "yyyy / mm / dd"), _ Replacement: = Format (sDateRep, "yyyy / mm = False, _ SearchFormat: = False, _ ReplaceFormat: = False sDateFind = Range ("M9"). Nilai sDateRep = Range ("L9 = "Range (" M9 ") Nilai, _ Penggantian: = Julat (" L9 "). Nilai, _ LookAt: = xlPart, _ SearchOrder: = xlByRows, _ MatchCase: = False, _ SearchFormat: = False, _ ReplaceFormat: = False Cells.Replace What: = Format (sDateFind, "yyyy / mm / dd"), _ Replacement: = Format (sDateRep, "yyyy / mm / dd"), _ LookAt == xlPart, _ SearchOrder: = xlByRows, _ MatchCase: = False, _ SearchFormat: = False, _ ReplaceFormat: = Range False ("L8: L9") Pilih Application.CutCopyMode = Selection False.Copy Range ("M8: M9 "). Pilih Sub Akhir End ActiveSheet.Paste 

Catatan

Diselesaikan oleh rizvisa1

Artikel Sebelumnya Artikel Seterusnya

Tip-Tip Utama