Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/макрос не может прочитать ячейку - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
макрос не может прочитать ячейку
анна Дата: Воскресенье, 21.10.2012, 15:48 | Сообщение № 1
Группа: Гости
' bestfax.Cells(1, 1).Value = datarec
With bestfax
For ii = ns To 15000
If .Cells(ii, 1).Value = "" Then
Exit For
End If
Next ii
ns = ii
Code1 = Code1 + 1
perem.Cells(9, 2).Value = Code1
.Cells(ns, 1).Value = "10200" + Format(Code1) '""K174"" 'Code1

' .Rows(ns).Insert shift:=xlShiftDown
' .Rows(ns).Interior.Color = RGB(255, 255, 255)
'.Cells(ns, 1).Value = "10200" + Format(Code1) '"K174" 'Code1

ошибка на этой строке
 
Ответить
Сообщение' bestfax.Cells(1, 1).Value = datarec
With bestfax
For ii = ns To 15000
If .Cells(ii, 1).Value = "" Then
Exit For
End If
Next ii
ns = ii
Code1 = Code1 + 1
perem.Cells(9, 2).Value = Code1
.Cells(ns, 1).Value = "10200" + Format(Code1) '""K174"" 'Code1

' .Rows(ns).Insert shift:=xlShiftDown
' .Rows(ns).Interior.Color = RGB(255, 255, 255)
'.Cells(ns, 1).Value = "10200" + Format(Code1) '"K174" 'Code1

ошибка на этой строке

Автор - анна
Дата добавления - 21.10.2012 в 15:48
Hugo Дата: Воскресенье, 21.10.2012, 16:12 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Ну судя по всему - Code1 явно не соответствующего типа.
Вы покажите весь код (и оформляйте его соотв. тегами).
Вообще этот отрывок - это что-то непонятное...


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеНу судя по всему - Code1 явно не соответствующего типа.
Вы покажите весь код (и оформляйте его соотв. тегами).
Вообще этот отрывок - это что-то непонятное...

Автор - Hugo
Дата добавления - 21.10.2012 в 16:12
анна Дата: Воскресенье, 21.10.2012, 16:33 | Сообщение № 3
Группа: Гости
Я просто пользователь и для меня наверное очень сложно понять что надо описать. В файле есть макросы, запуская один из них он выдает ошибку и ссылается на макрос, на эту строчку. Я как собака понимаю, но объяснить не могу. Формат ячейки общий, там число к которому должна прибавиться 1 и все. Если вы не сочтете что я вообще дебил, то что надо написать что бы Вам было понятно. СПАСИБО. Надеюсь не останусь без ответа.
 
Ответить
СообщениеЯ просто пользователь и для меня наверное очень сложно понять что надо описать. В файле есть макросы, запуская один из них он выдает ошибку и ссылается на макрос, на эту строчку. Я как собака понимаю, но объяснить не могу. Формат ячейки общий, там число к которому должна прибавиться 1 и все. Если вы не сочтете что я вообще дебил, то что надо написать что бы Вам было понятно. СПАСИБО. Надеюсь не останусь без ответа.

Автор - анна
Дата добавления - 21.10.2012 в 16:33
Hugo Дата: Воскресенье, 21.10.2012, 17:07 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Нужно показать весь код целиком, а в идеале весь файл - с кодом и необходимыми для работы кода данными. В пределах 100кб, согласно правилам.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеНужно показать весь код целиком, а в идеале весь файл - с кодом и необходимыми для работы кода данными. В пределах 100кб, согласно правилам.

Автор - Hugo
Дата добавления - 21.10.2012 в 17:07
ikki Дата: Воскресенье, 21.10.2012, 17:26 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
пс. если захотите приложить файл - то нужно сначала зарегистрироваться на форуме, иначе можно долго и безуспешно искать кнопку "прикрепить файл".


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениепс. если захотите приложить файл - то нужно сначала зарегистрироваться на форуме, иначе можно долго и безуспешно искать кнопку "прикрепить файл".

Автор - ikki
Дата добавления - 21.10.2012 в 17:26
Hugo Дата: Воскресенье, 21.10.2012, 17:33 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Извините, про регистрацию упустил из виду... Но можно положить файл на любой файлообменник - тогда нет ограничения по размеру.
Но чем больше в файле лишнего, что мешает понять задачу - тем меньше шанс получить решение.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеИзвините, про регистрацию упустил из виду... Но можно положить файл на любой файлообменник - тогда нет ограничения по размеру.
Но чем больше в файле лишнего, что мешает понять задачу - тем меньше шанс получить решение.

Автор - Hugo
Дата добавления - 21.10.2012 в 17:33
анна59 Дата: Воскресенье, 21.10.2012, 17:39 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Спасибо. Если поможете буду рада.
К сообщению приложен файл: 0555056.rar (80.8 Kb)
 
Ответить
СообщениеСпасибо. Если поможете буду рада.

Автор - анна59
Дата добавления - 21.10.2012 в 17:39
анна59 Дата: Воскресенье, 21.10.2012, 17:53 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Ошибка выдавалась в кнопке добавить в квитанцию.
 
Ответить
СообщениеОшибка выдавалась в кнопке добавить в квитанцию.

Автор - анна59
Дата добавления - 21.10.2012 в 17:53
анна59 Дата: Воскресенье, 21.10.2012, 17:55 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Я очень буду ждать помощи, т.к. завтра мне это нужно для работы. Если что-то опять будет не понятно, ну тогда я не ЧАЙНИК, а просто ЛОХ.
 
Ответить
СообщениеЯ очень буду ждать помощи, т.к. завтра мне это нужно для работы. Если что-то опять будет не понятно, ну тогда я не ЧАЙНИК, а просто ЛОХ.

Автор - анна59
Дата добавления - 21.10.2012 в 17:55
Pelena Дата: Воскресенье, 21.10.2012, 18:03 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19405
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
Тип Integer не даёт оперировать с числами больше 32767 (у Вас такое число в ячейке)
Напишите вместо Dim Code1 As Integer
[vba]
Code
Dim Code1 As Long
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеТип Integer не даёт оперировать с числами больше 32767 (у Вас такое число в ячейке)
Напишите вместо Dim Code1 As Integer
[vba]
Code
Dim Code1 As Long
[/vba]

Автор - Pelena
Дата добавления - 21.10.2012 в 18:03
Hugo Дата: Воскресенье, 21.10.2012, 18:04 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Не вникая в код - судя по ошибке, достаточно заменить тип Integer на Long:
[vba]
Code
Dim Code1 As Long
[/vba]
Чуть опоздал smile
Но Вам вероятно есть смысл поменять тип и у numreceipt (Номер квитанции) - пока ещё резерв есть, но рано или поздно... если конечно у них нет верхнего рубежа.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеНе вникая в код - судя по ошибке, достаточно заменить тип Integer на Long:
[vba]
Code
Dim Code1 As Long
[/vba]
Чуть опоздал smile
Но Вам вероятно есть смысл поменять тип и у numreceipt (Номер квитанции) - пока ещё резерв есть, но рано или поздно... если конечно у них нет верхнего рубежа.

Автор - Hugo
Дата добавления - 21.10.2012 в 18:04
анна59 Дата: Воскресенье, 21.10.2012, 18:18 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

СПАСИБО ОГРОМНОЕ!!!!!!!!!!!!!!!! Думала разочаруюсь в умных людях, ноооооооооо не УДАЛОСЬ. Теперь буду знать где искать помощь, может сама поумнею. Единственное не стыдно, что лучше быть хорошим пользователем, чем изображать из себя программиста. Еще раз СПАСИБО ВСЕМ. У меня все получилось и оказалось так просто. Все поняла.
 
Ответить
СообщениеСПАСИБО ОГРОМНОЕ!!!!!!!!!!!!!!!! Думала разочаруюсь в умных людях, ноооооооооо не УДАЛОСЬ. Теперь буду знать где искать помощь, может сама поумнею. Единственное не стыдно, что лучше быть хорошим пользователем, чем изображать из себя программиста. Еще раз СПАСИБО ВСЕМ. У меня все получилось и оказалось так просто. Все поняла.

Автор - анна59
Дата добавления - 21.10.2012 в 18:18
анна59 Дата: Воскресенье, 21.10.2012, 18:20 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Да посмотрю номер квитанции и все поправлю. Спасибо.
 
Ответить
СообщениеДа посмотрю номер квитанции и все поправлю. Спасибо.

Автор - анна59
Дата добавления - 21.10.2012 в 18:20
Гость Дата: Понедельник, 22.10.2012, 03:01 | Сообщение № 14
Группа: Гости
Тип Variant

Тип данных Variant — это такой тип данных, который может сохранять в себе данные любых типов из числа допустимых в языке VBA.
В переменной типа Variant может быть заключен текст, числовые значения, даты и объекты.
В языке VBA тип данных Variant принят по умолчанию, т.е. если переменная была создана без указания типа, то она автоматически создается с типом Variant.
Переменные этого типа принимают характеристики того конкретного типа данных, к которому относятся значения, сохраняемые в них в данный момент. Для числовых данных значение типа Variant принимает характеристики числового типа Double, для строковых данных — характеристики типа String и т.д.
Благодаря такой гибкости, переменные типа Variant очень удобны, поскольку избавляют программиста от необходимости использовать конкретные типы данных. Нет необходимости думать о том, что именно будет храниться в той или иной переменной, — достаточно просто всем им назначить тип Variant.
________________________________________
Однако, несмотря на все свои преимущества, этот тип данных предполагает использование большого объема памяти.
Если говорить о макросах – «программа на одной ножке» - то это замечание не критично.
 
Ответить
СообщениеТип Variant

Тип данных Variant — это такой тип данных, который может сохранять в себе данные любых типов из числа допустимых в языке VBA.
В переменной типа Variant может быть заключен текст, числовые значения, даты и объекты.
В языке VBA тип данных Variant принят по умолчанию, т.е. если переменная была создана без указания типа, то она автоматически создается с типом Variant.
Переменные этого типа принимают характеристики того конкретного типа данных, к которому относятся значения, сохраняемые в них в данный момент. Для числовых данных значение типа Variant принимает характеристики числового типа Double, для строковых данных — характеристики типа String и т.д.
Благодаря такой гибкости, переменные типа Variant очень удобны, поскольку избавляют программиста от необходимости использовать конкретные типы данных. Нет необходимости думать о том, что именно будет храниться в той или иной переменной, — достаточно просто всем им назначить тип Variant.
________________________________________
Однако, несмотря на все свои преимущества, этот тип данных предполагает использование большого объема памяти.
Если говорить о макросах – «программа на одной ножке» - то это замечание не критично.

Автор - Гость
Дата добавления - 22.10.2012 в 03:01
vikttur Дата: Понедельник, 22.10.2012, 07:25 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

А если таких "одноножек" несколько десятков?
А если в одном монстрике много переменных?
А еще не забываем об оптимизации и душевной гармонии smile


Сообщение отредактировал vikttur - Понедельник, 22.10.2012, 07:26
 
Ответить
СообщениеА если таких "одноножек" несколько десятков?
А если в одном монстрике много переменных?
А еще не забываем об оптимизации и душевной гармонии smile

Автор - vikttur
Дата добавления - 22.10.2012 в 07:25
анна59 Дата: Понедельник, 22.10.2012, 08:41 | Сообщение № 16
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Здравствуйте гости и друзья! А можно без сарказма, на простом языке перевести вашу переписку. Ну так для меня. Я не писала эти макросы, но хотелось бы понять про "одноножки" . Может да же услышать критику. Это очень полезно пользователям. На мой взгляд, только пользователь может оценивать "творения".
Спасибо.
 
Ответить
СообщениеЗдравствуйте гости и друзья! А можно без сарказма, на простом языке перевести вашу переписку. Ну так для меня. Я не писала эти макросы, но хотелось бы понять про "одноножки" . Может да же услышать критику. Это очень полезно пользователям. На мой взгляд, только пользователь может оценивать "творения".
Спасибо.

Автор - анна59
Дата добавления - 22.10.2012 в 08:41
vikttur Дата: Понедельник, 22.10.2012, 09:21 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Где Вы видели сарказм?
Гость описал тип переменных "Вариант" и заметил, что такой тип прожорлив по отношению к памяти.
Я ответил на последнее предложение ("все это не критично для макросов"). Это мое видение, возможно, неправильное.
Кстати, на возможность неправильного объявления типа переменной я Вам сразу написал (там еще, в чужой теме).

Под переменную выделяется определенный размер памяти:
Byte - 1 байт, Integer - 2, Long - 4, Date - 8 байт...
Тип данных Variant забирает под себя 16-22 байта.
По цифрам видно, что объявление типа Variant или необъявление переменных (а по умолчанию - Variant) неэкономно по отношению к величине используемой памяти. Это не значит, переменные нужно объявлять всегда и ни в коем случае не Variant.

Но и объявлять тип переменных тоже нужно правильно. В Вашем варианте под переменную выделен диапазон памяти, в который число не смогло поместиться, потому и возникла ошибка.

А по поводу "одноножек" - не знаю, впервые прочитал у Гостя о таком названии.


Сообщение отредактировал vikttur - Понедельник, 22.10.2012, 09:28
 
Ответить
СообщениеГде Вы видели сарказм?
Гость описал тип переменных "Вариант" и заметил, что такой тип прожорлив по отношению к памяти.
Я ответил на последнее предложение ("все это не критично для макросов"). Это мое видение, возможно, неправильное.
Кстати, на возможность неправильного объявления типа переменной я Вам сразу написал (там еще, в чужой теме).

Под переменную выделяется определенный размер памяти:
Byte - 1 байт, Integer - 2, Long - 4, Date - 8 байт...
Тип данных Variant забирает под себя 16-22 байта.
По цифрам видно, что объявление типа Variant или необъявление переменных (а по умолчанию - Variant) неэкономно по отношению к величине используемой памяти. Это не значит, переменные нужно объявлять всегда и ни в коем случае не Variant.

Но и объявлять тип переменных тоже нужно правильно. В Вашем варианте под переменную выделен диапазон памяти, в который число не смогло поместиться, потому и возникла ошибка.

А по поводу "одноножек" - не знаю, впервые прочитал у Гостя о таком названии.

Автор - vikttur
Дата добавления - 22.10.2012 в 09:21
анна59 Дата: Понедельник, 22.10.2012, 09:32 | Сообщение № 18
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Спасибо. Все ясно(как пользователю со стажем 34 года). Ну мне показалось, что сарказм, как новичку на форуме. Виртуальность........
 
Ответить
СообщениеСпасибо. Все ясно(как пользователю со стажем 34 года). Ну мне показалось, что сарказм, как новичку на форуме. Виртуальность........

Автор - анна59
Дата добавления - 22.10.2012 в 09:32
KuklP Дата: Понедельник, 22.10.2012, 10:01 | Сообщение № 19
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Дополню Виктора. Кроме того, что вариант прожорлива к памяти, она еще и прожорлива к ресурсам процессора и медленна за счет неявных преобразований типов. И вообще хорошим тоном в программировании считается точная типизация переменных. Помимо всего прочего это позволяет избежать многих ошибок при неправильном написании имен переменных, несоответствий типов и т.д. уже на этапе написания и отладки программы.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Понедельник, 22.10.2012, 10:01
 
Ответить
СообщениеДополню Виктора. Кроме того, что вариант прожорлива к памяти, она еще и прожорлива к ресурсам процессора и медленна за счет неявных преобразований типов. И вообще хорошим тоном в программировании считается точная типизация переменных. Помимо всего прочего это позволяет избежать многих ошибок при неправильном написании имен переменных, несоответствий типов и т.д. уже на этапе написания и отладки программы.

Автор - KuklP
Дата добавления - 22.10.2012 в 10:01
Гость Дата: Понедельник, 22.10.2012, 10:10 | Сообщение № 20
Группа: Гости
Макрос: жесткая архитектура данных, почти всегда абсолютная зависимость от единственного разработчика.
 
Ответить
СообщениеМакрос: жесткая архитектура данных, почти всегда абсолютная зависимость от единственного разработчика.

Автор - Гость
Дата добавления - 22.10.2012 в 10:10
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!