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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2013, 14:50   #1
stasun
Пользователь
 
Регистрация: 23.05.2013
Сообщений: 10
По умолчанию Ищу подсказок по VBA excel новичку

Помогите начинающему! пытаюсь сделать следующее:
по артикулу найти в списке (sheet1) позицию (допустим, столбик 1 - артикул, столбик 2 - наименование, столбик 3 - количество), форму и кнопки сделал - открывается окно, где вводится артикул, вторым идет количество. По нажатию кнопки запись надо найти по артикулу на первом листе, взять кол-во из этой же строки, увеличить на новое количество, записать в ячейку.
Далее тоже не просто, надо по количеству пересчитать остатки на складе ))) Но с этим позже ))
Изображения
Тип файла: jpg Без названия-01.jpg (41.4 Кб, 108 просмотров)
stasun вне форума Ответить с цитированием
Старый 27.05.2013, 16:08   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Find

Это подсказка
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 27.05.2013, 17:17   #3
stasun
Пользователь
 
Регистрация: 23.05.2013
Сообщений: 10
По умолчанию

Спасибо за помощь!!!

Последний раз редактировалось stasun; 27.05.2013 в 20:01.
stasun вне форума Ответить с цитированием
Старый 27.05.2013, 17:21   #4
stasun
Пользователь
 
Регистрация: 23.05.2013
Сообщений: 10
По умолчанию

О!!!
Кстати помогло!
Еще маааленький вопрос! Мона? 8)
Если в TextBox ввели что то - это что то будет доступно для других модулей и функций???
stasun вне форума Ответить с цитированием
Старый 27.05.2013, 17:22   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Я не понял - это сарказм или благодарность?
По делу - если бы Вы приложили пример файла с наработанным - уже вероятно был бы готовый код, там работы меньше, чем писать обстоятельное обьяснение как это можно сделать если например данные вот такие, а как если вот такие...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 27.05.2013, 17:24   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

"Если ввели..." - зависит как, куда и чем закончилось...
Но всегда можно привлечь публичных

P.S. Вот наваял топором... Без публичных. Покликайте там...
Вложения
Тип файла: rar test.rar (8.1 Кб, 7 просмотров)
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 27.05.2013 в 17:29.
Hugo121 вне форума Ответить с цитированием
Старый 27.05.2013, 19:03   #7
stasun
Пользователь
 
Регистрация: 23.05.2013
Сообщений: 10
По умолчанию

Это не сарказм! Благодарю!!!!
Кода как такового нет еще - это лишь форма,, обработка работает лишь при нажатии на кнопки в листе и кнопка отмена в форме (unload me)
)
Я, как человек не писавший ни на чем (кроме асма, классического бейсика, си) не могу понять вообще - зачем так сложно примитив делать )))
Собственно вот, пример из справки мелкософта и тот выдет ошибку
Private Sub TextBox2_Change()
Dim barcode As String

barcode = TextBox1.Text
With Worksheets("Warehouse").Range("a3:a 56")
Set c = .Find(barcode, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = 5
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With


End Sub

Не могу еще понять, я нашел товар по коду, надо сделать смещение в таблице вправо на две ячейки с.offset (0,2)? А затем мне надо добавить туда quantity (переменная из другого поля ввода - кол-во) - как?!
stasun вне форума Ответить с цитированием
Старый 27.05.2013, 19:07   #8
stasun
Пользователь
 
Регистрация: 23.05.2013
Сообщений: 10
По умолчанию

Если я вышлю код - не плюйтесь, ок? )

Private Sub TextBox2_Change()
Dim barcode As String

barcode = TextBox1.Text
With Worksheets("Warehouse").Range("a3:a 56")
Set c = .Find(barcode, LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Offset(0, 2) = quantity

Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With

End Sub

Private Sub TextBox1_Change()
Dim quantity As String
quantity = TextBox1.Text

End Sub



Знаю, что с типами я накосячил..

Последний раз редактировалось stasun; 27.05.2013 в 19:39. Причина: новая редакция
stasun вне форума Ответить с цитированием
Старый 27.05.2013, 20:37   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Вышлите нам файл. А то плеваться будем
И зачем Вам искать на change? Это ведь событие изменения, срабатывает на каждый символ.
Для теста:
Код:
Private Sub TextBox1_Change()
MsgBox Me.TextBox1
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 27.05.2013, 21:30   #10
stasun
Пользователь
 
Регистрация: 23.05.2013
Сообщений: 10
По умолчанию

Как vba сделал - change, так и есть 8) Хотя понимаю, что не подходит, а как сделать по enter'у - хз пока. Я профан в VBA
Вложения
Тип файла: zip Warehouse.zip (22 байт, 118 просмотров)
stasun вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Совместимость Excel 2007 VBA - Excel 2010 VBA Genas Microsoft Office Excel 2 28.11.2012 15:33
VBA Word,VBA Excel решить 2 задачи fafolo4ka Фриланс 6 05.03.2012 01:15
пару советов новичку из Excel в Access VestES Microsoft Office Access 2 27.03.2010 15:54
ищу заказы на проекты (VBA EXCEL) dondoctor Microsoft Office Excel 1 30.09.2009 00:53
Как запретить запуск программы на VBA Excel 2003 в Excel 2007 kovalevskivf Microsoft Office Excel 2 15.05.2009 16:47