powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Макрос не работает в excel 2007
60 сообщений из 60, показаны все 3 страниц
Макрос не работает в excel 2007
    #36622293
Alisya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такое действительно бывает что макрос напеисанный на excel 2003 не работает на 2007?
Причем три макроса работают а четвертый не хочет=(
Вот тот самый макрос:
Sub Sravnenie()
Dim object, times, i
Dim plan As Object, gos As Object, result As Object, x As Range
Dim FirstAddress$, blank_cell As Range
Dim discipl As Range
Worksheets("Ëèñò3").Cells.ClearContents
Set plan = Sheets(2)
Set gos = Sheets(1)
Set result = Sheets(3)

For i = 1 To plan.UsedRange.Rows.Count

object = Cells(i, 2)
times = plan.Cells(i, 8).Value

If object <> "" Then
If object Like "ÄÑ*" Or object Like "ÔÒÄ*" Then
Set DS_FTD = plan.Cells(i, 3)
Set x = gos.Columns(2).Find(DS_FTD, LookIn:=xlValues, lookat:=xlPart, MatchCase:=True)
Set object = plan.Columns(2).Find("Âñåãî ïî ÄÑ*")
i = object.Rows
Else
Set x = gos.Columns(2).Find(object, LookIn:=xlValues, lookat:=xlPart, MatchCase:=True)


If Not x Is Nothing Then

FirstAddress = x.Address

Do
Set x = gos.Columns(2).FindNext(x)
If gos.Cells(x.Row, 3).Value <> times Then
Set blank_cell = result.Cells(result.Range("a" & Rows.Count).End(xlUp).Row + 1, 1)
plan.Cells(, 2).Copy blank_cell
End If
Loop While Not x Is Nothing And x.Address <> FirstAddress
Else
Set blank_cell = result.Cells(result.Range("a" & Rows.Count).End(xlUp).Row + 1, 1)
plan.Cells(i, 2).Copy blank_cell
'blank_cell.Offset(0, 2).Value = "Not Exist In Sheets1 Column2!"
End If
End If
End If
Next

ActiveSheet.Columns.AutoFit
ActiveSheet.Rows.AutoFit

End Sub

Прикрепила файл в котором все макросы.
Помогите разобраться в чем проблема......
Заранее признательна.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622402
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alisya,

1) Используйте тэги для оформления кода. Ведь не в первый раз пишете!

2) Что значит "не хочет"? Выводит на экран сообщение "не хочу работать"? Ведь не в первый раз пишете!
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622418
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подправь в коде
Код: plaintext
object = plan.Cells(i,  2 )
Либо сделай страницу "Лист2" активной и запускай.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622428
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно автормакрос напеисанный никогда не видел чтобы так писали... Извеняюсь за офтоп :)
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622463
Alisya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaM, как остроумно =)
а за предыдуший ответ спасибо
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622465
Alisya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, не ругайтесь...
Сейчас у меня ошибка на Next. Что делать?
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622471
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlisyaShocker.Pro, не ругайтесь...
Сейчас у меня ошибка на Next. Что делать?

Как же не ругаться, если вы опять не указали текcт ошибки
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622474
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlisyaСейчас у меня ошибка на Next. Что делать?
В каком макросе? У меня Sravnenie отрабатывает на ура...
Вообще в VBA есть возможность использовать трассировку...
Так же можно использовать возможноси предоставленные в пункте меню Debug
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622482
Alisya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка в макросе Sravnenie: Run-time error '13'
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622503
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlisyaОшибка в макросе Sravnenie: Run-time error '13'

Error 13 - несоответствие типов

Код: plaintext
1.
Set DS_FTD = plan.Cells(i,  3 )' ссылка на ДИАПАЗОН
Set x = gos.Columns( 2 ).Find(DS_FTD, LookIn:=xlValues, lookat:=xlPart, MatchCase:=True)' поиск ЗНАЧЕНИЯ, присвоенного переменной 'DS_FTD'
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622522
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выложите свежую версию файла. Т.к. вы изменили данные на листе, то, скорее всего, одна из переменных получила некорректные данные скорее всего empty. И как я уже говорил выше писать так на VBA нельзя, т.к. в этом коде много вот таких милых мин замедленного действия.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622535
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth
Код: plaintext
1.
Set DS_FTD = plan.Cells(i,  3 )' ссылка на ДИАПАЗОН
Set x = gos.Columns( 2 ).Find(DS_FTD, LookIn:=xlValues, lookat:=xlPart, MatchCase:=True)' поиск ЗНАЧЕНИЯ, присвоенного переменной 'DS_FTD'

ссылка на ячейку. В данном случае это указатель на объект Cells, не вводите в заблуждение...
Как переводятся слова Range и Cell можно посмотреть в словаре английского языка.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622538
Alisya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622564
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно и кто придумал в цикле изменять переменную на ходу да ещё в неё попадает строка "Всего по ДС"?.. Интересно и скакой цельюэто делалось?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
For i =  1  To plan.UsedRange.Rows.Count

object = plan.Cells(i,  2 )
times = plan.Cells(i,  8 ).Value

    If object <> "" Then
        If object Like "ДС*" Or object Like "ФТД*" Then
                Set DS_FTD = plan.Cells(i,  3 )
                Set x = gos.Columns( 2 ).Find(DS_FTD, LookIn:=xlValues, lookat:=xlPart, MatchCase:=True)
                Set object = plan.Columns( 2 ).Find("Всего по ДС*")
                i = object.Rows
закоментируйте строку i = object.Rows, но по моему здесь вообще нужно код переписывать, т.к. получается непонятно что...
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622598
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMvlth
Код: plaintext
1.
Set DS_FTD = plan.Cells(i,  3 )' ссылка на ДИАПАЗОН
Set x = gos.Columns( 2 ).Find(DS_FTD, LookIn:=xlValues, lookat:=xlPart, MatchCase:=True)' поиск ЗНАЧЕНИЯ, присвоенного переменной 'DS_FTD'

ссылка на ячейку. В данном случае это указатель на объект Cells, не вводите в заблуждение...
Как переводятся слова Range и Cell можно посмотреть в словаре английского языка.

Уважаемый SashaM, перевод значений Range и Cell в словаре английского языка, Вы, конечно, найдёте...
Вот только там не сказано, что в Excel нет объекта Cell, равно как и Cells
Есть объект Range.
В данном случае переменной DS_FTD (которая, кстати, по-моему, не объявлена) присваивается ссылка на диапазон, содержащий одну ячейку.

Аргументом поиска надо задавать не ссылку на диапазон, а значение, содержащееся в ячейке.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622613
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так и есть Cells - это массив ячеек и раземеется Cells(1,1) является частным случаем диапазона, но в коде конктерно это ссылка на ячейку и там всё верно!
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622641
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2SashaM
Верно? Вы уверены? - у меня Excel 2003, поэтому я не скачиваю файл для проверки работы кода.
Но! Это несоответствие бросается в глаза. Почему бы, учитывая к тому же, сообщение VBA об ошибке №13, не переписать код корректно
Код: plaintext
1.
2.
Dim DS_FTD As ...
DS_FTD = plan.Cells(i,  3 )
Set x = gos.Columns( 2 ).Find(DS_FTD, LookIn:=xlValues, lookat:=xlPart, MatchCase:=True)
???
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622704
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlthЭто несоответствие бросается в глаза.
Не увидел несоответствия, но в одном согласен типизация данных и хороший код всегда лучше, чем вот это...
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622731
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMТак и есть Cells - это массив ячеек и раземеется Cells(1,1) является частным случаем диапазонаCells не является ни массивом ни "частным случаем диапазона", что бы это не значило. Cells — свойство, возвращающее объект Range.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622782
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

Абстрагируйтесь от Object Browser, думаю офтоп закончен.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36622794
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не увидел несоответствия...Тогда повторюсь: аргументом поиска должна быть не ссылка на диапазон, а какое-либо значение .
То, что "прокатывает" в 2003-м (который, видимо, в контексте поиска "берёт" для аргумента свойство диапазона Value как свойство по умолчанию), может не сработать в 2007-м.

Cells не является ни массивом ни "частным случаем диапазона", что бы это ни значило. Cells — свойство, возвращающее объект Range.
+1
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623021
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMAntonariy,

Абстрагируйтесь от Object Browser, думаю офтоп закончен.Как раз он-то и является истиной в последней инстанции. Абстрагируйтесь от своих домыслов.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623036
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlthТо, что "прокатывает" в 2003-м (который, видимо, в контексте поиска "берёт" для аргумента свойство диапазона Value как свойство по умолчанию), может не сработать в 2007-м.
Да, да в M$ сидят идиоты, согласен с вами полностью...
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623049
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMДа, да в M$ сидят идиоты, согласен с вами полностью...

Вы когда-нить пробовали запустить программу, написанную для Access 2.0 в любой следующей версии Access? Более-менее развитая прога работать не будет.
Так что не надейтесь на полную совместимость.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623060
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Если вы говорите о VB версии 5? И о той объектной модели родом из 90-x то да, но всё развивается в том числе и язык
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623073
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlthТо, что "прокатывает" в 2003-м (который, видимо, в контексте поиска "берёт" для аргумента свойство диапазона Value как свойство по умолчанию), может не сработать в 2007-м.
Сработает. Представляете, сколько говнокода типа DS_FTD = plan.Cells(i, 3)
ВНЕЗАПНО перестанет работать, если вдруг Value перестанет быть свойством по умолчанию? MS такие проблемы не нужны.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623091
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProSashaMДа, да в M$ сидят идиоты, согласен с вами полностью...

Вы когда-нить пробовали запустить программу, написанную для Access 2.0 в любой следующей версии Access? Более-менее развитая прога работать не будет.
Так что не надейтесь на полную совместимость.Совместимости строго начали придерживаться с 95й версии. С тех пор только формат базы менялся в 2000й и 2007й версии.
Касаемо объектной модели, макросы прошлых версий почти наверняка будут работать в последующих, наоборот — с меньшей вероятностью.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623110
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyСовместимости строго начали придерживаться с 95й версии. С тех пор только формат базы менялся в 2000й и 2007й версии.
Касаемо объектной модели, макросы прошлых версий почти наверняка будут работать в последующих, наоборот — с меньшей вероятностью.
+1
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623124
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сработает. Представляете, сколько говнокода типа DS_FTD = plan.Cells(i, 3)
ВНЕЗАПНО перестанет работать, если вдруг Value перестанет быть свойством по умолчанию? MS такие проблемы не нужны.
Antonariy, не сомневаюсь в том, что Value продолжает оставаться своиством по умолчанию и в 2010-м ))
Исходя из номера сообщения об ошибке, я предположил, что метод Find в 2007-м более чувствителен к типу принимаемого аргумента.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623202
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth,

Если передаваемый тип не типизирован, значит, принимается тип variant, а из этого следует что ищет соответствие типу. Для примера если в ячейку A1 выставить тип "текст" и поставить значение 1, а в ячейку A2 просто поставить 1 и запустим код и можно убедиться что правильный ответ = 2
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub TestTypeInCalls()
  Dim TestRange As Range
  Dim Sh As Worksheet
  Set Sh = ActiveSheet
  Value& =  1 
  Set TestRange = Sh.Range(Sh.Cells( 1 ,  1 ), Sh.Cells(Sh.UsedRange.Rows.Count,  1 )).Find(Value)
  If Not TestRange Is Nothing Then _
    MsgBox TestRange.Row
End Sub
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623566
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alisya,

Удивило это:

Код: plaintext
object = plan.Cells(i,  2 )

Object есть служебное слово.... Закончились слова у человечества?

:0)

И вот это:

Код: plaintext
1.
object = plan.Cells(i,  2 )
times = plan.Cells(i,  8 ).Value

Почему в первом случае нет .Value, а во втором - есть? Раскройте пожалуйста тайну природы...

Почему решили присвоить тип Variant переменным object, times, i ?

:0)
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623577
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladConn
Почему в первом случае нет .Value, а во втором - есть? Раскройте пожалуйста тайну природы...

Почему решили присвоить тип Variant переменным object, times, i ?

:0)

индусский код витиеват и беспощаден в своей нирване
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623596
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу вступиться за автора топика. Помню по прошлым консультациям, она начинающий программист, самостоятельно упорно идет к своей цели, комбинируя метод тыка, консультации, фрагменты найденного кода и т.п., не в пример некоторым тут "студентам".
Так что не стоит ей пенять за код, а мягко объяснить ошибки.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623604
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProХочу вступиться за автора топика. Помню по прошлым консультациям, она начинающий программист, самостоятельно упорно идет к своей цели, комбинируя метод тыка, консультации, фрагменты найденного кода и т.п., не в пример некоторым тут "студентам".
Так что не стоит ей пенять за код, а мягко объяснить ошибки.

это хорошо, значит нирвана не победит её код
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623624
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alisya,

И я бы поостерегся использовать в коде ActiveSheet. VBA не распознает его как класс так, чтобы выпадал список его методов и свойств. И это в целом менее надежно. Лучше обращаться к листу по его имени и/или вводить объект класса Worksheet.

Почему вы иногда ссылаетесь на Worksheets, а иногда на Sheets? У вас там в книге не всегда именно Worksheets?

С чего вдруг выполз тысячелетней давности стиль декларирования переменных (Dim FirstAddress$) посреди совершенно другого их представления?
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623626
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladConn, приветствую! Давненько не пересекались ))
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623632
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

О, я ни в коем случае не пеняю. Сразу видно, что код неопытного еще автора. It's OK.... Я задаю вопросы, надеясь, что девушка сама сумеет заострить свое внимание на этих "мелочах"...
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623643
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth,

Привет! Рад тебя "видеть", как и всех остальных на этом форуме!

Я совсем отошел от этого, старею наверно?

:0)
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623650
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProХочу вступиться за автора топика.
Но лучшее для неё будет подсказка такого плана поищи в папке ...\Microsoft Office\Office\1049 файл VBAXL10.CHM в нём описана вся объектная модель Excel
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623705
SashaM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь тоже засада :) если запуск идёт не со страницы "result" то Rows.Count в редких случаях будет совпадать со страницей "result"
Код: plaintext
Set blank_cell = result.Cells(result.Range("a" & <B>Rows.Count</B>).End(xlUp).Row +  1 ,  1 )
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623706
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, по-прежнему присутствие lookat вместо ожидаемого LookAt (и наверно ненахождение его, как например LookIn, нажатием F1), говорит, что Microsoft видимо опять прошляпил эту проблему.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623713
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaM,

+1
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623726
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlisyaТакое действительно бывает что макрос напеисанный на excel 2003 не работает на 2007?
Alisya, да, такое бывает. Но приведённый Вами код отношения к этой проблеме не имеет:
без корректировки - этого в обсуждении, по-моему, сказано так и не было - он не будет работать независимо от версии Excel.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623816
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сколько строк на листе в 2007? Long или Integer? Может цикл давится на Long, и поэтому ошибка 13 на Neхt?

Там переменная "i" идет как Variant, цикл ее переводит в Integer, а если строк - Long...
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623844
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О, да в нем миллион строк. Надо вводить Long, иначе цикл подавится... Они (циклы) видимо по умолчанию все еще на Integer.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623855
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя он заткнется и на 65536 в 2003-м
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623860
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
VladConn,
дело в том, что переменная "i" принимает строковое значение.
Вот здесь:
Код: plaintext
i = object.Rows
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623872
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlthVladConn,
дело в том, что переменная "i" принимает строковое значение.
Вот здесь:
Код: plaintext
i = object.Rows


с каких пор у нас количество строк - строковое?
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623902
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro, это не количество строк: поскольку "object" - это ссылка на диапазон, состоящий из одной ячейки, то object.Rows возвращает содержимое этой ячейки. Т.е. в случае, если содержимое ячейки - текст, то работа цикла завершается ошибкой 13.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623904
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth,

О, нет, нет, нет. Какое бы она ни принимала там, в цикле она будет Integer.

Так девушка еще и переназначает переменную цикла? Nice..
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623924
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth,

Ты прав
:0)
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623925
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlthShocker.Pro, это не количество строк: поскольку "object" - это ссылка на диапазон, состоящий из одной ячейки, то object.Rows возвращает содержимое этой ячейки. Т.е. в случае, если содержимое ячейки - текст, то работа цикла завершается ошибкой 13.

А вот еще интересный глюк. В приложенном файле
Код: plaintext
i = object.Row
а в первом посте топика
Код: plaintext
i = object.Rows

По логике (если я правильно помню предыдущие обсуждения), там должно быть Row
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623928
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlthShocker.Pro, это не количество строк: поскольку "object" - это ссылка на диапазон, состоящий из одной ячейки, то object.Rows возвращает содержимое этой ячейки.Если быть занудно-точным, Rows возвращает опять таки диапазон (объект Range), имеющий свойство по умолчанию Value.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623931
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProПо логике (если я правильно помню предыдущие обсуждения), там должно быть Row

Точно
/topic/742502&hl=#8510723

может в этом и глюк?
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623948
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProShocker.ProПо логике (если я правильно помню предыдущие обсуждения), там должно быть Row

Точно
/topic/742502&hl=#8510723

может в этом и глюк?

Выходит, я сам там напартачил, ибо был уверен, что Row вернет индекс строки, а не саму строку (Range). Но почему тогда у автора не возникла проблема еще тогда......
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623982
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProВыходит, я сам там напартачил, ибо был уверен, что Row вернет индекс строки, а не саму строку (Range).

Так здесь ошибки нет: Row возвращает индекс строки, а Rows - диапазон.
???
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36623987
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlthТак здесь ошибки нет: Row возвращает индекс строки, а Rows - диапазон.
???

Тьфу, блин, сам себя запутал.
Код: plaintext
1.
2.
3.
?typename(object.Row)
Long
?typename(object.Rows)
Range
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36624000
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
offtopicAlisya придет вечером - вот удивится!

После того, что мы сделали в этом топике с ее кодом, нам придется на ней жениться
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36624087
Фотография Macks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SashaMДействительно автормакрос напеисанный никогда не видел чтобы так писали... Извеняюсь за офтоп :)

Без пейсов не обошлось.
...
Рейтинг: 0 / 0
Макрос не работает в excel 2007
    #36624174
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MacksSashaMДействительно автормакрос напеисанный никогда не видел чтобы так писали... Извеняюсь за офтоп :)

Без пейсов не обошлось.Как, впрочем, и без озабоченных пятым пунктом.
...
Рейтинг: 0 / 0
60 сообщений из 60, показаны все 3 страниц
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Макрос не работает в excel 2007
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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