Сохранение единообразной структуры файла с множеством листов

Программирование на Visual Basic for Applications
sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сохранение единообразной структуры файла с множеством листов

Сообщение sonata » 10.10.2003 (Пт) 12:08

У меня есть файл с большим количеством листов(1лист-1объект),
и у каждого листа одинаковая структура.
Т.е. "шапка" каждого документа одинаковая, например:
Наименование, Сумма, №акта, №с/ф

Вдруг мне понадобилось добавить еще одно полюшко
например после столбца "Наименование" довавить еще один столбец "Отв. лицо".Повторяю листов очень много!!!
И мне хочется сохранить структуру документа, чтобы данные были приведены к единообразному порядку.
Можно ли как-нибудь эту задачку автоматизировать?Т.е.Появлялось бы окошко в котором спрашивалось название столбца и после какого
столбца его добавить...и добавлялось во все листы...после нужного столбца...с нужным названием...

Tuco
Постоялец
Постоялец
 
Сообщения: 508
Зарегистрирован: 18.06.2003 (Ср) 16:37
Откуда: Подмосковье

Сообщение Tuco » 10.10.2003 (Пт) 12:38

Конечно можно заставить программу определить количество листов в файле, а потом с помощью цикла вставить нужную колонку в нужное место в каждый из них.
"There's more than one way to do it!"

Tuco
Постоялец
Постоялец
 
Сообщения: 508
Зарегистрирован: 18.06.2003 (Ср) 16:37
Откуда: Подмосковье

Сообщение Tuco » 10.10.2003 (Пт) 13:22

я сделал форму, в ней TextBox1 - номер колонки, TextBox2 - название её, ну и кнопка для запуска этого всего... я опробовал её на трёх листах одной книги, работало чётко, ничего не терялось...

Dim intNomer As Integer
Dim strName As String
Dim i As Integer

Private Sub CommandButton1_Click()
intNomer = TextBox1.Value
strName = TextBox2.Value
For i = 1 To Sheets.Count
Sheets(i).Activate
Columns(intNomer).Insert
Cells(1, intNomer) = strName

Next i
End Sub
"There's more than one way to do it!"

sonata
Постоялец
Постоялец
 
Сообщения: 321
Зарегистрирован: 31.07.2002 (Ср) 13:18
Откуда: Russia

Сообщение sonata » 10.10.2003 (Пт) 14:12

Так все просто оказалось и красиво....
Спасибочки, большое!!!
:D

Andreika
Бывалый
Бывалый
 
Сообщения: 226
Зарегистрирован: 17.04.2002 (Ср) 9:57
Откуда: Russia

Сообщение Andreika » 13.10.2003 (Пн) 5:44

А зачем огород городить? :shock:
Не проще ли работать с группой листов?

Т.е. выделяем несколько листов и работаем в одном из них, а все изменения автоматически заносятся в остальные. :)

Штурман
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 25.07.2003 (Пт) 10:47
Откуда: Москва

Сообщение Штурман » 13.10.2003 (Пн) 7:50

Andreika писал(а):А зачем огород городить? :shock:
Не проще ли работать с группой листов?

Т.е. выделяем несколько листов и работаем в одном из них, а все изменения автоматически заносятся в остальные. :)


К сожалению,если добавляешь в группе листов столбец ручками,то все проходит нормально,а через код добавляется тока на активном листе,на остальных же ниче не происходит.Этот вопрос уже как то поднимался,пришли к выводу,что надо через цикл.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 90

    TopList