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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2013, 19:51   #21
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Добавил колонки в таблице, теперь листание на форме происходит неправильно.
Что нужно изменить в коде?
Вложения
Тип файла: rar Проба.rar (59.2 Кб, 5 просмотров)
and150382 вне форума Ответить с цитированием
Старый 12.04.2013, 22:54   #22
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
Печаль

вот код

Код:
Private Sub SpinButton1_SpinUp()

    'Изменяем значение в "myColumn19".
    Me.myColumn19.Value = Me.myColumn19.Value + 1
    
    'Загрузка в форму из Excel-листа строки по
        'номеру из "myColumn19".
    Call Procedure_1
    
End Sub
Код:
Private Sub SpinButton1_SpinDown()
    Me.myColumn19.Value = Me.myColumn19.Value - 1
    
    'Изменяем значение в "myColumn19".
    If Me.myColumn19.Value < 1 Then
    Me.myColumn19.Value = 1
    End If
    
    'Загрузка в форму из Excel-листа строки по
        'номеру из "myColumn19".
    Call Procedure_1

End Sub
Код:
Private Sub CommandButton5_Click()
    
    'Загрузка в форму из Excel-листа строки по
        'номеру из "myColumn19".
    Call Procedure_1
    
End Sub
Код:
Sub Procedure_1()

    'Загрузка в форму из Excel-листа строки по
        'номеру из "myColumn19".
    
    'В константе "myMangling" нужно указать, с какой строки
        'на листе "База" начинаются данные.
    Const myMangling As Long = 9

    Dim myRow As Long
    Dim i As Long
    
    myRow = Me.myColumn19.Value + myMangling
    
    For i = 2 To 17 Step 1
        Me.Controls("myColumn" & i).Value = ActiveSheet.Cells(myRow, i).Value
    Next i
    
End Sub

Но он неправильно вставляет данные в окна формы.

То есть некоторые данные вставляются не в те окошки на форме
and150382 вне форума Ответить с цитированием
Старый 20.04.2013, 18:20   #23
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Перелистывание предложенное в #14 работает отлично.
Но понадобилось добавить столбцы в таблицу.
Вот уже недели две бьюсь над кодом , но не могу подогнать его. Заносит данные не в те окошки на форме.
Пробовал разобрать код в программе написанной EducatedFool,
но опыта в vba маловато.
Уважаемые программисты, помогите пожалуйста.
Видно мне это пока не по силам.


Во вложении таблица с добавленными колонками.
Вложения
Тип файла: rar Проба.rar (65.1 Кб, 5 просмотров)
and150382 вне форума Ответить с цитированием
Старый 22.04.2013, 12:16   #24
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Вроде подогнал код EducatedFool под себя.
1.Появилась проблема при добавлении данных в уже существующюю строку, перескакивают данные с одного столбца в другой и появляется надпись ЛОЖЬ.

Код:
'если такая запись уже есть
        If Not iFoundRng Is Nothing Then
            iResponse = MsgBox("Такой заказ уже существует.Добавить в заказ данные ?" & vbCr & vbCr & "Да - добавить данные в заказ, Нет - добавить данные на новую строку", vbYesNoCancel + vbExclamation, "Внимание!")
            
            If iResponse = vbYes Then
                
                'Заносим данные на лист Excel из формы.
                For i = 2 To 22 Step 1
                
                    'Если в элементе управления есть текст,
                        'то заносим данные на лист Excel.
                    If Me.Controls("myColumn" & i).Value <> "" Then
                        'Символ "_" используется, чтобы переносить текст кода
                            'на следующую строку, чтобы код не выходил за монитор.
                        Sheets(iBazaSht.Name).Cells(iFoundRng.Row, i).Value = _
                            Me.Controls("myColumn" & i).Value
                    End If
                    
                Next i
                  
                'Очистка элементов управления формы от данных.
                For i = 2 To 22 Step 1
                    
                    Me.Controls("myColumn" & i).Value = ""
                    
                Next i
                    
                
                Exit Sub
                
            End If
            If iResponse = vbCancel Then Exit Sub
        End If
        
        
        
        
    With Sheets(iBazaSht.Name)
        iLastRow = .Cells(.Rows.Count, 3).End(xlUp).Row + 1
        .Cells(iLastRow, 2) = Me.myColumn2.Value
        .Cells(iLastRow, 3) = Me.myColumn3.Value
И выдает ошибку
Run-time error '-2147024809 (80070057)':
Could not find the specified object

и подсвечивает
Код:
If Me.Controls("myColumn" & i).Value <> "" Then


2. Правой кнопкой нажимаю на листе и не выскакивает меню.
Вложения
Тип файла: rar Проба.rar (68.7 Кб, 6 просмотров)

Последний раз редактировалось and150382; 22.04.2013 в 12:33.
and150382 вне форума Ответить с цитированием
Старый 25.04.2013, 14:26   #25
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Ну кто-нибудь подскажите что я не правильно делаю
and150382 вне форума Ответить с цитированием
Старый 25.04.2013, 15:21   #26
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от and150382 Посмотреть сообщение
Ну кто-нибудь подскажите что я не правильно делаю
myColumn19 у вас на форме нет такого контрола,из сообщения ошибки это понятно.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 26.04.2013, 09:09   #27
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

Уважаемые программисты!!!
Помогите кто-нибудь с прокруткой.
Не по силам мне сделать



Всё работает. Спасибо всем. Особенно RAN

Последний раз редактировалось and150382; 26.04.2013 в 11:16.
and150382 вне форума Ответить с цитированием
Старый 26.04.2013, 19:34   #28
RAN.
Форумчанин
 
Аватар для RAN.
 
Регистрация: 05.07.2011
Сообщений: 208
По умолчанию

and150382, а не уместнее ли было бы дать ссылку туда, где ответили, нежели выражать отдельное спасибо в теме, где моих ответов нет?
RAN. вне форума Ответить с цитированием
Старый 26.04.2013, 22:28   #29
and150382
Форумчанин
 
Регистрация: 19.10.2012
Сообщений: 217
По умолчанию

RAN, укажу ссылку завтра. Сейчас с телефона не могу.

Последний раз редактировалось and150382; 26.04.2013 в 22:33.
and150382 вне форума Ответить с цитированием
Старый 26.04.2013, 23:41   #30
ABA2
Пользователь
 
Регистрация: 13.07.2010
Сообщений: 20
По умолчанию

В помощъ тем, кто немагет: http://www.excelworld.ru/forum/10-4527-1
ABA2 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прокрутка формы в C# No_Comments Помощь студентам 0 27.12.2011 12:26
Прокрутка В PascalABC Рудко Дмитрий Паскаль, Turbo Pascal, PascalABC.NET 2 09.02.2010 01:51
Прокрутка на сайте DALLAS JavaScript, Ajax 1 07.01.2009 09:34
Прокрутка nala HTML и CSS 0 29.09.2008 16:15