powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запись с формы на лист
8 сообщений из 8, страница 1 из 1
Запись с формы на лист
    #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
Запись с формы на лист
    #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
Запись с формы на лист
    #34962384
кладовщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На Листе3 1910 строк. Угадал?
...
Рейтинг: 0 / 0
Запись с формы на лист
    #34962446
кладовщик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще, явно все ссылки объявляйте.
Т.е.
Код: plaintext
eee = UserForm12.Label65.Caption 
- вот так лучше.
...
Рейтинг: 0 / 0
Запись с формы на лист
    #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
Запись с формы на лист
    #34962755
Фотография Ser Artur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А Вы попробуйте так

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

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

я попробовал прописать так:
Код: plaintext
1.
Строка = Application.WorksheetFunction.CountA(Range("Лист12!A:A")) +  1 
теперь вписывает туда куда нужно
...
Рейтинг: 0 / 0
Запись с формы на лист
    #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
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запись с формы на лист
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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