Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Программная генерация XL-листа с диалогом / 5 сообщений из 5, страница 1 из 1
19.03.2007, 18:39:31
    #34401125
Mironov Igor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программная генерация XL-листа с диалогом
Из Visual FoxPro генерирую файл прайс-листа в формате XLS.
В нем, среди прочего, есть колонки:
"Код" - уникальный код товара,
"Количество заказа" - пустая колонка, в нее пользователи вбивают нужное им количество товара.

Хочу сделать следующую доработку:
пользователь вводит код товара и количество (в какие-либо фиксированные ячейки или в TextBox-ы),
нажимает CommandButton, и встроенная процедура заполняет ячейку "Количество заказа" напротив соответствующей ячейки "Код".

Может быть кто-то уже решал такую задачу и может помочь ? Ссылки приветствуются.
(Программированием под Офис раньше не занимался)
...
Рейтинг: 0 / 0
20.03.2007, 10:20:09
    #34401945
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программная генерация XL-листа с диалогом
посмотри
...
Рейтинг: 0 / 0
20.03.2007, 10:34:26
    #34402001
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программная генерация XL-листа с диалогом
к тому же плюс Programming To The Visual Basic Editor
...
Рейтинг: 0 / 0
20.03.2007, 13:43:04
    #34402779
Mironov Igor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программная генерация XL-листа с диалогом
Большое спасибо. Очень интересная ссылка, а пример наводит на мысли :)

Хочу только уточнить: как для листа сгенерировать добавление программного кода или программного модуля ?
...
Рейтинг: 0 / 0
20.03.2007, 13:58:09
    #34402827
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программная генерация XL-листа с диалогом
Mironov IgorБольшое спасибо. Очень интересная ссылка, а пример наводит на мысли :)

Хочу только уточнить: как для листа сгенерировать добавление программного кода или программного модуля ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Sub AddProcedureToSheetModule()
Dim VBCodeMod As CodeModule
Dim LineNum As Long

    Set VBCodeMod = ThisWorkbook.VBProject.VBComponents("Sheet1").CodeModule

    With VBCodeMod
        LineNum = .CountOfLines +  1 
        .InsertLines LineNum, _
            "Private Sub Worksheet_Change(ByVal Target As Range)" & Chr( 13 ) & _
            "Const InputDataRow = 3" & Chr( 13 ) & _
            "Const ArticleColumnNumber = 2" & Chr( 13 ) & _
            "Const FirstDataRow = 5" & Chr( 13 ) & _
            "Const AmountColumnNumber = 3" & Chr( 13 ) & _
            "Dim LastDataRow As Long" & Chr( 13 ) & _
            "Dim RowIndex As Long" & Chr( 13 ) & _
            "" & Chr( 13 ) & _
            "    If Target.Count > 1 Then Exit Sub" & Chr( 13 ) & _
            "    If Target.Value = """" Then Exit Sub" & Chr( 13 ) & _
            "" & Chr( 13 ) & _
            "    LastDataRow = Columns(ArticleColumnNumber).SpecialCells(xlCellTypeLastCell).Row" & Chr( 13 ) & _
            "" & Chr( 13 ) & _
            "    If Target.Address = Range(""ValidationListBox"").Address Then" & Chr( 13 ) & _
            "        RowIndex = Range(Cells(FirstDataRow, ArticleColumnNumber), Cells(LastDataRow, ArticleColumnNumber)).Find(Range(""ValidationListBox"").Value).Row" & Chr( 13 ) & _
            "        Range(""InputCell"").Value = Cells(RowIndex, AmountColumnNumber).Value" & Chr( 13 ) & _
            "    ElseIf Target.Address = Range(""InputCell"").Address Then" & Chr( 13 ) & _
            "        RowIndex = Range(Cells(FirstDataRow, ArticleColumnNumber), Cells(LastDataRow, ArticleColumnNumber)).Find(Range(""ValidationListBox"").Value).Row" & Chr( 13 ) & _
            "        Cells(RowIndex, AmountColumnNumber).Value = Range(""InputCell"").Value" & Chr( 13 ) & _
            "    End If" & Chr( 13 ) & _
            "" & Chr( 13 ) & _
            "End Sub"
    End With

End Sub

чтоб код работал нужно подготовить:
1 в редакторе VBA: меню "tools"-"refernces" найти и отметить "Microsoft Visual Basic for Application Extensibility"
2 в Excel: меню "tools"->"macro"->"security"-> вкладка "trusted publishers" отметить "Trust access to Visual Basic project"
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Программная генерация XL-листа с диалогом / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]