Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.09.2011, 10:33   #1
man_of_virtue
Пользователь
 
Аватар для man_of_virtue
 
Регистрация: 17.09.2011
Сообщений: 10
По умолчанию Последовательное заполнение таблицы Excell

Доброго всем времени суток! Надеюсь, что не сильно озадачу достопочтеннейших обитателей форума, если попрошу подсказать мне - как возможно обеспечить последовательное заполнение строк (и столбцов) таблицы Excell при вводе данных через соответствующие TextBox_ы, размещенные на форме, по нажатию CommB? Сразу выражаю благодарность всем кто откликнется.
man_of_virtue вне форума Ответить с цитированием
Старый 17.09.2011, 10:45   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

сюда посмотрите: http://programmersforum.ru/showthread.php?t=165671
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 17.09.2011, 14:22   #3
man_of_virtue
Пользователь
 
Аватар для man_of_virtue
 
Регистрация: 17.09.2011
Сообщений: 10
По умолчанию

Спасибо, что откликнулись и дали ссылку.... Но ИМХО Вы немного меня не поняли. Форма есть. Готова. Оформлена. Как вносить данные из текстбоксов в Cell, Range я знаю (и с этим проблем нет), но дело вот в чем: пользователь набирает в три текстбокса данные (первый ТБ - город_1, второй ТБ - город_2, третий - цена билета). Далее эти данные заносятся в сроки таблицы: "от ст. " & текстбокс_1 & " до ст." & текстбокс_2 'это одна строка одного столбца; Текстбокс_3 (цена билета) - та же строка, но другой столбец. Но пользователь может совершить несколько переездов. Для этого я "приладил" к форме коммандбаттон "Добавить маршрут", при нажатии которой данные из текстбоксов_1_2_3 очищаются (но остаются в таблице (это тоже не проблема)), система переходит в исходное состояние. После того как пользователь вновь введет следующий маршрут и опять кликнет коммандбаттон - данные вносятся сточкой ниже и т.д. Так вот эти последующие "клики-маршруты-записи_строчкой ниже" я и не могу обработать...
Извините за пространные объяснения. Заранее жму руку помощи.
man_of_virtue вне форума Ответить с цитированием
Старый 17.09.2011, 15:12   #4
JuniorProger
Форумчанин
 
Регистрация: 16.09.2011
Сообщений: 114
По умолчанию

Брось код и на нем скажи где и чего не получается, что и куда должно переноситься.
P.S. Может, конечно, только я не понимаю, но хотелось бы посмотреть
JuniorProger вне форума Ответить с цитированием
Старый 17.09.2011, 15:20   #5
JuniorProger
Форумчанин
 
Регистрация: 16.09.2011
Сообщений: 114
По умолчанию

"...Для этого я "приладил" к форме коммандбаттон "Добавить маршрут", при нажатии которой данные из текстбоксов_1_2_3 очищаются (но остаются в таблице (это тоже не проблема)), система переходит в исходное состояние.После того как пользователь вновь введет следующий маршрут и опять кликнет коммандбаттон - данные вносятся сточкой ниже и т.д. Так вот эти последующие "клики-маршруты-записи_строчкой ниже" я и не могу обработать... "

Появилась мысль: может система и не переходит в исходное состояние
JuniorProger вне форума Ответить с цитированием
Старый 17.09.2011, 16:17   #6
man_of_virtue
Пользователь
 
Аватар для man_of_virtue
 
Регистрация: 17.09.2011
Сообщений: 10
По умолчанию

Цитата:
Сообщение от JuniorProger Посмотреть сообщение
Брось код и на нем скажи где и чего не получается, что и куда должно переноситься.
P.S. Может, конечно, только я не понимаю, но хотелось бы посмотреть
В том-то и дело, что кода нет... с собой нет. Остался на работе. Теперь только в понедельник. Сброшу всю задумку (читай проект) целиком, только чур не смеяться на примитивностью кода (весь мой стаж в VBA) часов 40...
man_of_virtue вне форума Ответить с цитированием
Старый 17.09.2011, 16:41   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Вообще-то такие вопросы без файла-примера не решаются. Потому что ответов может быть много - и в зависимости от ситуации ответы разные.
Можно использовать
iLastRow = Cells(Rows.Count, n).End(xlUp).Row
можно увеличивать переменную на каждом заполнении, можно тупо определять Max нумерации заполненных строк и ориентироваться по этому значению, можно завести public переменную, где хранить информацию по количеству заполненных строк.
Но обычно хватает Cells(Rows.Count, n).End(xlUp).Row - где n - это номер анализируемого столбца.
Ну или как в примере по ссылке выше:
.Cells(5, 1).End(xlDown).Row
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 17.09.2011 в 16:47.
Hugo121 вне форума Ответить с цитированием
Старый 17.09.2011, 17:05   #8
man_of_virtue
Пользователь
 
Аватар для man_of_virtue
 
Регистрация: 17.09.2011
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Вообще-то такие вопросы без файла-примера не решаются. Потому что ответов может быть много - и в зависимости от ситуации ответы разные.
Можно использовать
iLastRow = Cells(Rows.Count, n).End(xlUp).Row
можно увеличивать переменную на каждом заполнении, можно тупо определять Max нумерации заполненных строк и ориентироваться по этому значению, можно завести public переменную, где хранить информацию по количеству заполненных строк.
Но обычно хватает Cells(Rows.Count, n).End(xlUp).Row - где n - это номер анализируемого столбца.
Ну или как в примере по ссылке выше:
.Cells(5, 1).End(xlDown).Row
Да! Вы правы! Пример будет в понедельник. Обещаю! (звучит торжественно, Вы не находите?). ...может я слишком "накрутил" в своих объяснениях, но все, что я хочу понять, это - как заставить код изменить значение (координаты, положение) заполненной строки на +1, что бы вписать туда еще один блок данных (знаю, что это не сложно, но все мои тырканья не привели к боле-менее нужному результату).
Ув. форумчане, спасибо Вам за живые отклики на мою проблему, но как справедливо заметил комрад Hugo - без примера туго. В понедельник не примините: зайдите, гляньте - будет пример.
man_of_virtue вне форума Ответить с цитированием
Старый 17.09.2011, 17:16   #9
JuniorProger
Форумчанин
 
Регистрация: 16.09.2011
Сообщений: 114
По умолчанию

А таблица каким компонентом представлена?
JuniorProger вне форума Ответить с цитированием
Старый 17.09.2011, 17:20   #10
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Ещё вариант:
сперва, в самом начале:
Set r = [a1]
затем, после занесения в r данных:
Set r = r.Offset(1)
ну и можно провериться:
r.Select
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заполнение таблицы из бд Damhurz PHP 34 05.04.2013 14:38
Заполнение таблицы Lunozwetka БД в Delphi 2 16.06.2011 18:43
Заполнение таблицы arkvid Microsoft Office Excel 10 17.11.2010 18:32
Заполнение таблицы по условию hamlook Microsoft Office Excel 15 22.02.2010 21:22
заполнение таблицы Andreyka Общие вопросы Delphi 6 07.02.2009 22:18