Excel - salīdziniet divus sarakstus un mainiet rindas krāsu
Izdevums
Man ir divas dažādas darbgrāmatas; teiksim 1. darbgrāmatu un darbgrāmatu2. Abās darbgrāmatās ir kolonna ar svītrkodiem.
Man ir nepieciešams VBA, lai pārbaudītu divas darbgrāmatu svītrkodu kolonnas un, ja tā atrod atbilstības, lai izveidotu jaunu darbgrāmatu un kopētu visu 1. darbgrāmatas rindu un darbgrāmatā izmantotu to pašu šūnu svītrkodu krāsu.
Risinājums
Es pieņemu, ka svītrkoda kolonnas gan 1., gan 2. lapa ir vienādas
tad mēģiniet šo kodu
sākumā, palaižot kodu, kods vaicās ievadīt informāciju par svītrkoda sleju. jūs varat ierakstīt slejas burtu, piemēram, G, un noklikšķiniet uz ok (augšējā labajā pusē):
Makro ir
Sub tests () Dim col kā virkne, r kā diapazons, c kā diapazons, norādiet kā diapazons Dim x, y As Integer col = InputBox ("ierakstiet kolonnu LETTER, kurā svītrkods ir iekļauts, piemēram, G") On Error Resume Next Ar darblapām ("sheet2") Iestatiet r = Range (.Cells (2, col), .Cells (2, col) .End (xlDown)) Katram c In rx = c.Value Ar darblapām ("sheet1"). Kolonnas (col & ":" & col) Iestatiet cfind = .Cells.Find (kas: = x, lookat: = xlWhole) Ja cfind ir nekas, tad GoTo nnext y = cfind.Interior.ColorIndex cfind.EntireRow.Copy with Worksheets ( "sheet3") .Cells (rindas.Count, "A"). Beigas (xlUp) .Offset (1, 0) .PasteSpecial .Cells (rindas.Skaitlis, col) .End (xlUp) .Interior.ColorIndex = y Beigas Ar beigu beigšanos: Nākamais c Beigas beigas
Piezīme
Pateicoties venkat1926 par šo padomu forumā.