Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Вывод результата

Автор edmar07, 03.04.2013, 13:53

« назад - далее »

edmar07

Привет!
И опять за советом-помощью !!!

как можно узнать какие результаты использовались при подсчете ?

спасибо!

файлик с примером  прилагаю

iron priest

даты только по возрастанию будут?

edmar07

Цитата: iron priest от 03.04.2013, 17:11
даты только по возрастанию будут?

массив данных ( одной датой может быть не одно значение) за сутки, на следующий день добавляются данные

но однозначно, или возрастают или убывают ))

iron priest

если даты по возрастанию

edmar07

Цитата: iron priest от 04.04.2013, 10:21
если даты по возрастанию
спасибо!!!
как вариант очень даже!!, тем более что альтернативы нет(((

cheshiki1

такой вариант в модуль листа
Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
Dim List3() As String
Dim i As Long, M As Long
If Intersect(Range("B3"), Target) Is Nothing Then Exit Sub
For i = 4 To Sheets("Лист2").Cells(Rows.Count, 3).End(xlUp).Row
If Sheets("Лист2").Range("C" & i) >= Sheets("Лист1").Range("B5").Value Then
    M = M + 1
    ReDim Preserve List3(1 To M)
    List3(M) = Sheets("Лист2").Range("C" & i).Value & ", " & Sheets("Лист2").Range("D" & i)
  End If
Next
MsgBox Join(List3, Chr(10))
End Sub

edmar07

Цитата: cheshiki1 от 05.04.2013, 11:46
такой вариант в модуль листа

Ваще бомба!!! то что нуно!!!!
спасибо!!

edmar07

Цитата: cheshiki1 от 05.04.2013, 11:46
такой вариант в модуль листа
Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
Dim List3() As String
Dim i As Long, M As Long
If Intersect(Range("B3"), Target) Is Nothing Then Exit Sub
For i = 4 To Sheets("Лист2").Cells(Rows.Count, 3).End(xlUp).Row
If Sheets("Лист2").Range("C" & i) >= Sheets("Лист1").Range("B5").Value Then
    M = M + 1
    ReDim Preserve List3(1 To M)
    List3(M) = Sheets("Лист2").Range("C" & i).Value & ", " & Sheets("Лист2").Range("D" & i)
  End If
Next
MsgBox Join(List3, Chr(10))
End Sub


Туго у меня с мат частью,

как тоже самое к нужному диапазону применить?

cheshiki1

Private Sub WorkSheet_SelectionChange(ByVal Target As Range)
Dim List3() As String
Dim i As Long, M As Long
If Intersect(Range("B3"), Target) Is Nothing Then
  If Intersect(Range("B13:E13"), Target) Is Nothing Then Exit Sub
     For i = 4 To Sheets("Лист2").Cells(Rows.Count, 3).End(xlUp).Row
       If Sheets("Лист2").Range("C" & i) >= Sheets("Лист1").Range("B5") _
          And Sheets("Лист2").Range("C" & i) <= Sheets("Лист1").Range("B6") _
          And ActiveCell.Cells(0, 1) = Sheets("Ëèñò2").Range("B" & i) Then
         M = M + 1
         ReDim Preserve List3(1 To M)
         List3(M) = Sheets("Лист2").Range("C" & i).Value & ", " & Sheets("Лист2").Range("D" & i)
       End If
      Next
  Else
For i = 4 To Sheets("Ëèñò2").Cells(Rows.Count, 3).End(xlUp).Row
If Sheets("Лист2").Range("C" & i) >= Sheets("Лист1").Range("B5").Value Then
    M = M + 1
    ReDim Preserve List3(1 To M)
    List3(M) = Sheets("Лист2").Range("C" & i).Value & ", " & Sheets("Лист2").Range("D" & i)
  End If
Next
End If
MsgBox Join(List3, Chr(10))
End Sub

edmar07

Цитата: cheshiki1 от 05.04.2013, 17:13
Private Sub WorkSheet_SelectionChange(ByVal Target As Range)


выдает синтаксическую ошибку ((
и красным строк 5 выделяет!

cheshiki1

#10
Ëèñò (абрукадабру) на Лист исправьте.

edmar07

Цитата: cheshiki1 от 05.04.2013, 17:43
Ëèñò (абрукадабру) на Лист исправьте.

Спасибо!!! все так ка нужно!!!

и когда я поумнею ... !?!?!?