|
Тема |
Re: Сравнение на колони! [re: Tsvety] |
|
Автор |
_danitu (аз) |
|
Публикувано | 09.11.05 18:00 |
|
|
1) Бекъпваш няколко пъти
2)Ако стане благодариш на бате Б. Гейтс
3) Ако в Sheet1 ти е по- малката таблица, за която се предполага че дублира записи в по- голямата, а във Sheet2 ти е пълната таблица:
- слагаш някъде един бутон и му асайгваш следния макрос:
Sub Button1_Click()
Dim iListCount As Integer
Dim iCtr As Integer
' Turn off screen updating to speed up macro.
Application.ScreenUpdating = False
' Get count of records to search through (list that will be deleted).
iListCount = Sheets("sheet2").Range("A1:A11").Rows.Count
' Loop through the "master" list.
For Each x In Sheets("Sheet1").Range("A1:A4")
' Loop through all records in the second list.
For iCtr = 1 To iListCount
' Do comparison of next record.
' To specify a different column, change 1 to the column number.
If x.Value = Sheets("Sheet2").Cells(iCtr, 1).Value Then
' If match is true then delete row.
Sheets("Sheet2").Cells(iCtr, 1).Delete xlShiftUp
' Increment counter to account for deleted row.
iCtr = iCtr + 1
End If
Next iCtr
Next
Application.ScreenUpdating = True
MsgBox "Done!"
End Sub
да не забравиш да промениш областите с данни, в примера са за Sheet1 А1:А4, за Sheet 2 A1:11.
Натискаш бутона и получаваш изтрита клетка А за записите който са дублирани в Sheet2.
Пускаш един АутоФилтър за редове с празна клетка А и ги триеш.
Ако в по късата таблица имаш уникални записи (несъдържащи се в дългата) правиш обратното упражнение - по лесния начин, разменяш съдържанието на шийтовете, другия - зачиташ макроса и обръщаш местата на претърсвания и използвания за сравнение шийт.
И да не забравя източника на инфото: http://support.microsoft.com/?kbid=291320
|
| |
|
|
|