Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запись с формы на лист / 8 сообщений из 8, страница 1 из 1
23.11.2007, 16:44:43
    #34961935
Darvins
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись с формы на лист
Здраствуйте!
Проблема в следующем:
Необходимо данные скопировать из формы на лист в определенном порядке, кнопка которая запускает форму находится на листе3, данные нужно записать на лист12. Если форма запущена с листа12, то все работает как нада (начиная с первой пустой и далее на каждой следующей), НО, если запускаю с листа3, то запись происходит все время на одной и той строке 1911, что не так?

Код: 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.
34.
Private Sub CommandButton7_Click()
Dim aaa As String
Dim bbb As String
Dim ccc As String
Dim ddd As String
Dim eee As String
Dim fff As String
Dim iii As String
Dim hhh As String
Dim sss As String
Dim Строка As Integer
Строка = Application.WorksheetFunction.CountA(Range("A:A")) +  1 
    
    aaa = Label5.Caption
    bbb = Label58.Caption
    ccc = TextBox54.Text
    ddd = Label64.Caption
    eee = Label65.Caption
    fff = Label70.Caption
    iii = Label67.Caption
    hhh = Label66.Caption
    sss = Label68.Caption

    Лист12.Cells(Строка,  1 ).Value = "Название"
    Лист12.Cells(Строка,  2 ).Value = aaa
    Лист12.Cells(Строка,  3 ).Value = bbb
    Лист12.Cells(Строка,  4 ).Value = ccc
    Лист12.Cells(Строка,  5 ).Value = ddd
    Лист12.Cells(Строка,  6 ).Value = eee
    Лист12.Cells(Строка,  7 ).Value = fff
    Лист12.Cells(Строка,  8 ).Value = iii
    Лист12.Cells(Строка,  9 ).Value = hhh
    Лист12.Cells(Строка,  10 ).Value = sss
End Sub
...
Рейтинг: 0 / 0
23.11.2007, 19:23:30
    #34962372
кладовщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись с формы на лист
DarvinsЗдраствуйте!
Проблема в следующем:
Необходимо данные скопировать из формы на лист в определенном порядке, кнопка которая запускает форму находится на листе3, данные нужно записать на лист12. Если форма запущена с листа12, то все работает как нада (начиная с первой пустой и далее на каждой следующей), НО, если запускаю с листа3, то запись происходит все время на одной и той строке 1911, что не так?

Код: 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.
34.
Private Sub CommandButton7_Click()
Dim aaa As String
Dim bbb As String
Dim ccc As String
Dim ddd As String
Dim eee As String
Dim fff As String
Dim iii As String
Dim hhh As String
Dim sss As String
Dim Строка As Integer
Строка = Application.WorksheetFunction.CountA(Range("A:A")) +  1 
    
    aaa = Label5.Caption
    bbb = Label58.Caption
    ccc = TextBox54.Text
    ddd = Label64.Caption
    eee = Label65.Caption
    fff = Label70.Caption
    iii = Label67.Caption
    hhh = Label66.Caption
    sss = Label68.Caption

    Лист12.Cells(Строка,  1 ).Value = "Название"
    Лист12.Cells(Строка,  2 ).Value = aaa
    Лист12.Cells(Строка,  3 ).Value = bbb
    Лист12.Cells(Строка,  4 ).Value = ccc
    Лист12.Cells(Строка,  5 ).Value = ddd
    Лист12.Cells(Строка,  6 ).Value = eee
    Лист12.Cells(Строка,  7 ).Value = fff
    Лист12.Cells(Строка,  8 ).Value = iii
    Лист12.Cells(Строка,  9 ).Value = hhh
    Лист12.Cells(Строка,  10 ).Value = sss
End Sub

Навскидку без файла-примера не скажу, но.
Строка = Application.WorksheetFunction.CountA(Range("A:A")) + 1 - она с активного листа работает?
Может, лучше исп-ть что-то типа ActiveSheet. бла-бла. CurrrentRegion или ActiveSheet.UsedRange Rows.Count - а не Эксельные ф-ии?
ЗЫ У Вас проблема скорее всего в определении места использования. Попробуйте это сделать явно типа
Строка = ThisWorkBook.WorkSheets(NeedfoolName).Range("A1").CurrentRegion.Rows.Count +1
ThisWorkBook.WorkSheets(NeedfoolName).Cells(Строка, 1).Value = "Название"
...
Рейтинг: 0 / 0
23.11.2007, 19:27:17
    #34962384
кладовщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись с формы на лист
На Листе3 1910 строк. Угадал?
...
Рейтинг: 0 / 0
23.11.2007, 19:59:53
    #34962446
кладовщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись с формы на лист
Вообще, явно все ссылки объявляйте.
Т.е.
Код: plaintext
eee = UserForm12.Label65.Caption 
- вот так лучше.
...
Рейтинг: 0 / 0
23.11.2007, 21:41:39
    #34962535
кладовщик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись с формы на лист
Резюме:
запишите в макросе явно имя листа, на кот-й записываются данные с Вашей формы.
Т.е.
Строка=ThisWorkBook.WorkSheets(NeedFullListName).Range("A1").CurrentRegion.Count+1 - если можно исп-ть куррентриджин, не в курсе просто за эксельную WorksheetFunction.CountA(Range("A:A")) - может UsedRange надо,
и далее все должно получиться, если корректно к форме обращаетесь ...
Лист12.Cells(Строка, 1).Value = "Название"
Лист12.Cells(Строка, 2).Value = aaa ...
ЗЫ А что за диковинные обращения к объекту из WorkSheets типа Лист12.ThisProperty - никогда не пользовался. Это хорошо?
...
Рейтинг: 0 / 0
24.11.2007, 09:02:07
    #34962755
Ser Artur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись с формы на лист
А Вы попробуйте так

ActiveSheet
NextRow = Application.WorksheetFunction.CountA(Range("A:A")) + 1
'*******************************************
Cells(NextRow, 1) = aaa
Cells(NextRow, 2) = bbb
...
Рейтинг: 0 / 0
26.11.2007, 16:30:48
    #34965797
Darvins
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись с формы на лист
Извиняюсь что раньше не ответил

кладовщикНа Листе3 1910 строк. Угадал?
не-а, не угадал, строк 10810 ) так что вопрос о 1911 строке не решен, ну да и хрен сним )

я попробовал прописать так:
Код: plaintext
1.
Строка = Application.WorksheetFunction.CountA(Range("Лист12!A:A")) +  1 
теперь вписывает туда куда нужно
...
Рейтинг: 0 / 0
27.11.2007, 09:36:38
    #34967092
Ser Artur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись с формы на лист
авторЕсли форма запущена с листа12, то все работает как нада (начиная с первой пустой и далее на каждой следующей), НО, если запускаю с листа3, то запись происходит все время на одной и той строке 1911, что не так?
Так ты напиши условие вставь ComboBox и
авторIf ComboBox1.Text="Лист12" Then
Worksheets("Лист12").Activate
Строка = Application.WorksheetFunction.CountA(Range("A:A")) + 1
Лист12.Cells(Строка, 1).Value = "Название"
Лист12.Cells(Строка, 2).Value = aaa
Лист12.Cells(Строка, 3).Value = bbb
Лист12.Cells(Строка, 4).Value = ccc
Лист12.Cells(Строка, 5).Value = ddd
Лист12.Cells(Строка, 6).Value = eee
Лист12.Cells(Строка, 7).Value = fff
Лист12.Cells(Строка, 8).Value = iii
Лист12.Cells(Строка, 9).Value = hhh
Лист12.Cells(Строка, 10).Value = sss
Elseif ComboBox1.Text="Хрен знает какой" Then
Worksheets("Хрен знает какой").Activate
Строка = Application.WorksheetFunction.CountA(Range("A:A")) + 1
Лист12.Cells(Строка, 1).Value = "Название"
Лист12.Cells(Строка, 2).Value = aaa
Лист12.Cells(Строка, 3).Value = bbb
Лист12.Cells(Строка, 4).Value = ccc
Лист12.Cells(Строка, 5).Value = ddd
Лист12.Cells(Строка, 6).Value = eee
Лист12.Cells(Строка, 7).Value = fff
Лист12.Cells(Строка, 8).Value = iii
Лист12.Cells(Строка, 9).Value = hhh
Лист12.Cells(Строка, 10).Value = sss
End if
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запись с формы на лист / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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