|
|
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
Здраствуйте, имеется следующий код On Error Resume Next Dim ws As Worksheet, cell As Range Dim list As Range Set ws = Worksheets("Settings") Set list = ws.Range(ws.Range("A2"), ws.Range("A65536").End(xlUp)) 'find current sheet in sheet list Set cell = list.Find(ActiveSheet.Name, , , xlWhole) 'activate sheet next to it Worksheets(cell.Offset(1, 0).Value).Activate Суть кода следующая: На листе "Settings" есть список названий листов в виде List1 List2 List3 List4 Код при выполнении находит название активного листа в этом списке и активирует лист с названием из следующей ячейки (код для кнопки "Далее"). Например находясь на листе List2, он найдет это название в списке и возьмет следующее - List3 и активирует его. Выдает ошибку в 2007 у енд-юзера. Пока не могу дать описания ошибки, но может кто-то уже сейчас может сказать в чем косяк такого кода под Экселем 2007? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 12:56:44 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
Енд-юзер ответил, проблема оказалась в строке validationString = Right(validationString, Len(validationString) - 1) Где validationString as String Ошибку выдает на Right, с текстом Can't find project or library. Как это можно исправить, попросить енд-юзера пойти в Alt-F11 -> Tools -> References и поставить галочку напротив Visual Basic for Applications? Может ли у них не оказаться этой дллки в 2007-м офисе, неизвестно какой конфигурации? Помогите плз :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 14:07:35 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Во-вторых, в tools-reference надо искать слово MISSING. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 16:01:08 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
Да не в 65000 проблема, т.к. там всего 7 строк. Просто использую такую запись как стандартную для поиска последней строки. Тулс-референс попросил поискать юзера. Missing может означать, что удалено или просто выключено? Есть ли в сетапе возможность не устанавливать эти дллки? Или только если их вручную потом удалять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 16:29:49 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2009, 16:41:32 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
Очень странно как-то Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Вот такой код, ошибка выходит на Right. До этого Len, CStr из того же класса Strings библиотеки VBA нормально выполняются. Кто-нибудь знает о изменениях класса Strings в VBA 2007-го офиса, или где это можно посмотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2009, 16:37:44 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.02.2009, 21:50:27 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
Не знаю, нет доступа к тому компьютеру, но енд-юзер сказал, что всё сделал по инструкции, то есть выставил в VBA редакторе, Tools-References галку на Visual Basic for applications. Просто как может работать Len, CStr и не работать Right если дллка Missing? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 09:21:38 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
Это глюки экселя, когда нет необходимой библиотеки. Пусть он пришлет вам скрин с вкладки tools references. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 10:09:43 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
Проблема видимо в этом: Len(CStr(cell.Value)) не пустое, а вот cell.Validation.Formula1 вполне может быть пустым. а т.к. On Error Resume Next, то последствия непредсказуемы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 16:55:12 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
Еррор Cant' find library. On error resume next не выдает ерроров. Тем более у меня есть копия этого файла и у меня на 2003-м офисе он запускается (и у 200+ других юзеров тоже). Я поставил On error resume next, потому что есть листы где нет ws.Cells.SpecialCells(xlCellTypeAllValidation) И там выдается еррор, он просто идет далее на другой шит и работает дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.02.2009, 17:51:05 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
1. Тогда лучше так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 2. В окне Бейсика View\Object Browser (F2) - в верхнем окне выбора All Libraries; - в окне поиска Right посмотреть, нет ли одноименной функции в какой-либо библиотеке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2009, 08:44:08 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
Да, главное то так и не выяснено осталось, на что big-duke сразу указал. Надо сразу после ошибки смотреть Tools\References ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2009, 08:50:39 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
еще правильнее:) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2009, 09:01:55 |
|
||
|
Работает в Excel 2000-2003, не работает в Excel 2007.
|
|||
|---|---|---|---|
|
#18+
sergeyvgеще правильнее:) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Ошибка возникает в ws.Cells.SpecialCells(xlCellTypeAllValidation), как поможет переход в конец for идти дальше по for each next если не определено то, что стоит после In? On Error Resume Next судя по дебаггеру сразы выскакивает из цикла и идет дальше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2009, 09:36:12 |
|
||
|
|

start [/forum/topic.php?fid=61&tid=2179783]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
395ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 684ms |

| 0 / 0 |
