Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2013, 12:06   #1
nihil_
Пользователь
 
Регистрация: 01.10.2012
Сообщений: 21
По умолчанию Почему не работает сдвиг в право?

Всем привет, Всех с праздником, Всем здоровья!)
Почему не работает сдвиг в право? Может потому что я сразу выделил рендж перед циклом? Хочу сделать цикл от конкретного значения в табл до конца табл, и брать соседнее значения для дальнейший операции.

Код:
Sub Test2()

Range("C4").Select
      
Do Until IsEmpty(ActiveCell)
    zn_num = ActiveCell.Value
    zn_date = ActiveCell.Offset(0.1).Value 
    ActiveCell.Offset(1, 0).Select
Loop
End Sub
Вложения
Тип файла: zip реестр счетов-фактур1.zip (12.8 Кб, 8 просмотров)

Последний раз редактировалось nihil_; 14.11.2013 в 12:13. Причина: Не то закачал
nihil_ вне форума Ответить с цитированием
Старый 14.11.2013, 12:18   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

здесь
Код:
zn_date = ActiveCell.Offset(0, 1).Value
замените точку на запятую
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 14.11.2013, 12:22   #3
nihil_
Пользователь
 
Регистрация: 01.10.2012
Сообщений: 21
По умолчанию

Спасибо Виктор!
Ну блин куда я смотрел, в низу есть кома, а тут пропустил?!!!
nihil_ вне форума Ответить с цитированием
Старый 14.11.2013, 12:28   #4
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Ну блин куда я смотрел
Бывает
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 14.11.2013, 14:26   #5
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Код:
For Each Rw in Range ("$C$4:$C$" & [C65000].End(xlUp).Row).Rows
    zn_num = Rw.Cells(1,1)
    zn_date = Rw.Cells(1,2)      
Next Rw
вот так должно работать немного шустрее
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 14.11.2013, 14:47   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а зачем "For Each", судя по исходному коду задача в zn_num и zn_date записать значения из последней непустой под С4.
Код:
with iif(IsEmpty[c5], [c4], [c4].end(xldown))
  zn_num = .value
  zn_date = .offset(0,1).value
end with
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 14.11.2013, 16:02   #7
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Цитата:
брать соседнее значения для дальнейший операции
судя по тексту задачи, в дальнейшем планируются операции с выбранными значениями.
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 14.11.2013, 19:16   #8
nihil_
Пользователь
 
Регистрация: 01.10.2012
Сообщений: 21
По умолчанию

Цитата:
Сообщение от DiemonStar Посмотреть сообщение
судя по тексту задачи, в дальнейшем планируются операции с выбранными значениями.
Спасибо за вариант можно попробовать когда разберусь с этим

Дальше с выбранными знач хочу подключится до базы, поместить в запрос, выполнить,
и записать результат в переменную, а потом вставить в пустой столбик "Ко-во н/ч".

Запрос написал, все подкл. нормально, но результат знач. записанный в перем. пишет Null.
Я так думаю, что то не так со строкой (может из за скобок):
Код:
sqlstring = "select sum(lj.FACT_TIME) FACT_TIME from list_job lj, zn zn where lj.ZN_ID = zn.ID and zn.INVOICE_ID = (select i.id from invoice i where i.INVOICE_NUM = '" & zn_num & "' and i.INVOICE_DATE = '" & in_data & "')"
Может кто подскажет?
Благодарю.
Вложения
Тип файла: zip реестр счетов-фактур2.zip (17.6 Кб, 6 просмотров)
nihil_ вне форума Ответить с цитированием
Старый 14.11.2013, 20:19   #9
nihil_
Пользователь
 
Регистрация: 01.10.2012
Сообщений: 21
По умолчанию

Извините ребята походу все правильно! Что то наверное в системе.
Продебажил до конца, где то поставило время а где то нет
Какая то мистика...
Или я что то не так делаю.
nihil_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не понимаю, почему не работает циклический сдвиг динамического массива!! ilizard314 Помощь студентам 0 04.12.2012 18:38
Почему программа на С++ не работает с локальным описанием массива, но работает с глобальным? >>STINGER<< Помощь студентам 4 08.03.2011 09:56
почему интеренет на Xp не работает, а на семерке работает Lenura Windows 18 04.10.2010 12:04
Цикл - сдвиг строки в право ArniLand Общие вопросы C/C++ 1 06.04.2010 15:58
Строки - сдвиг строки в право[C++] ArniLand Общие вопросы C/C++ 1 06.04.2010 15:47