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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое обновление листа с данными - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическое обновление листа с данными (Макросы Sub)
Автоматическое обновление листа с данными
foxrm Дата: Понедельник, 23.09.2013, 20:18 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте!
Подскажите пожалуйста как можно автоматически обновить лист при поступлении новых данных
и в чем у меня возможная ошибка. Описание на скриншоте.

Скрин

Сам код, не знаю в чем ошибка. Спец. я довольно слабый пока.

[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)

Dim i As Integer, j As Integer
  'Application.Calculate
'If Not Intersect(Target, Range("C2:C21")) Is Nothing Then
         'Application.EnableEvents = False
            
           For j = 1 To Cells(2, 12).Value
           For i = 1 To 20
            
   If Cells(1 + j, 6).Value = Cells(1 + i, 2).Value Then
   If Cells(1 + i, 1).Value <> 0 Then
  Cells(1 + j, 5).Value = Cells(1 + j, 5).Value + Cells(1 + i, 1).Value
  Cells(1 + i, 1).Value = 0
  End If
  End If
  Next
  Next
        'Application.EnableEvents = True
    'End If
      
      
   ' If Not Intersect(Target, Range("A2:A21")) Is Nothing Then
    '    Application.EnableEvents = False
           For i = 1 To 20
           For j = 1 To Cells(2, 12).Value
   If Cells(1 + j, 6).Value = Cells(1 + i, 2).Value Then
   If Cells(1 + i, 3).Value <> 0 Then
  Cells(1 + j, 7).Value = Cells(1 + j, 7).Value + Cells(1 + i, 3).Value
  Cells(1 + i, 3).Value = 0
  End If
  End If
  Next
  Next
    'Application.EnableEvents = True
    'End If
End Sub
[/vba]

И сам файл.
К сообщению приложен файл: quik.xls (69.5 Kb)
 
Ответить
СообщениеЗдравствуйте!
Подскажите пожалуйста как можно автоматически обновить лист при поступлении новых данных
и в чем у меня возможная ошибка. Описание на скриншоте.

Скрин

Сам код, не знаю в чем ошибка. Спец. я довольно слабый пока.

[vba]
Код

Private Sub Worksheet_Change(ByVal Target As Range)

Dim i As Integer, j As Integer
  'Application.Calculate
'If Not Intersect(Target, Range("C2:C21")) Is Nothing Then
         'Application.EnableEvents = False
            
           For j = 1 To Cells(2, 12).Value
           For i = 1 To 20
            
   If Cells(1 + j, 6).Value = Cells(1 + i, 2).Value Then
   If Cells(1 + i, 1).Value <> 0 Then
  Cells(1 + j, 5).Value = Cells(1 + j, 5).Value + Cells(1 + i, 1).Value
  Cells(1 + i, 1).Value = 0
  End If
  End If
  Next
  Next
        'Application.EnableEvents = True
    'End If
      
      
   ' If Not Intersect(Target, Range("A2:A21")) Is Nothing Then
    '    Application.EnableEvents = False
           For i = 1 To 20
           For j = 1 To Cells(2, 12).Value
   If Cells(1 + j, 6).Value = Cells(1 + i, 2).Value Then
   If Cells(1 + i, 3).Value <> 0 Then
  Cells(1 + j, 7).Value = Cells(1 + j, 7).Value + Cells(1 + i, 3).Value
  Cells(1 + i, 3).Value = 0
  End If
  End If
  Next
  Next
    'Application.EnableEvents = True
    'End If
End Sub
[/vba]

И сам файл.

Автор - foxrm
Дата добавления - 23.09.2013 в 20:18
nilem Дата: Понедельник, 23.09.2013, 20:49 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
У Вас в столбце Страйк числа с 12-13 знаками после запятой, а в столбце Цена - с 2 знаками. Похоже, их никак не сравнить.
Страйк можно округлить до 2-х знаков?


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеУ Вас в столбце Страйк числа с 12-13 знаками после запятой, а в столбце Цена - с 2 знаками. Похоже, их никак не сравнить.
Страйк можно округлить до 2-х знаков?

Автор - nilem
Дата добавления - 23.09.2013 в 20:49
foxrm Дата: Понедельник, 23.09.2013, 21:28 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Да, конечно можно. Это одни и те же числа.
 
Ответить
СообщениеДа, конечно можно. Это одни и те же числа.

Автор - foxrm
Дата добавления - 23.09.2013 в 21:28
nilem Дата: Понедельник, 23.09.2013, 22:30 | Сообщение № 4
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
У вас данные обновляются сразу во всем диапазоне А2:С21 или по одной ячейке из этого диапазона?


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеУ вас данные обновляются сразу во всем диапазоне А2:С21 или по одной ячейке из этого диапазона?

Автор - nilem
Дата добавления - 23.09.2013 в 22:30
foxrm Дата: Понедельник, 23.09.2013, 22:49 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
По одной или иногда по нескольким ячейкам А2:A21 B2:B21 C2:C21.
Продажа Цена Покупка. Обновление идет ежесекундное из программы Quik Junior.
 
Ответить
СообщениеПо одной или иногда по нескольким ячейкам А2:A21 B2:B21 C2:C21.
Продажа Цена Покупка. Обновление идет ежесекундное из программы Quik Junior.

Автор - foxrm
Дата добавления - 23.09.2013 в 22:49
nilem Дата: Вторник, 24.09.2013, 08:45 | Сообщение № 6
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
вот так попробуйте
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A2:C21")) Is Nothing Then Exit Sub
Dim j As Long, r As Range: Application.EnableEvents = False
With Columns(6)
     For Each r In Target.Cells
         j = r.Column
         If j <> 2 Then
             With .Find(Cells(r.Row, 2), lookat:=xlWhole)(1, IIf(j = 1, 0, 2))
                 .Value = .Value + r
             End With
         End If
     Next
End With
Application.EnableEvents = True
End Sub
[/vba]
К сообщению приложен файл: _quik.xls (59.5 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениевот так попробуйте
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A2:C21")) Is Nothing Then Exit Sub
Dim j As Long, r As Range: Application.EnableEvents = False
With Columns(6)
     For Each r In Target.Cells
         j = r.Column
         If j <> 2 Then
             With .Find(Cells(r.Row, 2), lookat:=xlWhole)(1, IIf(j = 1, 0, 2))
                 .Value = .Value + r
             End With
         End If
     Next
End With
Application.EnableEvents = True
End Sub
[/vba]

Автор - nilem
Дата добавления - 24.09.2013 в 08:45
foxrm Дата: Вторник, 24.09.2013, 10:21 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Вопрос снят. Огромное, человеческое Вам спасибо nilem!
 
Ответить
СообщениеВопрос снят. Огромное, человеческое Вам спасибо nilem!

Автор - foxrm
Дата добавления - 24.09.2013 в 10:21
nilem Дата: Вторник, 24.09.2013, 11:50 | Сообщение № 8
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
На здоровье :)
на других форумах не забудьте отписаться.


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеНа здоровье :)
на других форумах не забудьте отписаться.

Автор - nilem
Дата добавления - 24.09.2013 в 11:50
foxrm Дата: Вторник, 24.09.2013, 16:29 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Рано обрадовался(

Выдается сообщение об ошибке "Run time error 91". И ошибка в строчке которую выделил синим цветом на скрине.
Вот скрин:

Ссылка
К сообщению приложен файл: 5200129.jpg (52.2 Kb)


Сообщение отредактировал foxrm - Вторник, 24.09.2013, 16:31
 
Ответить
СообщениеРано обрадовался(

Выдается сообщение об ошибке "Run time error 91". И ошибка в строчке которую выделил синим цветом на скрине.
Вот скрин:

Ссылка

Автор - foxrm
Дата добавления - 24.09.2013 в 16:29
nilem Дата: Вторник, 24.09.2013, 17:01 | Сообщение № 10
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Это поправимо :)
Только сначала надо выяснить.
Ошибка происходит, потому что в столбце Страйк нет значения из столбца Цена.
По условиям вашей работы возможно такое несоответствие между Цена и Страйк?


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеЭто поправимо :)
Только сначала надо выяснить.
Ошибка происходит, потому что в столбце Страйк нет значения из столбца Цена.
По условиям вашей работы возможно такое несоответствие между Цена и Страйк?

Автор - nilem
Дата добавления - 24.09.2013 в 17:01
KuklP Дата: Вторник, 24.09.2013, 18:45 | Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеКросс:
http://www.excel-vba.ru/forum/index.php?topic=2423.msg12510#new

Автор - KuklP
Дата добавления - 24.09.2013 в 18:45
foxrm Дата: Среда, 25.09.2013, 13:15 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
По условиям вашей работы возможно такое несоответствие между Цена и Страйк?


Нет они должны быть одинаковы.
 
Ответить
Сообщение
По условиям вашей работы возможно такое несоответствие между Цена и Страйк?


Нет они должны быть одинаковы.

Автор - foxrm
Дата добавления - 25.09.2013 в 13:15
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Автоматическое обновление листа с данными (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

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