|
|
|
Запись с формы на лист
|
|||
|---|---|---|---|
|
#18+
Здраствуйте! Проблема в следующем: Необходимо данные скопировать из формы на лист в определенном порядке, кнопка которая запускает форму находится на листе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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2007, 16:44:43 |
|
||
|
Запись с формы на лист
|
|||
|---|---|---|---|
|
#18+
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. Навскидку без файла-примера не скажу, но. Строка = 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 = "Название" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2007, 19:23:30 |
|
||
|
Запись с формы на лист
|
|||
|---|---|---|---|
|
#18+
На Листе3 1910 строк. Угадал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2007, 19:27:17 |
|
||
|
Запись с формы на лист
|
|||
|---|---|---|---|
|
#18+
Вообще, явно все ссылки объявляйте. Т.е. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2007, 19:59:53 |
|
||
|
Запись с формы на лист
|
|||
|---|---|---|---|
|
#18+
Резюме: запишите в макросе явно имя листа, на кот-й записываются данные с Вашей формы. Т.е. Строка=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 - никогда не пользовался. Это хорошо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.11.2007, 21:41:39 |
|
||
|
Запись с формы на лист
|
|||
|---|---|---|---|
|
#18+
А Вы попробуйте так ActiveSheet NextRow = Application.WorksheetFunction.CountA(Range("A:A")) + 1 '******************************************* Cells(NextRow, 1) = aaa Cells(NextRow, 2) = bbb ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.11.2007, 09:02:07 |
|
||
|
Запись с формы на лист
|
|||
|---|---|---|---|
|
#18+
Извиняюсь что раньше не ответил кладовщикНа Листе3 1910 строк. Угадал? не-а, не угадал, строк 10810 ) так что вопрос о 1911 строке не решен, ну да и хрен сним ) я попробовал прописать так: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2007, 16:30:48 |
|
||
|
Запись с формы на лист
|
|||
|---|---|---|---|
|
#18+
авторЕсли форма запущена с листа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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2007, 09:36:38 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34962446&tid=2181835]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 342ms |

| 0 / 0 |
