Excel - comparați două liste și modificați culoarea rândului

Problema

Am două cărți de lucru diferite; să spunem registrul de lucru 1 și registrul de lucru2. În ambele registre de lucru am o coloană cu coduri de bare.

Am nevoie de un VBA pentru a verifica cele două coloane de coduri de bare din registrele de lucru și dacă găsesc potriviri pentru a crea un registru de lucru nou și pentru a copia întregul rând din registrul de lucru 1 și pentru a folosi aceeași culoare a codului de bare celular în registrul de lucru 2.

Soluţie

Presupun că coloanele de pe coloana 1 și foaia 2 sunt aceleași

apoi încercați acest cod

la începutul executării codului, codul va cere o intrare despre litera coloanei codului de bare. puteți scrie litera coloanei, de ex. G, și faceți clic pe ok (în partea dreaptă sus):

Macroul este

 Sub test () Dim col As String, r As Range, c As Range, cfind As Range Dim x, y Ca Integer col = InputBox ("tastați coloana LETTER în care codul de bare este netered pentru eg G") Cu foile de lucru ("foaia2") Setați r = Intervalul (.Cells (2, col), .Cells (2, col) .End (xlDown)) Pentru fiecare c În rx = c.Value cu foile de lucru ("sheet1"). Coloane (col & ":" & col) Setați cfind = .Cells.Find (what: = x, lookat: = xlWhole) Dacă cfind nu este nimic atunci GoTo nnext y = cfind.Interior.ColorIndex cfind.EntireRow.Copy cu foile de lucru "(3) .Celuri (rânduri.Count, " A "). Sfârșit (xlUp) .Offset (1, 0) .PasteSpecial .Cells (Rows.Count, col) .End (xlUp) .Interior.ColorIndex = y Cu Sfârșit Cu nnext: Următorul c Sfârșit Cu End Sub 

Notă

Vă mulțumim pentru venkat1926 pentru acest sfat pe forum.

Articolul Precedent Articolul Următor

Cele Mai Importante Sfaturi