Ввод данных в таблицу Excel с помощью Windows Form часть 2 из 2

  Рет қаралды 30,865

Polyariz

Polyariz

Күн бұрын

Пример формы: www.dropbox.co...

Пікірлер: 55
@АртемИшутин-ф7ж
@АртемИшутин-ф7ж 6 жыл бұрын
HEEELLP!!! Нужна помощь! Все делал по инструкции но в результате пишет ошибку Object variable or With block veriable not set. Что делать????
@temniknn1377
@temniknn1377 3 жыл бұрын
Прекрасно, только лучше больше разжевывать, пояснять.
@anna_kadu
@anna_kadu 4 ай бұрын
Здравствуйте! Спасибо большое за такое развернутое учебное видео! А вы не могли бы подсказать: 1. как проверить, чтобы не ввести по ошибке одинаковые данные? 2. чтобы в начале ввода данных, выпадали возможные варианты из уже имеющихся в таблице названий ? Спасибо! )
@koff444
@koff444 7 жыл бұрын
Спасибо за урок. Очень пригодился. Я делал не копию представленного, приспосабливал для своей таблицы. А в VBA я полный ноль и мне сложно было разобраться после того как вы поменяли стандартные названия ячеек формы ввода данных. В остальном все доступно!!! Спасибо!
@МаксимДешко-ш4ш
@МаксимДешко-ш4ш 7 жыл бұрын
Спасибо! Полезный материал грамотно подан. Большая редкость!
@captain_swan
@captain_swan 5 жыл бұрын
Как сделать, что бы таблица располагать в любом месте листа и в неё корректно добавлялись новые строки (как записать туда данные понятно)
@vitaliykovalchuk7140
@vitaliykovalchuk7140 2 жыл бұрын
Спасибо, не всё так просто как для меня. Вопрос: поля ввода формы можно можна сделать таковыми, чтобы вибырать текст из выпадающего списка?
@ДмитрийКостылев-г2ъ
@ДмитрийКостылев-г2ъ 7 жыл бұрын
Private Sub cmdButtonAddEntry_Click() Dim iRow As Integer 'Записываем значения из формы в глобальные переменные itemName = txtName.Value itemDetails = txtAdres.Value interPrice = txtId.Value interNonber = txtNomber.Value With Клиент 'Ряд в который будут записываться новые значения iRow = .ListObjects("MyTable").DataBodyRange.Rows.Count + 2 'Запишем значение в таблицу .Cells(iRow, "A").Value = itemName .Cells(iRow, "B").Value = itemDetails .Cells(iRow, "C").Value = interPrice .Cells(iRow, "D").Value = interNonber End With End Sub пишет, что ошибка, в чем может заключаться ошибка?
@АнасасияГалкина
@АнасасияГалкина 3 жыл бұрын
А можно при использовании горячих клавиш, чтоб их сочетание и использование показывалось внизу. Я только учусь и некоторое остается за кадром.
@AzerruSSRT88
@AzerruSSRT88 6 жыл бұрын
ААА на самом интересном месте. Попытался повторить, на тебе object variable or With block variable not set. Не глянете, что не так, а то сам чё-то никак. Private Sub cmdBottomAddEntry_Click() Dim iRow As Integer itemDate = DateItem.Value itemName = txtItemModel.Value itemKolich = txtItemKolvo.Value itemKoment = TxtItemDetails.Value With MyList iRow = .ListObjects("DaliTable").DataBodyRange.Rows.Count + 2 End With End Sub
@s4lut
@s4lut 6 жыл бұрын
Выскакивает ошибка: "run time error 9" в ряду iRow = .ListObjects("Sbor").DataBodyRange.Rows.Count + 2 Не подскажете, как что поправить? Вот код Private Sub cmdButtonAddEntry_Click() Dim iRow As Integer itemName = txtItemName.Value itemMemo = txtItemMemo.Value itemDetails = txtItemDeteils.Value bIsSold = OptionButton1.Value With MyList iRow = .ListObjects("Sbor").DataBodyRange.Rows.Count + 2 .Cells(iRow, "B").Value = itemName .Cells(iRow, "F").Value = itemMemo .Cells(iRow, "D").Value = itemDetails End With End Sub
@nullifiedcat1198
@nullifiedcat1198 4 жыл бұрын
узнал что делать ?
@Михаил-м6ц4и
@Михаил-м6ц4и 6 жыл бұрын
Здравствуй!Спасибо за урок!Я попробовал прикрутить твой урок к уже готовой таблице,но значения вводятся в новые строки в конце моей таблицы.То есть создается новая таблица.Подскажи,пожалуйста,как это можно поправить?Спасибо.
@АлександрН-э8с
@АлександрН-э8с 6 жыл бұрын
хотелось бы еще узнать как в такую форму всплывающий календарь вставить чтоб дату вносить
@kzs64
@kzs64 7 жыл бұрын
А если введены значения которые уже имеются в таблице, тут как быть? Чтобы не заполнялись строки, а к примеру вылетел msgbox, что такие данные уже имеются в таблице
@Polyariz
@Polyariz 7 жыл бұрын
Проверить, есть в таблице значения или нет. Например: If MyTable.Range("C1").Value = Not Empty Then MsgBox "Значение уже установлено!" Exit Sub End If
@kingarmande
@kingarmande 4 жыл бұрын
Очень благодарен.
@fostw1994
@fostw1994 4 жыл бұрын
Почему делая урок повторяя 1в1 выпадает ошибка "Object variable or With block veriable not set", ПРИЧЕМ КТО БЫ ВАМ НЕ ЗАДАВАЛ ДАННЫЙ ВОПРОС ВЫ ИГНОРИРУЕТЕ!!!
@Polyariz
@Polyariz 4 жыл бұрын
Дмитрий Гуляев ответ есть в комментариях , см. ниже
@ЭйвазСулейманов-у2с
@ЭйвазСулейманов-у2с 7 жыл бұрын
еще как понравился, спасибо тебе мастер.
@ВикаДМ-н6ж
@ВикаДМ-н6ж 6 жыл бұрын
Помогите исправить ошибку "object variable or With block variable not set ". Не понимаю откуда она берется
@Polyariz
@Polyariz 6 жыл бұрын
Visual Basic, не может найти блок With, в котором делаются перечисления относящиеся к листу. Проверьте открытие и закрытие данного блока в коде: With MyList 'Начало блока With для MyList. MyList - название вашего листа '.............. '....код.... '.............. End With 'Закрыть блок
@ЭйвазСулейманов-у2с
@ЭйвазСулейманов-у2с 7 жыл бұрын
я тоже повторил, но у меня не так работает. новая строка не появляется. :(
@СергейТравкин-ь1щ
@СергейТравкин-ь1щ 7 жыл бұрын
Строка iRow = .ListObjects("Òàáëèöà5").DataBodyRange.Rows.Count + 3 Проверьте не написано ли у Вас "Columns" вместо "Count " Так же ошибка возникает если у Вас динамическая таблица начинается с 3 (либо иное), а в условиях iRow = .ListObjects("Òàáëèöà5").DataBodyRange.Rows.Count указано иное
@mikhaillis2783
@mikhaillis2783 7 жыл бұрын
как решить ошибку в iRow = .ListObjects("MyTable").DataBodyRange.Rows.Count + 2 и ошибка run time error 9
@Polyariz
@Polyariz 7 жыл бұрын
Проверьте правильность набора для фрагмента кода: With MyList 'MyList-название листа + открытие блока With On Error Resume Next 'Проверьте заданное название для таблицы (напр. здесь MyDataTable) iRow = .ListObjects("MyDataTable").DataBodyRange.Rows.Count + 2 If Err.Number 0 Then Err.Clear iRow = 2 Else On Error GoTo 0 'code when there's no error End If .Cells(iRow, "A").Value = productName .Cells(iRow, "B").Value = price .Range("C" & iRow).Value = productDetails .Cells(iRow, 4).Value = txtAction .Cells(iRow, 5).Value = txtSold End With 'Блок With должен быть закрыт
@charon1700
@charon1700 5 жыл бұрын
+
@СергейТравкин-ь1щ
@СергейТравкин-ь1щ 7 жыл бұрын
Форма после ввода значений не очищается =(
@evgen4436
@evgen4436 6 жыл бұрын
Очень полезный видеоурок! Сделал под себя форму. Единственный вопрос: Можно ли как-то после создания базы данных подсчитать, сколько всего товаров "по акции"? У меня в форме, например, выпадающее меню, в нем три варианта ответа: Голосовал ЗА, Голосовал ПРОТИВ, ВОЗДЕРЖАЛСЯ. Можно как-то вывести, сколько всего проголосовало ЗА, сколько - против, и сколько воздержалось?
@evgen4436
@evgen4436 6 жыл бұрын
Разобрался, если кому интересно, это делает команда =СЧЁТЕСЛИ(Диапазон;"Условие")
@Polyariz
@Polyariz 6 жыл бұрын
Вносите записи голосов в одну колонку.За = 1, воздержался = 0. Подсчитайте в колонке все ячейки с 1. Пример: =СЧЁТЕСЛИ(B2:B29;"0"). Как реализовать см.: www.quora.com/How-do-you-use-the-COUNTIF-function-in-VBA
@KirillShiryaev-l6q
@KirillShiryaev-l6q 7 жыл бұрын
При создание доп ряда пишет ошибку object variable or With block variable not set . Как исправить?
@KirillShiryaev-l6q
@KirillShiryaev-l6q 7 жыл бұрын
И строки не прибавляет пишет iRows = 0((
@ВикаДМ-н6ж
@ВикаДМ-н6ж 6 жыл бұрын
Кирил, вы нашли решение вашего вопроса? у меня та же ошибка. помогите, если можете.
@elenakorobkova4179
@elenakorobkova4179 7 жыл бұрын
что за свойство Листобджект ? как вы определили заполненные ячейки?
@Polyariz
@Polyariz 7 жыл бұрын
ListObjects - коллекция, содержащая все объекты таблицы. по адресу ячейки.
@kaynerailos7003
@kaynerailos7003 2 жыл бұрын
Дружище! Спасибо за урок. Но вот вопрос. Как поправить в коде чтобы он писал сверху, а не с конца таблицы?
@Polyariz
@Polyariz 2 жыл бұрын
Нужно сначала вставить новую строку, а затем вставить в неё значение.
@kaynerailos7003
@kaynerailos7003 2 жыл бұрын
@@Polyariz Уже понял это самостоятельно. Спасибо большое за примеры. Очень помогло разработать формы для работы. Единственное, что хотелось бы видеть еще - это создание форм отчета и упаковка в файлы. Было бы круто
@vladislavtulaev4862
@vladislavtulaev4862 2 жыл бұрын
Добрый день, очень полезное видео, подскажите 🙏 , как сделать такую же таблицу, без отметок «аукционный», «в наличии», «продан», что бы я просто вводил данные и они автоматически заполнялись в таблицу ?
@Polyariz
@Polyariz 2 жыл бұрын
Добрый день. Посмотрите видео и скачайте пример кода, ссылка в описании под видео. По аналогии сделайте как Вам нужно.
@vladislavtulaev4862
@vladislavtulaev4862 2 жыл бұрын
@@Polyariz у вас ещё будут подобные видео ?
@Polyariz
@Polyariz 2 жыл бұрын
@@vladislavtulaev4862 по vba не планирую
@СергейТравкин-ь1щ
@СергейТравкин-ь1щ 7 жыл бұрын
а исправление данных или их поиск как сделать?
@ИИванов-ь6с
@ИИванов-ь6с 4 жыл бұрын
Было круто, интересно!
@Rikokknd
@Rikokknd 7 жыл бұрын
Привет, большое спасибо за обучалку. Вот допустим одну страницу я сделал, и все получилось. А как мне добавить отдельные листы к книге Excel, чтобы они работали независимо друг от друга? Ну то есть, в одной книге несколько листов-месяцев. Если я просто клонирую готовый, то форма добавляет вбитые данные на 1й лист. Понятно, что это потому что мы работаем With именно с первым листом. Как это изящно провернуть? Или банально размножить формы/макросы, для каждого листа свой? То есть надо чтобы форма вбивала данные именно на тот лист, который открыт в данный момент. Листы идентичны друг другу (разве что количество строк разное будет).
@Polyariz
@Polyariz 7 жыл бұрын
Здравствуйте! Создайте новые листы (кнопка "+" возле названия листа), после чего определите для них название в VB, как мы сделали MyTable в видеоуроке. Дальше вставляйте данные во все необходимые листы с помощью ссылки, например: MyTable1.Range("C1").Value = "10" MyTable2.Range("C1").Value = "10" MyTable3.Range("C1").Value = "10" (MyTable1 - таблица на листе 1 и т.д.) Или так With MyTable1 .Range("A1").Value = "10" .Range("B1").Value = "10" .Range("C1").Value = "10" End With ............... With MyTableN .Range("A1").Value = "X" .Range("B1").Value = "X" .Range("C1").Value = "X" End With Если нужно вбивать данные с помощью одной формы во все листы, сделайте 3 вкладки в конструкторе Visual Basic, на каждой вкладке разместите поля с кнопкой добавить. Т.е. получиться 3 вкладки и на каждой вкладке будет кнопка добавить, для каждой кнопки нужно определить макрос который будет заполнять в лист 1 или N.
@Rikokknd
@Rikokknd 7 жыл бұрын
Спасибо, но я все равно тупой. В общем я клонировал готовый лист несколько раз. После этого мне надо на кнопку открытия формы повесить отдельный макрос для каждого листа. А вот что писать в макросе, чтобы после его нажатия форма поняла, что мы работаем именно с этим листом - я не знаю. А делать отдельную форму для каждого листа - можно конечно, но "индусский код" не хочется плодить. Что именно нужно написать в макросе? Или в форме, чтобы она поняла, с какого макроса ее вызвали?
@Polyariz
@Polyariz 7 жыл бұрын
В данном случае название листа соответствует названию таблицы, указываете страницу и диапазон ячейки: MyPage1.Range("C1").Value = "10"
@Mitkav360
@Mitkav360 7 жыл бұрын
Можешь выложить в общий доступ данный файл?
@Polyariz
@Polyariz 7 жыл бұрын
В описании ссылка
@РусланДигай-щ5ш
@РусланДигай-щ5ш 6 жыл бұрын
Автор молодец!!!!
@Quas98
@Quas98 5 жыл бұрын
Приватные занятия проводишь?
@Polyariz
@Polyariz 5 жыл бұрын
Здравствуйте, не провожу. Вы можете поискать обучающий курс по VBA и Excel. Много курсов можно найти здесь: www.udemy.com/courses/search/?q=excel&src=sac&kw=excel&p=1&lang=ru
@Quas98
@Quas98 5 жыл бұрын
Жаль, хорошо объясняешь. Готов по 15-20 уе за урок давать
Связанные выпадающие списки: легко и быстро
20:35
Станислав Салостей
Рет қаралды 201 М.
哈莉奎因怎么变骷髅了#小丑 #shorts
00:19
好人小丑
Рет қаралды 54 МЛН
🍉😋 #shorts
00:24
Денис Кукояка
Рет қаралды 3,6 МЛН
Spongebob ate Patrick 😱 #meme #spongebob #gmod
00:15
Mr. LoLo
Рет қаралды 19 МЛН
💩Поу и Поулина ☠️МОЧАТ 😖Хмурых Тварей?!
00:34
Ной Анимация
Рет қаралды 2 МЛН
Динамические массивы в Excel
23:29
Nikolay Pavlov
Рет қаралды 176 М.
Обучение EXCEL. УРОК 4: Основные операции с рабочими листами.
13:39
Бархатов Виталий (EXCEL, VBA, PowerBI)
Рет қаралды 197 М.
УРОК 4. Пишем код полностью с нуля / Как работать с макросами в Excel?
21:59
Академия Excel Дмитрия Якушева
Рет қаралды 263 М.
哈莉奎因怎么变骷髅了#小丑 #shorts
00:19
好人小丑
Рет қаралды 54 МЛН