Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите со скриптом к Excel 
V
    Опции темы
Dedal
Дата 18.1.2006, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 6.5.2004

Репутация: нет
Всего: нет



Дело в том, что надо обработать огромную таблицу. Проще всего было бы написать скрипт, но с VB я не знаком (хотя сейчас начал разбираться). Было бы просто замечательно, если бы кто-нибудь помог. Дело вот в чем. Допустим есть данные такой структуры (4 столбца):

Город1 Данные Данные Данные
Город2 Данные Данные Данные
Город2 Данные Данные Данные
Город3 Данные Данные Данные


Надо удалить из текущей книги строки с повторяющимися (именно подряд идущими) названиями городов и перенести их в другую книгу, чтобы в результате получилось:

Город1 Данные Данные Данные
Город3 Данные Данные Данные

для одной книги и

Город2 Данные Данные Данные
Город2 Данные Данные Данные

для второй книги.

PM MAIL   Вверх
cardinal
Дата 18.1.2006, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Перенесено из VB6.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Dedal
Дата 18.1.2006, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 6.5.2004

Репутация: нет
Всего: нет



Справился сам. Хотя отродясь ничего не писал на VB. Секрет успеха:MSDN + хелп по VB для оффиса smile
PM MAIL   Вверх
Staruha
Дата 19.1.2006, 01:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 13
Всего: 27



А у меня вот такой код удался.
Код

 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



--------------------
Возмездие настигнет
PM MAIL   Вверх
Dedal
Дата 20.1.2006, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 6.5.2004

Репутация: нет
Всего: нет



Staruha, у меня тоже все идет по столбцу А, но только записей там почти 50000 smile
PM MAIL   Вверх
Staruha
Дата 21.1.2006, 01:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 13
Всего: 27



Ну дк поставь в коде L=50000 и смотри как кино.
Этот код хорош тем ,что сортировать не надо.


--------------------
Возмездие настигнет
PM MAIL   Вверх
zarrr
Дата 17.11.2008, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 17.11.2008

Репутация: нет
Всего: нет



А у меня вот такой код удался.
Выделить всёкод 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

а как по столбцу И сделать то же самое????????? помогите?
PM MAIL   Вверх
cardinal
Дата 17.11.2008, 20:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Модератор: Пожалуйста, один топик - один вопрос.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0676 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.