Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / где может быть ошибка? / 25 сообщений из 27, страница 1 из 2
20.08.2014, 18:30
    #38724912
lapochka2382
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
Добрый всем вечер!

не могу понять почему выделяется желтым цветом строка:
Set x = Workbooks("GOURN FLAT 2014.xlsm").Sheets("Заказы").Columns(5).Find(.Cells(i), LookIn:=xlValues, lookat:=xlWhole)

вот код
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Sub Data_Updating()   

    Application.ScreenUpdating = False  'отключаем мерцание окна
    ChDir "D:\Ольга\Рабочий стол"
        Workbooks.Open Filename:= _
             "D:\Ольга\Рабочий стол\Подушка2.xlsm", UpdateLinks:=False  'UpdateLinks убирает обновление книги при открытии
    ThisWorkbook.Activate   ' Возвращаем указатель текущего приложения (для избежания различных глюков)

Dim i As Long
Dim x As Range

With Лист3.Columns(1)  'берется лист3.столбец1
    For i = 1 To .Cells(.Rows.Count).End(xlUp).Row  
      'Workbooks("GOURN FLAT 2014.xlsm").Sheets("Заказы").Activate
        Set x = Workbooks("GOURN FLAT 2014.xlsm").Sheets("Заказы").Columns(5).Find(.Cells(i), LookIn:=xlValues, lookat:=xlWhole)
         If x Is Nothing Then   
                .Cells(i).Offset(, 76) = ""   
         Else                                           
                .Cells(i).Offset(, 70) = Workbooks("GOURN FLAT 2014.xlsm").Sheets("Заказы").Cells(x.Row, 3).Value 
         End If
    Next i
End With

End Sub



Помогите разобраться!!!
...
Рейтинг: 0 / 0
20.08.2014, 18:36
    #38724922
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
lapochka2382почему выделяется желтым цветом строкапотому что в ней возникает ошибка

Если вы сообщите нам текст ошибки, нам будет гораздо легче вам помочь.
...
Рейтинг: 0 / 0
20.08.2014, 18:42
    #38724932
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
на правах кофейной гущи:
Код: vbnet
1.
Workbooks("GOURN FLAT 2014")



если память мне ни с кем не изменяет, ключом в коллекции Workbooks является имя файла без расширения.
...
Рейтинг: 0 / 0
20.08.2014, 19:10
    #38724959
lapochka2382
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
Shocker.Prolapochka2382почему выделяется желтым цветом строкапотому что в ней возникает ошибка

Если вы сообщите нам текст ошибки, нам будет гораздо легче вам помочь.

извините, ошибка такая:
Run-time error'13': Type mismatch
...
Рейтинг: 0 / 0
20.08.2014, 19:12
    #38724961
lapochka2382
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
Antonariy, попробовала убрать расширение, все равно такая же ошибка:(
...
Рейтинг: 0 / 0
20.08.2014, 21:56
    #38725035
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
lapochka2382Run-time error'13': Type mismatch
И какой, по-твоему, тип у Лист3.Columns(1).Cells(i)? А какой нужен?
...
Рейтинг: 0 / 0
20.08.2014, 23:37
    #38725083
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
Antonariy,

не согласен. Как раз с расширением работать будет всегда, а без расширения только если на уровне ОС установлены соответствующие настройки(не отображать расширения для зарегистрированных типов файлов).
А ошибка скорее всего возникает потому, что в ячейке, которая является критерием поиска значение ошибки(возможно формула неверно вычисляется и возвращает НД или ССЫЛКА)
...
Рейтинг: 0 / 0
20.08.2014, 23:39
    #38725084
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
The_Pristв ячейке, которая является критерием поискаэто та, что: .Find( .Cells(i) , LookIn:=xlValues, lookat:=xlWhole)
...
Рейтинг: 0 / 0
21.08.2014, 08:50
    #38725172
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
The_PristThe_Pristв ячейке, которая является критерием поискаэто та, что: .Find( .Cells(i) , LookIn:=xlValues, lookat:=xlWhole)А я на что-то иное разве указываю?
...
Рейтинг: 0 / 0
21.08.2014, 11:21
    #38725314
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
Akina,

А я не опровергал этой информации :-) Я лишь расширил пояснение
...
Рейтинг: 0 / 0
21.08.2014, 11:38
    #38725341
lapochka2382
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
Akinalapochka2382Run-time error'13': Type mismatch
И какой, по-твоему, тип у Лист3.Columns(1).Cells(i)? А какой нужен?

у меня получается, что стоит тип Long, но по всей видимости должен быть Variant?
...
Рейтинг: 0 / 0
21.08.2014, 11:49
    #38725354
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
lapochka2382,

Прочитайте внимательно тогда мой пост. Я прямо указал в чем проблема. Тип для x у Вас правильный - Range. Проблема в значении ячейки. Я же даже красным выделил....
...
Рейтинг: 0 / 0
21.08.2014, 12:15
    #38725412
lapochka2382
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
The_Pristlapochka2382,

Прочитайте внимательно тогда мой пост. Я прямо указал в чем проблема. Тип для x у Вас правильный - Range. Проблема в значении ячейки. Я же даже красным выделил....

у меня на Листе3 в файле "Подушка2" была сводная таблица, а в файле GOURN FLAT 2014.xlsm обычная, я скопировала данные из сводной на другой лист как значение и ошибку больше не выдает. Спасибо огромное!

но у меня теперь появилась другая проблема, мне нужно чтобы из файла "Подушка2.xlsm" (если данные совпадают) заносился в файл "GOURN FLAT 2014.xlsm" столбик "C". А у меня ничего не заносится, где я могла ошибиться, подскажите, пожалуйста!
...
Рейтинг: 0 / 0
21.08.2014, 13:24
    #38725528
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
The_Pristа без расширения только если на уровне ОС установлены соответствующие настройки(не отображать расширения для зарегистрированных типов файлов).фигасе, какие зависимости.
кто-то наверное поломал себе голову, почему на одном компе Workbooks("GOURN FLAT 2014") работает, а на другом нет. :))
...
Рейтинг: 0 / 0
21.08.2014, 14:28
    #38725623
lapochka2382
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
lapochka2382The_Pristlapochka2382,

Прочитайте внимательно тогда мой пост. Я прямо указал в чем проблема. Тип для x у Вас правильный - Range. Проблема в значении ячейки. Я же даже красным выделил....

у меня на Листе3 в файле "Подушка2" была сводная таблица, а в файле GOURN FLAT 2014.xlsm обычная, я скопировала данные из сводной на другой лист как значение и ошибку больше не выдает. Спасибо огромное!

но у меня теперь появилась другая проблема, мне нужно чтобы из файла "Подушка2.xlsm" (если данные совпадают) заносился в файл "GOURN FLAT 2014.xlsm" столбик "C". А у меня ничего не заносится, где я могла ошибиться, подскажите, пожалуйста!

Всё получилось.

Всем большое спасибо за помощь:)!!!
...
Рейтинг: 0 / 0
05.09.2014, 22:29
    #38739108
eco_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
Здравствуйте, уважаемые форумчане! не могу понять, в чем ошибка... я - начинающий пользователь макросов. Знания практически нулевые, поэтому обращаюсь к Вам. В приложенном файле есть макрос, который должен применить в таблице настраиваемую сортировку: сначала по дате, затем по № документа. Однако он не работает - при применении сортировка не осуществляется. В чем может быть ошибка? Спасибо!
...
Рейтинг: 0 / 0
05.09.2014, 22:35
    #38739113
eco_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
eco_tЗдравствуйте, уважаемые форумчане! не могу понять, в чем ошибка... я - начинающий пользователь макросов. Знания практически нулевые, поэтому обращаюсь к Вам. В приложенном файле есть макрос, который должен применить в таблице настраиваемую сортировку: сначала по дате, затем по № документа. Однако он не работает - при применении сортировка не осуществляется. В чем может быть ошибка? Спасибо!
***в добавление: На листе 1 начальный массив данных. Нужно произвести сортировку сначала по дате, затем по номеру документа.
На листе 2 обработанный массив
...
Рейтинг: 0 / 0
08.09.2014, 13:11
    #38740451
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
eco_tОднако он не работаету меня ваш макрос работает. Что я делаю не так?
...
Рейтинг: 0 / 0
08.09.2014, 21:14
    #38741096
eco_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
Shocker.Proeco_tОднако он не работаету меня ваш макрос работает. Что я делаю не так?
Здравствуйте! сортировка прошла на Листе 2 и по дате, и по номеру?
...
Рейтинг: 0 / 0
08.09.2014, 21:28
    #38741105
eco_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
eco_tShocker.Proпропущено...
у меня ваш макрос работает. Что я делаю не так?
Здравствуйте! сортировка прошла на Листе 2 и по дате, и по номеру?
поняла, в чём ошибка. В макросе была ссылка на 1 лист. При замене листа на "ActiveSheet" макрос работает на любом листе.
Другой вопрос: какой лучше применить диапазон-количество строк может варьироваться? А1:С1048576 ?
...
Рейтинг: 0 / 0
08.09.2014, 21:31
    #38741106
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
Можно использовать свойство листа UsedRange
...
Рейтинг: 0 / 0
08.09.2014, 22:00
    #38741118
eco_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
Shocker.Pro,

у меня получился следующий макрос:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Sub Сортировка()

    Set myRange = ActiveWorkbook.ActiveSheet.UsedRange
    ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("A2:A6"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range("B2:B6"), _
        SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.ActiveSheet.Sort
        .SetRange Range("A1:C6")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub



Модератор: Учимся использовать тэги оформления кода - FAQ

Получается, что модули по сортировке A2:A6, B2:B6 и With...End With обязательны в своей совокупности? или можно почистить программный код?
...
Рейтинг: 0 / 0
11.09.2014, 21:38
    #38744674
eco_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
Вопрос к модератору: не поняла, в чём ошибка. Проконсультируйте, пожалуйста.
...
Рейтинг: 0 / 0
11.09.2014, 22:05
    #38744687
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
eco_tВопрос к модератору: не поняла, в чём ошибка. Проконсультируйте, пожалуйста.когда публикуете код - не надо писать его простым текстом - он плохо читается. Оформляйте с помощью специальных тэгов. Как это сделать - читайте по ссылке.
...
Рейтинг: 0 / 0
12.09.2014, 20:42
    #38745606
eco_t
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
где может быть ошибка?
[/quot]когда публикуете код - не надо писать его простым текстом - он плохо читается. Оформляйте с помощью специальных тэгов. Как это сделать - читайте по ссылке.[/quot]
Если сделать шрифт жирным - этого будет достаточно?
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / где может быть ошибка? / 25 сообщений из 27, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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