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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.06.2008, 13:54   #61
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Каждый раз макрос запускается заново. Соответственно значение всех переменных = 0 (или пусто). Т.е. значение переменной fSum нигде не сохраняется. Об это Вам нужно позаботиться самому.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 24.06.2008, 14:05   #62
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Т.е. значение переменной fSum нигде не сохраняется. Об это Вам нужно позаботиться самому.
С таким, я еще не сталкивался, ведь в экселе, нет кнопочки М+
valerij вне форума
Старый 24.06.2008, 14:08   #63
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Если нужно, сохраняйте, например, в ячейке листа. Кстати, у Вас же наверняка есть ячейка, где эта сумма отображается...?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 24.06.2008, 14:18   #64
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
где эта сумма отображается...?
F38, делал, так вообще не отражается
With Sh.Range("F38").Offset(iCount& * 48)
fSum = fSum + .Offset(, 2)
.Value = fSum
End With
valerij вне форума
Старый 24.06.2008, 14:26   #65
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Попробуй так:
Код:
Sh.Range("F38").Offset(iCount& * 48) = Sh.Range("F38").Offset(iCount& * 48) + Range(Target.Address).Offset(, 2)
Перед выполнением этой строки, в ячейке Range(Target.Address).Offset(, 2) уже должно быть требуемое значение.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума
Старый 24.06.2008, 14:32   #66
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Попробуй так: уже должно быть требуемое значение.
ВО-о, так работает, пошел разбираться!
valerij вне форума
Старый 07.07.2008, 03:15   #67
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Как взять данные?
Нахожусь в Лист15("СБОР") и здесь, в яч. В3, нужно поместить данные с Листа1("ЛЕН") из яч. F39

Код:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
With Worksheets("ЛЕН")
'MsgBox Range("F39")  значений НЕТ??
WorksheetFunction.Sum (.Range(.Range("F39"), .Range("B3")))
End With
End Sub
valerij вне форума
Старый 07.07.2008, 05:10   #68
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

В общем виде, не зависимо от того, какой лист в данный момент активен, можно записать
Код:
Sheets("СБОР").Range("B3") = Sheets("ЛЕН").Range("F39")
Если активна другая рабочая книга, то при обращении к ячейке, необходимо также указывать и имя файла.
P.S. Если же нужно получить в результирующей ячейке сумму ее содержимого и значения другой ячейки, тогда, например, так:
Код:
Sheets("СБОР").Range("B3") = Sheets("СБОР").Range("B3") + Sheets("ЛЕН").Range("F39")
повторяю, что это в общем виде. Как правило, конструкцию можно упростить. Например, применив With...End With или опустить ссылку на лист книги, если он в данный момент является активным.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 07.07.2008 в 05:16. Причина: Добавлено
SAS888 вне форума
Старый 07.07.2008, 09:20   #69
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от SAS888 Посмотреть сообщение
В общем виде, не зависимо от того, какой лист в данный момент активен, можно записать
Код:
Sheets("СБОР").Range("B3") = Sheets("ЛЕН").Range("F39")
.
Сделал, но данные в ("СБОР").Range("B3") появляются, меняются если я дважды щелкну по этой ячейке в строке формул.
valerij вне форума
Старый 08.07.2008, 01:56   #70
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

САС, методом тыка, из других макросов, заменил строку:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
и все заработало, почему, ????

Код:
Private Sub Worksheet_Activate()
Dim iK As Integer
With Application
         .EnableEvents = False
         .ScreenUpdating = False
        For iK = 1 To 13
        With Worksheets(iK)
            Cells(iK + 2, 2) = .Cells(1479, 6).Value 
            Cells(iK + 2, 3) = .Cells(1479, 11).Value 
            Cells(iK + 2, 4) = .Cells(1479, 12).Value 
        End With
        Next
    .EnableEvents = True
    .ScreenUpdating = True
    End With
End Sub
SAS!
как, перевести это в макрос
F38 = 0 или любое число ---Первый день месяца
F87 = F86 + F38 ---Второй день месяца
F135 = F134 + F87 ---Третий день месяца
..............
F1478 = F1478 + F1431 ---31-й день месяца

Дело в том, что F87 не шаг 48, по отношению к F38, в этом у меня вся загвозка

Последний раз редактировалось valerij; 08.07.2008 в 02:22.
valerij вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MsSQL - первый раз установил майкрософт SQL vados SQL, базы данных 16 19.07.2008 20:01
Первый баг (фото) mutabor Свободное общение 1 06.05.2008 11:51
Вроде на первый взгляд всЁ просто...... Solny6ko YasnoE Помощь студентам 4 17.09.2007 08:23
а первый взгляд просто.. Аlex Win Api 7 05.04.2007 18:34
конкурс программистов ! (первый конкурс) Alar Свободное общение 129 18.03.2007 00:50