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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> команда Microsoft.VisualBasic дает ошибку 424 
:(
    Опции темы
dobbro
Дата 12.8.2011, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



вот кусок кода:
Код

Do While Cells(x, 1).Value <> ""
  artikul_old = Cells(x, 1)                                                        'Считываем 1-ый артикул
  i = 1
  artikul_new = Microsoft.VisualBasic.Left(artikul_old, 7)       'Формируем готовый артикул на новый лист (без цвета и размера)
  Size(i) = Microsoft.VisualBasic.Right(artikul_old, 2)              'Начинаем формировать строку с размерами
  Color(i) = Microsoft.VisualBasic.Mid(artikul_old, 8, 2)           'Начинаем формировать строку с цветами

ком-р начинает ругаться при дебаге на строку:
Код

artikul_new = Microsoft.VisualBasic.Left(artikul_old, 7)

переменная artikul_new объявлена строкой. В чем дело понять не могу.
Заранее спасибо.
PM MAIL   Вверх
dorogoyIV
Дата 12.8.2011, 11:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



artikul_old должна быть String, а у тебя как?
PM MAIL   Вверх
dobbro
Дата 12.8.2011, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(dorogoyIV @ 12.8.2011,  11:02)
artikul_old должна быть String, а у тебя как?

и у меня string

Добавлено через 44 секунды
Код

Dim artikul_old As String

PM MAIL   Вверх
dorogoyIV
Дата 12.8.2011, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



в справке по этой ошибке написано: Use the Set statement when assigning an object reference.
попробуй что то типа: 
Код

Set artikul_new = ...

PM MAIL   Вверх
dobbro
Дата 12.8.2011, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

Set artikul_new = Microsoft.VisualBasic.Left(artikul_old, 7)

дает ту же самую ошибку и именно на ней
PM MAIL   Вверх
dorogoyIV
Дата 12.8.2011, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



ну выложи весь код, если возможно...
посмотрим...
(кстати, я про VBA говорил...)
PM MAIL   Вверх
dobbro
Дата 12.8.2011, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Так, нашелся косяк. Microsoft.VisualBasic - в топку
Оставляем только Left(artikul_old, 7) и все прекрасненько работает!
Остается только понять как мне массив строк выпихнуть в 1 ячейку... Никто не подскажет?
PM MAIL   Вверх
dorogoyIV
Дата 13.8.2011, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(dobbro @  12.8.2011,  16:07 Найти цитируемый пост)
Остается только понять как мне массив строк выпихнуть в 1 ячейку...

как то не понятно - что нужно? 
PM MAIL   Вверх
ViterAlex
Дата 13.8.2011, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(dobbro @ 12.8.2011,  16:07)
…как мне массив строк выпихнуть в 1 ячейку…

Объединить строковый массив командой Join
PM MAIL WWW ICQ   Вверх
Staruha
Дата 13.8.2011, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Собери в переменную (сцепить &) а потом в ячейку 


--------------------
Возмездие настигнет
PM MAIL   Вверх
dorogoyIV
Дата 14.8.2011, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Код

Sub UniteStrings()
 Dim i, j, num
 i = 1
 j = 1
 num = 1
 Dim s() As String ' объявление массива
 
 While Cells(i, j) <> ""
  While Cells(i, j) <> ""
   ReDim Preserve s(1 To num) ' изменение размера массива с сохранением содержимого
   s(num) = Cells(i, j)
   j = j + 1
   num = num + 1
  Wend
  i = i + 1
 Wend
 
 Dim ss As String
 ss = Join(s, "#")
 MsgBox ss
 
 'Cells(?, ?) = ss
End Sub

PM MAIL   Вверх
dobbro
Дата 15.8.2011, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо всем огромное! Если что, обращусь еще!
PM MAIL   Вверх
Данкинг
Дата 15.8.2011, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



А что такое вообще "Microsoft.VisualBasic "? smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
dobbro
Дата 15.8.2011, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

А что такое вообще "Microsoft.VisualBasic "?  

Да м...к какой то в книжке написал. Я ж не знал, что ему доверять нельзя, а в VBA я тока 2 прогу пишу. Дурацикй все таки язык... Ничего личного, просто мнение. До того на паскале, с++, php, html (тоже специфический, кстати) писал... но тут... зато интересно что то новое узнавать...
PM MAIL   Вверх
Данкинг
Дата 15.8.2011, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Цитата(dobbro @  15.8.2011,  12:40 Найти цитируемый пост)
Да м...к какой то в книжке написал.

Он не м-к, а клоун: я реально поржал, когда в твоём коде это прочитал. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




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


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

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