Trova e sostituisci in Excel


0

Ho una tabella nel foglio 1 ha due colonne A e B. Ho creato una macro per trovare il valore di A1 nel foglio 2 e sostituire il valore di B1 invece del valore A1 nel foglio 2

Sto cercando di migliorare la macro per coprire l'intera gamma di colonne A e B.

    Sub Find_Replace()
'

'
    Sheets("Sheet1").Select
    Range("A1").Select
    Selection.Copy
    Sheets("Sheet1").Select
    Range("B1").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("Sheet2").Select
    Selection.Replace What:="Value 1 ", Replacement:="value X", LookAt:= _
        xlPart, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub

tabella di esempio

** cercando di migliorare Gamma ("A1"). Selezionare per coprire tutte le celle disponibili nell'intervallo A e B


In questo processo, potresti sostituire per errore alcune celle di Sheet2 se il valore già sostituito in quella cella si trova altrove nella Colonna A di Sheet1. per esempio. Sostituire le occorrenze di "valore 2" (Foglio1.A2) con "valore r" (Foglio1.B2) in realtà nelle colonne Foglio2 diciamo A, B & amp; C, ora se "valore r 'come una stringa si verifica nella cella successiva della Colonna A in Sheet1 sarà di nuovo cercato e sostituito con la sua controparte da Sheet1.ColumnB. Va bene con te?
patkim

Risposte:


0

Prova questo codice. L'intervallo di campionamento è A1: A10 in Sheet1. B1: B10 viene automaticamente inviato utilizzando il metodo Offset nel codice VBA. Tuttavia, la limitazione menzionata nel commento sopra vale. I fogli sono Sheet1 e Sheet2 nella stessa cartella di lavoro.

Prova questo codice e torna indietro.

Sub Macro1()
Set myrange = Sheet1.Range("A1:A10")
For Each cell In myrange

Dim find1
Dim replace1

find1 = cell.Value
replace1 = cell.Offset(RowOffSet:=0, ColumnOffset:=1).Value

    Sheet2.Cells.Replace What:=find1, Replacement:=replace1, LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Next cell
End Sub
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.