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

Страницы: 1
Поиск совпадений и изменение данных во внешней таблице через форму.
 
Nordheim, а ну теперь-то ясно, а я-то наивный думал )))
vikttur, Человек же решил задачу без дополнительной секретной информации из моей лаборатории, как-то удалось видимо) И дело не в том что она секретная, а в том что объяснение идеи займет очень много времени и ничего не даст.
 
Поиск совпадений и изменение данных во внешней таблице через форму.
 
:D откуда такие обидчивые ребята только берутся ))
Зачем мне разъяснять Вам всю сложность моей идеи. Проблема была описана, разъяснена , вводная информация есть, цель поставлена, попросил о помощи по-человечески. Не можешь помочь - проходи мимо, можешь - помоги.  
Поиск совпадений и изменение данных во внешней таблице через форму.
 
Nordheim,Спасибо большое, очень выручили !  :) Только вот под паролем почему-то))
Изменено: kitaez - 12.10.2017 14:07:28
Поиск совпадений и изменение данных во внешней таблице через форму.
 
Nordheim, не ищите смысл, вы видите лишь кусочек большой системы. Примите как должное, что так надо мне.
Поиск совпадений и изменение данных во внешней таблице через форму.
 
Добрый день,
Подскажите, решение такой задачи.

Есть основная база данных "DB" - из себя представляет список занесенных артикулов, кол-во упаковок, общий вес имеющегося на складе товара.
Есть "Форма 1" - в этой форме через listbox выводятся все имеющиеся значение в выше указанной "Базе данных" с возможностью выделения отдельно каждой. В этой же форме есть 2 строки для ввода значений, и две кнопки "Выдать" и "Принять".

Как сделать так чтобы по нажатию кнопки "Выдать" было осуществлено открытие файла, поиск выделенной в "Форме 1" позиции по артикулу и отнято указанное кол-во упаковок в TextBox1. А так же прибавление кол-ва упаковок по нажатию кнопки "Принять" с указанием через TextBox2.

Примеры прилагаются, по возможности помогите готовым кодом.
Я пока еще чайник в VB и собираю нужный мне проект как пазл по кусочкам)) Нужно всё это реализовать именно так, через открытие второго файла, чтобы чьи-нибудь шаловливые ручки не добрались до фактических данных, в дальнейшем файл базы данных будет защищен паролем, но это я уже сам реализую))
Недостаточно памяти для завершения операции - Listbox
 
ZVI, спасибо за помощь ! проблема исчезла , пока не хватает собственных знаний на такие казалось бы элементарные вещи  :)
Недостаточно памяти для завершения операции - Listbox
 
разместил тему на другом форуме
http://www.excel-vba.ru/forum/index.php?topic=5113.new#new
Недостаточно памяти для завершения операции - Listbox
 
Друзья, неужели никто не знает как исправить ситуацию ? Подскажите, если не сложно.
Недостаточно памяти для завершения операции - Listbox
 
Sanja,  :D  :D :D
Я прожил в Китае около 8 лет, но даже я не могу сказать чтобы это значило ))) :D
Сделал пример, прикрпеляю. файл DB является базой данных, которая пополняется сторонними файлами и формами из других книг. Но не важно как туда попадают данные, важно что попадают)

Так вот в примере два файла :
DB - база данных с сводной таблицей на листе
Остатки - который по идеи должен показывать, наличие на складе по всем позициям забитым в базе данных, черпая данные из сводной таблицы файла DB.

Кнопка обновить в форме файла Остатки открывает книгу по прописанному пути и заносит данные в два Listbox'а формы файла Остатки (один для продукции, другой для сырья). Для корректной работы пропишите путь к файлу DB в кнопке Обновить.
Изменено: kitaez - 08.04.2017 08:14:50
Недостаточно памяти для завершения операции - Listbox
 

Добрый день,

В проекте две отдельных книги, одна считывает из другой данные значения из сводной таблицы, и заносит их в форму в Listbox. При выделении любой из позиций выползает ошибка "Недостаточно памяти для завершения операции". А еще стали вылезать иероглифы вместо значений в Listbox.

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

Задача которую не получается решить - исправить выползающую ошибку и разрешить прокрутку Scrollbar в Listbox, но при этом блокировать возможность выделения значений, так как это мне не требуется, данные выводятся только для чтения.

Так вот в примере два файла :
DB - база данных с сводной таблицей на листе
Остатки - который по идеи должен показывать, наличие на складе по всем позициям забитым в базе данных, черпая данные из сводной таблицы файла DB.

Кнопка обновить в форме файла Остатки открывает книгу по прописанному пути и заносит данные в два Listbox'а формы файла Остатки (один для продукции, другой для сырья). Для корректной работы пропишите путь к файлу DB в кнопке Обновить.



Код
Private Sub КнопкаОбновитьПродукцию_Click()    

Application.ScreenUpdating = False
    
    Dim DB As Workbook
    Dim ptbl1, ptbl2 As PivotTable
    
    Set DB = Workbooks.Open("C:\Users\Kitaez\Desktop\Склад\Beta\DB.xlsm")
    Set ptbl1 = DB.Worksheets("Сводные таблицы").PivotTables(1)
    Set ptbl2 = DB.Worksheets("Сводные таблицы").PivotTables(2)
    Me.СписокСырье.RowSource = _
    ptbl1.TableRange1.Resize(ptbl1.TableRange1.Rows.Count).Columns("A:C").Address
    Me.СписокПродукция.RowSource = _
    ptbl2.TableRange1.Resize(ptbl2.TableRange1.Rows.Count).Columns("A:C").Address
    
    
    DB.Close savechanges:=False
    
    Application.ScreenUpdating = TrueEnd Sub 

End Sub

Изменено: kitaez - 11.04.2017 06:44:53
Вывод значений сводной таблицы в Listbox
 
V, хорошо, спасибо, сейчас попробую )

Да я не знал как можно сделать и какие способы есть, поэтому готов рассмотреть все варианты))  :)
В любом случае спасибо, за помощь !  
Вывод значений сводной таблицы в Listbox
 
Karataev, как вариант, спасибо, сейчас попробуй применить к своему проекту)
Вывод значений сводной таблицы в Listbox
 
V, Задача - вывести данные сводной таблицы (которая постоянно меняет свой размер в зависимости от заполнености) в listbox. Чтобы не нужно было постоянно менять диапазон выводимых данных, не хочу использовать диапазон в качестве RowSource в Listbox, поэтому и говорю что нужно решить эту задачу через имя или другим способом, которого я не знаю. Вы написали постом выше о том чтобы указать не имя а диапазон, я ответил.
Вывод значений сводной таблицы в Listbox
 
V, мне желательно бы сделать это всё через имя, так как сводная таблица только в примере такая небольшая, постоянно будет изменяться в размере.
Во-вторых, будут выводится не нужные значения, такие как общие кол-во и метраж.  
Вывод значений сводной таблицы в Listbox
 
Добрый день,

Подскажите, как вывести значения сводной таблицы в Listbox находящийся в форме. Думал всё так же просто как и с "умными" таблицами, в RowSource написал название таблицы и все, но не тут то было.

На Лист1 основная таблица с данными, на Лист2 сводная таблица из данных на Лист1. Имеется форма в ней Listbox, нужно вывести туда данные.

Прошу помощи.
Удаление значений из таблицы через форму, listbox и кнопку
 
V, что-то не так, удаляет сразу несколько строк
Изменено: kitaez - 05.04.2017 13:45:06
Удаление значений из таблицы через форму, listbox и кнопку
 

Добрый день,

Помогите, не могу понять как сделать так, чтобы удаляемое значение нашлось по двум значениям из одной строки Listbox и удалилось кнопкой. По одному значению проблем нет - получается, но вот нужно обязательно по двум, так как данные в таблице могут быть повторяющимися.

Уже по разному пытался, не могу дойти до решения.

Код
Private Sub CommandButton1_Click()    

    Dim i%
    
    Dim НужнаяСтрока As Range
    With Sheets("Лист1")
    For i = 1 To ListBox1.ListCount
    If ListBox1.Selected(i - 1) Then
    Set НужнаяСтрока = .Columns(2).Find(ListBox1.List(ListBox1.ListIndex, 1), LookIn:=xlFormulas, LookAt:=xlWhole)
    If Not НужнаяСтрока Is Nothing Then .Rows(НужнаяСтрока.Row).Delete
    End If
    Next
    End With
    MsgBox "Выбранная строка удалена !"
    
End Sub

Изменено: kitaez - 05.04.2017 07:45:03
Удаление значений с помощью формы через несколько фильтров
 
Добрый день, форумчане )

Имеем форму с кнопкой, при нажатии которой удаляется крайнее значение в таблице через несколько фильтров.
В моем случае 2 фильтра :
1) Фильтр - это текущая смена которая определяется с помощью системного времени. Нужен для того чтобы работники только этой смены могли удалить продукцию занесенную только этой же смены на лист.
2) Фильтр - это статус продукции "Не принят". Нужен для того чтобы не была удалена продукция уже имеющаяся на складе или отгруженная с него.

В общем на самом деле задача проста, но я встретил сложность - значения отфильтровываются, но видимо подсчет строк происходит всей таблицы, а не отфильтрованных значений и при нажатии кнопки удалить, ничего не удаляется вовсе.

Прошу помощи  :)  Пример приложен, исходный код кнопки совершающей удаление ниже.
Код
Private Sub CommandButton1_Click()
'Вносим переменные
    Dim Лист1 As Worksheet
    Dim Таблица1 As ListObject
    Dim КолвоСтрок As Integer
    Dim ТекущееВремя As Date
    Dim ФактическаяСмена As Integer
'Устананвливаем значение переменных
    Set Лист1 = ThisWorkbook.Worksheets("Лист1")
    Set Таблица1 = Лист1.ListObjects("Таблица1")
    ТекущееВремя = Time
'Установление смены
    If (ТекущееВремя >= "8:00:01") And (ТекущееВремя <= "16:19:59") Then
    ФактическаяСмена = 1
    ElseIf (ТекущееВремя >= "16:20:01") And (ТекущееВремя <= "23:59:59") Then
    ФактическаяСмена = 2
    ElseIf (ТекущееВремя >= "00:00:00") And (ТекущееВремя <= "00:39:59") Then
    ФактическаяСмена = 2
    ElseIf (ТекущееВремя >= "0:40:00") And (ТекущееВремя <= "8:00:00") Then
    ФактическаяСмена = 3
    Else
    MsgBox "Ошибка"
    End If
'Фильтр данных
    Таблица1.Range.AutoFilter Field:=1, _
    Criteria1:=ФактическаяСмена
    Таблица1.Range.AutoFilter Field:=4, _
    Criteria1:="Не принят"
' Удаление последней строки
    КолвоСтрок = Таблица1.ListRows.Count
    Таблица1.ListRows(КолвоСтрок).Delete
'Отмена фильтра
    Таблица1.Range.AutoFilter Field:=1
    Таблица1.Range.AutoFilter Field:=4
' Вывод сообщения об успешном завершении задачи
    MsgBox "Последняя запись удалена!"
End Sub
Добавление данных с помощью формы в закрытую книгу
 
yozhik, вернул 1ку обратно и всё заработало) Спасибо )  :)  
Ошибно удалил ее до этого.
Добавление данных с помощью формы в закрытую книгу
 
yozhik, Юрий М, понял, разобрался, спасибо !)
Еще такой вопрос, после занесения данных в Книгу2, после закрытия спрашивает Сохранить ли книгу ? Как сделать так чтобы сохраняло по умолчанию без окошка с вопросом ?
Добавление данных с помощью формы в закрытую книгу
 
Нашел ошибку у себя в коде где указывается путь к файлу, изменил на :
Set wb = Workbooks.Open("C:\Users\Kitaez\Desktop\Книга2.xlsm")

Спустя время и попытки сделать что-то, вернул всё как написал выше и тип ошибки изменился на "Object variable or With block variable not set". Кнопка "Debug" выделяет строку :

lr = Cells(Rows.Count, 1).End(xlUp).Row + 1
Изменено: kitaez - 29.03.2017 14:07:31
Добавление данных с помощью формы в закрытую книгу
 
[P]yozhik, остались вопросы, ругается "Variable not defined" - на переменные a,b.
Затем заметил небольшую ошибку переменная вводится "wd", а дальше по коду идет как "wb". Я переделал, но что-то всё равно не так, выдает ошибку "Type mismatch", подскажите в чем ошибка ?
Код
Private Sub Кнопка1_Click()
Dim a As Long 
Dim b As Long 
Dim lr As ListRow 
Dim wb As Workbook

Application.ScreenUpdating = False 
a = Форма1.ТекстовоеПоле1.Text 
b = Форма1.ТекстовоеПоле2.Text

Set wb = Workbooks.Open("C:\Users\Kitaez\Desktop + Книга2.xlsm") 
lr = Cells(Rows.Count, 1).End(xlUp).Row + 1 
Cells(lr, 1).Value = a: Cells(lr, 2).Value = b 
wb.Close 1 
Application.ScreenUpdating = True
End Sub
Добавление данных с помощью формы в закрытую книгу
 
yozhik, теперь и тут с примерами))
Спасибо за помощь  :)
Добавление данных с помощью формы в закрытую книгу
 
yozhik, спасибо за решение, сейчас буду пробовать подгонять под свои нужды.

По поводу пароля, всё таки это на внесение изменений на лист защищенный паролем 123456 ) То есть нужно снять защиту, потом вернуть на место.
Добавление данных с помощью формы в закрытую книгу
 
Добрый день, форумчане и ЭксельЭксперты !

Собственные знания и поиски на различных форумах не привели к результатам, прошу помощи в решении следующей задачи.
Имеем "Книгу 1" в ней форма "Форма1" с двумя текстовыми полями "ТекстовоеПоле1", "ТекстовоеПоле2" и кнопка "Кнопка1".
Имеем "Книгу 2" в ней "Лист1" на нем умная таблица "Таблица1" с двумя столбцами "Столбец1", "Столбец2".

Задача следующая - используя форму в "Книге 1" добавлять данные из "ТекстовоеПоле1"(Книга1) в "Столбец1"(Книга2) и из "ТекстовоеПоле2"(Книга1) в "Столбец2"(Книга2) по нажатию кнопки "Кнопка1"(Книга1). При всё при этом "Книга2" должна быть закрыта и защищена паролем "123456" и открываться только для занесения данных и закрываться.

Если есть возможность приведите пример полной цепочки кода.
За ранее благодарю всех помогающих в решении сего вопроса.
Изменено: kitaez - 29.03.2017 13:19:45 (Забыл добавить примеры)
VBA Listbox - Найти и изменить выбранное значение
 
CrazyRabbit, спасибо, сейчас буду пробовать !)
VBA Listbox - Найти и изменить выбранное значение
 
Есть кто живой ?))

Не знаю как менять значение Листбокса с данным индексом, может кто-нибудь объяснить, привести пример подобной цепочки ?
VBA Listbox - Найти и изменить выбранное значение
 
Цитата
JeyCi написал:
'меняйте значение Листбокса с данным индексом
JeyCi, не знаю как это реализовать  :sceptic: если не сложно, напишите, пожалуйста, пример полного кода.  
VBA Listbox - Найти и изменить выбранное значение
 
Не знаю как это реализовать  :sceptic:  если не сложно напиши, пожалуйста, весь код
VBA Listbox - Найти и изменить выбранное значение
 
Добрый день, помогите решить задачу.

Имеется книга, в книге страница, на странице таблица с 4-мя столбцами (Дата / Артикул / Метраж / Статус).
Имеются две формы одна для добавления данных в эту таблицу : дата вносится системная, артикул выбранный из списка, метраж указанный в форме, статус по умолчанию вносится "Не принят".

Есть вторая форма с Listbox в котором отображаются все позиции из листа со статусом "Не принят" после нажатия кнопки "Обновить".
А теперь то что не могу и не знаю как сделать чтобы выделенные позиции в Listbox по нажатию кнопки "Кнопка 1" меняли свой статус с "Не принят" на "Принят" в таблице с данными.

Помогите кодом =)

Упрощенный пример в приложении.
Изменено: kitaez - 23.03.2017 15:49:56
Страницы: 1
Наверх