Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Программирование, связанное с MS Office > Помогите со скриптом к Excel |
Автор: Dedal 18.1.2006, 21:42 |
Дело в том, что надо обработать огромную таблицу. Проще всего было бы написать скрипт, но с VB я не знаком (хотя сейчас начал разбираться). Было бы просто замечательно, если бы кто-нибудь помог. Дело вот в чем. Допустим есть данные такой структуры (4 столбца): Город1 Данные Данные Данные Город2 Данные Данные Данные Город2 Данные Данные Данные Город3 Данные Данные Данные Надо удалить из текущей книги строки с повторяющимися (именно подряд идущими) названиями городов и перенести их в другую книгу, чтобы в результате получилось: Город1 Данные Данные Данные Город3 Данные Данные Данные для одной книги и Город2 Данные Данные Данные Город2 Данные Данные Данные для второй книги. |
Автор: cardinal 18.1.2006, 22:53 |
Перенесено из VB6. |
Автор: Dedal 18.1.2006, 23:59 |
Справился сам. Хотя отродясь ничего не писал на VB. Секрет успеха:MSDN + хелп по VB для оффиса ![]() |
Автор: Staruha 19.1.2006, 01:29 | ||
А у меня вот такой код удался.
Идет по столбцу A |
Автор: Dedal 20.1.2006, 02:24 |
Staruha, у меня тоже все идет по столбцу А, но только записей там почти 50000 ![]() |
Автор: Staruha 21.1.2006, 01:16 |
Ну дк поставь в коде L=50000 и смотри как кино. Этот код хорош тем ,что сортировать не надо. |
Автор: zarrr 17.11.2008, 15:26 |
А у меня вот такой код удался. Выделить всёкод Visual Basic 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: Private Sub CommandButton2_Click() Dim xd As String Dim xxd As String Dim L As Integer L = 3000 For x = 1 To L xd = Cells(x, 1) For xx = x + 1 To L xxd = Cells(xx, 1) If x = L Then Exit Sub ElseIf xd = xxd Then Rows(xx).Delete xx = xx - 1 L = L - 1 End If Next xx = x + 1 Next End Sub Идет по столбцу A а как по столбцу И сделать то же самое????????? помогите? |
Автор: cardinal 17.11.2008, 20:53 |
Модератор: Пожалуйста, один топик - один вопрос. |