Моя проблема в том, что мне нужно, чтобы элементы в книге в Excel 2007 объединялись в один лист, но затем необходимо удалить дубликаты.Я получил большую часть этого для работы с кодом ниже, я даже настроил его так много секунд, минут, часов после открытия документа.
Однако есть две проблемы:
- Когда я делюсь этим документом, разрешаю другим редактировать одновременно, он ломается и больше не удаляет дубликаты.Не говоря уже о постах заголовков столько раз, сколько листов.
- Я не знаю, как удержать эту штуку от сумасшествия, когда я компилирую код, он делает это, где он будет работать правильно в течение первых нескольких циклов, а затем начнет быстро повторяться.
Я не эксперт по кодированию, и я прошу прощения за карту noob, но я не знаю, что делать.
Private Sub Workbook_Open
Application.OnTime Now + TimeValue("00:00:10), "ThisWorkbook.Combine" 'this ten second loop is an example'
End Sub
Sub Combine
Applicatio.DisplayAlerts = False
Dim J as Integer
One Error Resume Next
Sheets(1).Select
Sheets(1).Name = "Combined"
Sheets(2).Activate
Range("A1").EntireRow.Select
Selection.Copy Destination:=Sheets(1).Range("A1:F1")
For J = 2 To Sheets.Count
Sheets(J).Activate
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Offeset(1, 0).Resize(Selection.Rows.Count - 1).Select
Selection.Copy Destination:=Sheets(1).Range("A65536").End(x1Up)(2)
End Sub
Next
Sub RemoverDuper
Dim icol As Long
With Sheets("Combined")
icol = Application.Match("Number"),.Rows(1),0)
With .Cells(1, 1).CurrentRegion
.RemoveDuplicates Columns:=icol, Header:=x1No
Application.DisplayAlerts = True
Sheets(1).Select
Sheets(1).Name = "Combined"
End With
End With
Next
End Sub
PS Если есть синтаксическая ошибка или что-то в этом роде, пожалуйста, укажите мне это и знайте, что мне пришлось перепечатывать все это из памяти, поэтому, если возникнет ошибка, я бы хотел знать.