Модераторы: mihanik, skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переменная типа Object не установлена, помогите написать макрос 
:(
    Опции темы
liliputochka
Дата 13.2.2013, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 16.3.2006
Где: Волгоград

Репутация: нет
Всего: нет



Добрый день, прошу помочь с написанием макроса (первый день в глаза вижу макросы)

Код

Sub Main

Dim Str, Str1, Year, kp As String
'Dim WorksheetTab, WorksheetPr As Worksheet
Dim i, j, Art2, Art3, Ost2, Ost3, Rez2, Rez3 As Integer
Dim Worksheet1 As Object
Dim ThisWorkbook As Object

Set Worksheet1 = ThisWorkbook.getByName("Лист1")
Set Worksheet1 = ThisWorkbook.Worksheets("Лист1")
Set Worksheet2 = ThisWorkbook.Worksheets("Производители")
Set Worksheet3 = ThisWorkbook.Worksheets("Линии косметики")

'WorksheetPr.Cells.ClearContents

i = 1
j = 1
Art2 = 5
Art3 = 2
Ost2 = 6
Ost3 = 1
Rez2 = 6 'jjj
Rez3 = 6

Do While Worksheet1.Cells(i, Art2) <> ""

    Do While Worksheet1.Cells(i, Art2) > Worksheet2.Cells(j, Art3)
        j = j + 1
    Loop
    If Worksheet1.Cells(i, Art2) = Worksheet2.Cells(j, Art3) Then
        Worksheet1.Cells(i, Rez2) = Worksheet3.Cells(j, Ost3)
        If Worksheet1.Cells(i, Ost2) = 0 Then
            Worksheet2.Cells(j, Rez3) = "X"
        Else
            Worksheet2.Cells(j, Rez3) = Worksheet1.Cells(i, Ost2)
        End If
    End If

    i = i + 1

Loop





'Dim Str, Str1, Year, kp As String
'Dim WorksheetTab, WorksheetPr As Worksheet
'Dim i, j, Art1, Art3, Ost1, Ost3, Rez1, Rez3 As Integer
Dim Art1, Ost1, Rez1 As Integer

Set Worksheet1 = ThisWorkbook.Worksheets("Лист1")
Set Worksheet3 = ThisWorkbook.Worksheets("Линии косметики")

'WorksheetPr.Cells.ClearContents

i = 2
j = 1
Art1 = 7
Art3 = 3
Ost3 = 2
Rez1 = 8 'kkk
Rez3 = 14

Do While Worksheet1.Cells(i, Art1) <> ""

    Do While Worksheet1.Cells(i, Art1) > Worksheet3.Cells(j, Art3)
        j = j + 1
    Loop
    If Worksheet1.Cells(i, Art1) = Worksheet3.Cells(j, Art3) Then
        Worksheet1.Cells(i, Rez1) = Worksheet3.Cells(j, Ost3)
    End If

    i = i + 1

Loop

End Sub


ссылается на строку: 
Код

Set Worksheet1 = ThisWorkbook.getByName("Лист1")

и говорит, что "переменная типа Object не установлена". Пробовала по разному ее определить, но жалобы все равно продолжаются. Что можно сделать?  smile 

Еще одна просьба - написала я макрос для отбора id-шников на одном листе, сверка их на другом листе и при совпадении id писать названия. Проверьте пожалуйста правильность макроса, или напишите правильный (желательно с комментарием - ничего не знаю про VBA).
PM MAIL   Вверх
Akina
Дата 13.2.2013, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 2
Всего: 453



Цитата(liliputochka @  13.2.2013,  16:49 Найти цитируемый пост)
 Что можно сделать?

Не копипастить, а писАть самостоятельно.
Откуда взято это getByName? Объектная модель Excel (судя по коду, используется именно он) про такое слыхом не слыхивала.



--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование в бесплатных офисных программах (Open Office и т.п.) | Следующая тема »


 




[ Время генерации скрипта: 0.1258 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.