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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление строки для новой записи, VBA 
:(
    Опции темы
Staruha
Дата 11.6.2004, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Кнопкой Кнопка 1 вставляем запись в таблицу xl. Нужно этой же кнопкой добавить новую строку для следующей записи. baaa.gif


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


Инженер
****


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

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



Делаешь глобальную переменную i типа Integer. Когда вставляешь запись смотришь чему равна переменная i, и вставляешь запись на место i. После того как вставила запись в таблицу делаешь i = i + 1, ну или что-нибудь другое.


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

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


Эксперт
***


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

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



Ну я попробую.Только почему ты готовые коды избегаешь давать.Воспитываешь чтоли. И вообще ,раз коды полвторяются почему их как то не обобщить,что бы можно было программы писать ,как дом из панелей строить?


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


Инженер
****


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

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



Цитата
Только почему ты готовые коды избегаешь давать.Воспитываешь чтоли.

Нет. Лень просто smile.gif. Помоему в этом случае идеи должно хватить.


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

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


Эксперт
***


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

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



Сделала в xl макрос с помощью мастера ,зашла ,почитала - на твою идею не похоже, там он пишет Selection.EntireRow.Insert. Но там вставляется строка всегда в одно место.А надо: вставил запись(это уже есть),спрыгнул на нижнюю строчку(ENTER) и вставил строку и у нас всегда в запасе 2 строки получается


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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

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



Тут все намного проще. wink.gif

Метод InsertRow имеет параметр AfterRow, при указании которого строка вставляется поле данной строки.

А количество строк тебе известно.


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
Staruha
Дата 12.6.2004, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Так Имеются записи ,которые вставляются в таблицу через форму.
Под таблицей имеется сводая таблица xl. Записей может быть сколько угодно и одна и 1000.Не хочется сводную убирать на другой лист,т.к. если заказ маленький при выводе на печать все умещается на одном листе. Поэтому приходится все время вставлять строки перед сводойвручную.


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


Эксперт
***


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

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



Есть! Есть номер строки.В xl: Z=maxA:A+1 и вставляю вместе со всеми данными.Что дальше?! inlove.gif


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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1893
Регистрация: 15.5.2004
Где: Украина, Днепр

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



InsertRow z - x,
где Х - кол-во итоговых строк. Т.е. сколько строк снизу переместить перед вставкой


--------------------
Я желаю всем Счастья!
PM ICQ Skype   Вверх
boevik
Дата 14.6.2004, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Почти идея cardinalа, с небольшим исправлением (не надо держать глобальную переменныю)
Код
Dim i As Integer
Dim myRange As Range
Set myRange = Worksheets(1).Range("a1:a3600")
i = Application.WorksheetFunction.Count(myRange)
Worksheets(1).Range("A" & i + 1).Value = Me.TextBox1.Text



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
Staruha
Дата 14.6.2004, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



где Х - кол-во итоговых строк. Т.е. сколько строк снизу переместить перед вставкой - сводная таблица может быть любых размеров,но если не обновлять данные то - 2 строки.Но это неудобно - если что то пропустил надо вставлять,а сводная уже на 10 строк.

Я все попробую.Спасибо!


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


Эксперт
***


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

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



Ну вот разобралась.Отстрелялся Boevik нормально ,только это мы уже добились(Консолидация данных.Вставляется запись).

InsertRow z - x, - вот сдесь еще раз для особо .....

В настоящее время номер строки находится в ячейке R1



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


Эксперт
***


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

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



Соедиила все ваши советы и вот что получилось:
Dim i As Integer

Private Sub CommandButton1_Click()
i = Range("F1").Text
Rows(i).Select
Selection.Insert Shift:=xlDown
End Sub
Отличо работает.Кстати F1=Макс(А:А)+2
Только оказалось что строку надо вставлять когда заносится новая запись.Как бы компу обьяснить ,что если запись суммируется ,то пустую строку не добавлять withstupid.gif


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


Эксперт
***


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

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



Пока вы загорали вопрос решился на 100 процентов.Вставила полученный код в конце цикла и все .Незнаю как ,но это отлично работает!Если такой записи нет -то добавляет строку,а если есть -остается не месте.



--------------------
Возмездие настигнет
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

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

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

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

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


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

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


 




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


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

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