Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Добавление данных через форму в пустую ячейку в соответствующий столбец
 
Behruz A.N., В новом файле выдает ошибку при нажатии кнопки, как при наличии данных в текстбоксах, так и без.

https://streamable.com/guugp0

Код
Run-time error: 91

Object variable or With block variable not set.

Дебаггер указывает на строку:
Код
s = WorksheetFunction.CountBlank(tbl.DataBodyRange.Columns(i))
Добавление данных через форму в пустую ячейку в соответствующий столбец
 
Behruz A.N., Протестировал ваш скрипт и оказалось, что, если таблица не "расширена", в нее не добавляются новые строки и данные из текстбоксов (кроме первого) пропадают. Есть возможность это исправить?

https://streamable.com/oz1xr4
Добавление данных через форму в пустую ячейку в соответствующий столбец
 
Behruz A.N., artemkau88,
Ребята, большое спасибо за ваше время и помощь! Все работает) Чуточку больше понравился первый вариант, но возьму оба варианта в использование.
Добавление данных через форму в пустую ячейку в соответствующий столбец
 
Добрый день!

Помогите, пожалуйста, оптимизировать код.

Имеется файл с таблицей. В таблице условно 10 столбцов. Есть userform, в которой 7 текстбоксов и 10 OptionButton. Задача формы: добавление данных со всех текстбоксов в любые первые пустые ячейки определенного столбца (столбец зависит от выбранного OptionButton от 1 до 10).

С добавлением в пустые ячейки определенного столбца я разобрался:
Скрытый текст


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

Скрытый текст


Это работает, данные не затирают друг-друга, но выходит очень массивно! А ведь опций OptionButton >= 10, и для каждой придется такой массив делать. Уверен, что есть более практичный, умный способ..

Форма открывается по нажатию ctrl+y.



И еще один момент уточнить, как сделать так, чтобы если не выбран столбец, то при нажатии кнопки выдавало бы предупреждение. Написал такой код, но не пойму как добавить туда остальные OptionButton (2,3, 4...), чтобы, выпадало предупреждение, если ничего выбрано:

Скрытый текст
Изменено: pavel105 - 25.07.2022 01:42:39
Формула, которая берет данные ячейки в последней строке таблицы и выдает новое число строкой ниже, на основе заданного значения
 
TheBestOfTheBest, вы просто супер:) СПАСИБИЩЕ!
Формула, которая берет данные ячейки в последней строке таблицы и выдает новое число строкой ниже, на основе заданного значения
 
Добрый день!
 
Есть форма ввода данных. В ней есть TextBox "Кол-во", при заполнении  которого выставляется число в ячейку H2 на листе Data. Есть Формула VBA, которая  смотрит номер счета на последнем листе в ячейке G4. Прибавляет к этому  номеру значение из ячейки H2 листа "Data", и выводит номер в виде XXX  (если значение H2 на листе Data = 1) или XXX-XXX (если значение H2 на листе Data >1).

Код
    kl = CInt(Right(Sheets(ActiveSheet.Index - 1).Range("G4").Text, 3))
    If Worksheets("Data").Range("H2").Value = 1 Then
        Range("G4").Value = kl + 1
    Else
        Range("G4").Value = kl + 1 & "-" & kl + Worksheets("Data").Range("H2").Value
    End If
Формулу подсказал TheBestOfTheBest.

Подскажите, пожалуйста, как можно изменить формулу, чтобы она смотрела  номер последнего счета в последней строке в таблице сводных данных?  Название Листа с таблицей сводных данных= Данные, а номера счетов идут по  столбцу B. И, если это возможно, чтобы новый номер прописывался строкой ниже


P.S. Вчера мне посоветовали обратить внимание на этот вариант хранения счетов в электронном виде Заполнение бланков данными из таблицы
и я решил им воспользоваться, в связи с этим изменил код формы ввода.
Формула, которая берет данные ячейки в предыдущем листе и обновляет эту же ячейку в новом листе, на основе заданного значения
 
Я посмотрел тот пример, интересное решение. Меня пока что-то смущает, сам не пойму что) Один плюс безусловно есть, это меньше листов в файле, намного чище. Хоть у нас один год = один файл, все равно много листов, приходится их скрывать.
Формула, которая берет данные ячейки в предыдущем листе и обновляет эту же ячейку в новом листе, на основе заданного значения
 
TheBestOfTheBest, СПАСИБИЩЕ!!! То что нужно, и даже листы переименовывает, просто огромное спасибо)) Этот форум дает очень позитивные эмоции, когда помогают в решении твоей задачи, и очень здорово, что есть люди, готовые отозваться и помочь.)

Sanja,
Цитата
А если каждому из двух гостей нужен отдельный счет?
Ну  и что?) Значит формируется отдельный счет. Вызывается форма и точно  также заполняется, и также присваивается номер счету, и будет счет уже  на другое имя, с другим номером. Немножко не понял вопроса....
К тому  же ситуация, когда требуется отдельный счет каждому из гостей,  приехавших по одному бронированию, крайне редкая, не более 1%.

Цитата
Зачем хранить одинаковые по форме счета на отдельных листах?
Формируется  бухгалтерия. Была оплата, была проводка и значит должен быть документ  подтверждающий операцию, не только в бумажном, но и в электронном виде,  чтобы в случае чего можно было без проблем быстро распечатать документ,  или исправить ошибки, если таковые имелись.

А так, спасибо за совет.
Формула, которая берет данные ячейки в предыдущем листе и обновляет эту же ячейку в новом листе, на основе заданного значения
 

Добрый день,

Допустим есть приезд гостей и их размещение.
Гостям выставляется счет. Номер счета выставляется в соответствии с количеством приехавших гостей. Например, номер предыдущего счета
= 290, приехал один гость, номер его счета будет уже 291. Приехали еще 2 гостя, номер счета уже будет в виде 292-293.

Есть форма ввода данных. В ней есть TextBox "Кол-во", при заполнении которого выставляется число в ячейку A1 на листе Data.
Можно ли написать формулу, которая бы брала в расчет номер счета из последнего листа (ячейка G4), прибавляла к номеру число из ячейки A1 на листе Data и выдавала число в том виде, как описано ранее. Т.е. если 1 гость приехал выставляется простой номер в виде XXX, а если 2 и больше, то в виде XXX-XXX.

Макрос для печати выбранных таблиц.
 
2007
Макрос для печати выбранных таблиц.
 
RAN!!! Получилось и все работает, спасибо вам больше! Даже на стуле подпрыгнул от радости) Мне казалось это сложная и нерешаемая задача.

По вашему вопросу - я запустил рекордер, чтобы записать печать на конкретном принтере + печатать страницы с 1 по 1. Он мне так записал)
Макрос для печати выбранных таблиц.
 
Спасибо RAN,  добавил ваш макрос. Теперь при нажатии кнопок qq1, qq2, qq3 или qq4  печатается соответствующая таблица. Как теперь можно увязать печать с  галками? Чтобы при выборе галок печатались соответствующие таблицы.
Макрос для печати выбранных таблиц.
 
Юрий М,Дело в том, что рамка все равно будет печататься, если сделать белый шрифт. Сейчас я просто подставляю белый прямоугольник поверх таблиц.
Изменено: pavel105 - 23.04.2017 12:50:59
Макрос для печати выбранных таблиц.
 
Добрый день!

Подскажите, можно ли сделать макрос, чтобы при выборе определенных галок и нажатии кнопки "Печать" печатались только определенные таблицы на листе? И чтобы на бумаге таблица печаталась именно в том месте, где она находится в файле.
Макрос для печати выбранных листов
 
Добрый день!

Подскажите, можно ли сделать похожий макрос, но чтобы при установленной галке печатались только определенные таблицы? И чтобы на листе бумаги таблица печаталась именно в том месте, где она находится.
Изменено: pavel105 - 23.04.2017 11:09:54
Не работает функция СУММ
 
Karataev, еще раз большое Вам спасибо за помощь! Все работает.
Не работает функция СУММ
 
Цитата
Karataev написал:
Если такое надо делать часто, то можно использовать макрос:
Ваш макрос замечательно работает. Только у меня 2 столбца с данными, K и O. Как можно его изменить, чтобы привести числа в порядок в двух столбцах?
Не работает функция СУММ
 
Karataev, Спасибо!!!

И  да, это лишь малая часть огромного файла с данными и там все числа  такие. Возможно, была выгрузка из 1С. Значит будем  подставлять вашу формулу и заменять ячейку источника.

Пока писал, увидел, что вы добавили макрос. Обязательно попробую. Спасибо еще раз!
Изменено: pavel105 - 22.04.2017 23:56:58
Не работает функция СУММ
 
Здравствуйте!

Помогите, пожалуйста, решить проблему. Не считает функция СУММ.
Если в столбце Сумма1 или в столбце F (с которого считается Итог) прописать числа ручками, тогда все начинает считать.

Пробовал1:
- скопировать пустую ячейку
- выделить диапазон с числами
- правая кнопка мыши - спецвставка - сложить
Работает с числом 295, не работает с числом 1600 (показывает знач!)

Пробовал2:
- выделить диапазон числами
- ctrl+H
- заменить , (запятая) на , (запятая)
Работает с числом 295, не работает с числом 1600 (показывает знач!)

Также пробовал вставку и изменение разных форматов в ячейках.

Примечание: В ячейке с суммой 295 - пишет, что другой формат.
Заполнение определенных таблиц при условии наличия или отсутствия записи в ячейках, userform, форма ввода данных, excel
 
Юрий М, Да, это рабочий вариант без надписей. Просто V попросил файл я и подкрепил. Я, конечно, понимаю, что он хотел от меня какого-то начального кода VBA, но я в этом деле новичок, ищу в интернете и из разного составляю / меняю под свои нужды. Чуть позже выложу простой вариант, сейчас очень устал.
Изменено: pavel105 - 14.04.2017 23:26:23
Заполнение определенных таблиц при условии наличия или отсутствия записи в ячейках, userform, форма ввода данных, excel
 
Может можно сделать через checkbox? Например, заполнить форму, нажать на соответствующий checkbox, которых будет 4 и каждый из которых отвечает за заполнение определенной области на листе.

В данный момент либо приходится делать 4 кнопки, каждая из которых вызывает форму для заполнения соответствующей таблицы, либо делать в одной форме через вкладки.
Заполнение определенных таблиц при условии наличия или отсутствия записи в ячейках, userform, форма ввода данных, excel
 
Нашел в старой теме похожее решение, но не совсем. Там если данные из формы уже есть в списке, предлагается заменить старую или вставить новую запись, и новая запись вставляется строкой ниже. Можно ли как-то подкорректировать под мой запрос?
Заполнение определенных таблиц при условии наличия или отсутствия записи в ячейках, userform, форма ввода данных, excel
 
V
Простейшая таблица и форма ввода
Заполнение определенных таблиц при условии наличия или отсутствия записи в ячейках, userform, форма ввода данных, excel
 
Добрый день,

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

Скрытый текст
Изменено: pavel105 - 12.04.2017 19:05:55
Страницы: 1
Наверх